Saya tahu proyek Perpustakaan Android, yang memungkinkan Anda membuat proyek sumber bersama yang dapat ditarik ke Aplikasi Android sesuai kebutuhan. Namun, itu membutuhkan sumber yang tersedia.
Saya mencari cara untuk membangun dan mendistribusikan perpustakaan sumber tertutup yang dapat digunakan dalam proyek Android lainnya seperti JAR tradisional. Ini akan membutuhkan penggunaan kompiler Android, jadi itu bukan file JAR vanilla-Java. FWIW, saya tidak perlu menanamkan sumber daya / layout di JAR.
Saya telah melihat http://andparcel.com/ tetapi rasanya seperti solusi, dan saya lebih suka menggunakan sesuatu yang 'didukung secara resmi' oleh Google. Selain itu, saya perlu memastikan bahwa JAR yang saya buat kompatibel dengan versi Android SDK lama / baru (yaitu saya perlu cara untuk mengatur versi platform target, dll).
Apakah perangkat Android terbaru memungkinkan pembuatan / konsumsi binari JAR? Bisakah Anda menunjukkan beberapa dokumentasi tentang bagaimana saya bisa melakukannya?
Jawaban:
Jika Anda membuat proyek Perpustakaan Android tanpa sumber daya apa pun, ADT (pertama kali diperhatikan di r16) akan membuat .jar dengan nama yang sama dengan proyek di folder 'bin'.
sumber
myapp.jar
di/bin
folder. Adaclasses.jar
, tapi bukan itu, kan?Android tidak menyediakan jenis Android-JAR khusus. Tapi yang bisa Anda lakukan adalah menambahkan build.xml ke proyek Anda dan membangun JAR dengan semut.
Build.xml saya terlihat seperti ini:
Bangun JAR dengan menjalankannya
ant jar
di folder utama proyek Anda.sumber
bin/classes
, jadi<jar destfile="MyAndroidLib.jar" basedir="bin/">
seharusnya<jar destfile="MyAndroidLib.jar" basedir="bin/classes/">
Anda dapat membuat proyek Java "biasa" dan mengimpor dari sana Android.jar. Kemudian, Anda akan memiliki akses ke setiap komponen di SDK. Kemudian, Anda dapat mengekspor proyek Anda sebagai toples ... dan memuatnya dari aplikasi Android Anda. Ini bekerja dengan baik dan tampaknya cara mudah untuk melakukannya.
sumber
cukup buka properti proyek yang ingin Anda buat jar. Klik pada tab Android. dan centang di perpustakaan Is. sekarang Anda dapat melihat file .jar di folder bin. gunakan di tempat yang ingin Anda gunakan.
sumber
Satu-satunya solusi 'yang didukung secara resmi' oleh Google adalah proyek Library, dan membutuhkan kode sumber untuk didistribusikan. Anda bisa membuat JAR dengan cara biasa, tetapi Anda tidak bisa memasukkan atau referensi sumber daya di dalamnya.
Sayangnya saya pikir itu juga tidak mungkin untuk memasukkan JAR yang dikemas dalam proyek Perpustakaan, sebagai cara untuk berkeliling di sekitar persyaratan kode sumber.
sumber
Dalam versi terbaru Android Studio 1.2, pembuatan perpustakaan JAR telah dibuat sesederhana titik dan klik.
Langkah-langkah untuk diikuti:
Langkah selanjutnya adalah menambahkan Perpustakaan Jar Anda sebagai ketergantungan di aplikasi Anda. Sesederhana itu saja
.... Atau Anda bisa menambahkan baris di bawah ini ke file App gradle Anda
Google mempromosikan Android Archive (AAR), meskipun JAR yang didukung dibawa kembali ke studio android. Untuk mengetahui perbedaan antara AAR dan JAR, rujuk tautan ini
sumber
Coba ini: Ini berhasil
1) menjadikan proyek perpustakaan Anda proyek normal dengan membatalkan pilihan bendera IsLibrary.
2) Jalankan proyek Anda sebagai Aplikasi Android. (Ini tidak akan menampilkan kesalahan)
3) Anda akan menemukan file .jar di folder bin bersama dengan .apk.
4) Beri Anda .jar yang ingin menggunakan perpustakaan Anda.
5) Katakan kepada mereka untuk hanya mengimpor jar eksternal ke jalur build.
ini akan bekerja dengan baik dengan semua sumber daya. semoga berhasil.
sumber
ADT membuat folder bin yang berisi semua file kelas untuk semua file sumber yang cocok dan direktori dalam proyek Anda, Anda bisa menggunakan perintah jar, membuat arsip jar yang berisi file kelas ini dan direktori dan mungkin perpustakaan Anda, tetapi tentu saja perpustakaan Anda, file platform level platform hanya akan ditargetkan untuk level proyek saat ini - Anda akan memerlukan file jar yang berbeda untuk setiap level platform; Namun hal yang hebat tentang ini adalah bahwa file R.class termasuk dalam pohon direktori proyek dan karenanya Anda memiliki akses ke sumber dayanya. Saya tidak tahu apakah ini cara resmi untuk melakukan hal-hal di android, tetapi itu berhasil bagi saya.
sumber
Dalam proyek kami, kami membuat apk (menggunakan apkbuilder) yang diinstal di / system / framework dan menambahkan apk ini di classpath default. Untuk kompilasi aplikasi menggunakan jar, kami membuat file jar (menggunakan jar c).
Catatan: Kami tidak memiliki sumber daya di perpustakaan.
sumber
.jar hanyalah file .zip yang berisi file .class (Anda dapat mencoba mengubah ekstensi file .jar apa pun menjadi .zip lalu lihat hasilnya). Mudah, Anda dapat membuat perpustakaan .jar apa pun untuk tujuan apa pun dengan zip file .class.
sumber
Langkah :
1) Buka file project.properties
2) Tambahkan nilai
android.library=true
3) Simpan file
4) Dari menu eclipse untuk proyek, pilih build secara otomatis kemudian pilih clean
Hasil: Jar baru dibuat di bawah nampan .
sumber