Konversi JAR menjadi AAR
Kemas Java library ke dalam Android archive dan periksa dependensi serta kompatibilitasnya.
Konversi file JAR secara online
Kami belum punya konverter online khusus untuk JAR ke AAR, tetapi Anda bisa mengonversi file JAR secara online ke format berikut:
Bagaimana mengkonversi jar ke aar berkas
- Pemrograman
- Belum ada peringkat.
Sebuah proyek Android mungkin memerlukan AAR ketika library yang disediakan didistribusikan sebagai JAR tetapi juga memerlukan Android resources, manifest entries, atau library metadata. Konversi ini mengemas JVM classes yang sudah ada ke dalam container Android library; proses ini tidak secara otomatis mengubah desktop Java code menjadi code yang kompatibel dengan Android.
Apa itu format JAR
JAR (Java ARchive) adalah package berbasis ZIP yang berisi file JVM .class, resources, metadata, dan secara opsional sebuah manifest yang mengidentifikasi executable main class. Java dan Kotlin libraries, desktop applications, Maven, Gradle, IntelliJ IDEA, dan Android Studio umumnya menggunakan file JAR.
JAR dapat digunakan secara langsung oleh proyek Android ketika bytecode dan dependencies-nya kompatibel dengan Android. JAR tidak secara inheren menyediakan Android resources, Android library manifest, consumer R8 rules, native libraries, atau Android-specific packaging metadata.
Apa itu format AAR
AAR (Android ARchive) adalah library archive format milik Android Gradle Plugin. AAR juga merupakan file ZIP yang biasanya berisi classes.jar dan AndroidManifest.xml, dengan res/, assets/, jni/, prefab/, lint.jar, proguard.txt, dan resource-symbol files sebagai komponen opsional.
AAR dapat menyediakan Android resources, manifest declarations, native libraries, consumer shrinker rules, dan compiled library code sebagai satu Android library artifact. Gradle menggabungkan komponen-komponen tersebut ke dalam aplikasi. Archive ini tidak secara otomatis berisi external Maven dependencies; dependencies tersebut biasanya dideklarasikan dalam publication metadata atau disediakan secara terpisah.
Cara mengemas JAR sebagai AAR
Periksa JAR terlebih dahulu
Daftarkan isinya dengan JDK tool sebelum mengemasnya:
jar tf vendor.jar
Pastikan isinya adalah library classes, bukan desktop application, dan periksa Java bytecode level-nya. Android's D8 compiler dapat memproses supported Java bytecode, tetapi classes yang memanggil desktop-only APIs seperti AWT, Swing, atau unavailable JDK modules tidak akan menjadi usable di Android hanya melalui proses packaging.
Wrapper minimal untuk pure Java library
Untuk JAR yang tidak memerlukan Android source code, resources, atau additional manifest declarations, buat direktori AAR yang berisi JAR dengan required name classes.jar dan sebuah manifest:
mkdir aar-temp
cp vendor.jar aar-temp/classes.jar
printf '%s\n' '<manifest xmlns:android="http://schemas.android.com/apk/res/android" />' > aar-temp/AndroidManifest.xml
(cd aar-temp && zip -r ../vendor.aar classes.jar AndroidManifest.xml)
Di Windows, JDK jar atau 7-Zip dapat membuat ZIP archive: tambahkan classes.jar dan AndroidManifest.xml di archive root, lalu simpan sebagai vendor.aar. Jangan menempatkannya di dalam direktori tambahan.
Ini adalah packaging operation, bukan compilation atau dependency conversion. Jika JAR juga memerlukan Android resources, tambahkan resources tersebut di AAR root di bawah res/; tambahkan application assets di bawah assets/ dan required declarations ke AndroidManifest.xml.
Gunakan Android library module untuk Android additions
- Di Android Studio, pilih File → New → New Module → Android Library, lalu pilih minimum SDK yang sesuai.
- Tempatkan Android source, resources, assets, dan manifest declarations di direktori
src/mainmilik module. - Tambahkan JAR asli sebagai compile-time dependency jika code module memanggilnya:
dependencies {
implementation files('libs/vendor.jar')
}
Untuk Kotlin DSL, gunakan implementation(files("libs/vendor.jar")). Build module dengan ./gradlew :mylibrary:assembleRelease akan membuat AAR di path seperti mylibrary/build/outputs/aar/mylibrary-release.aar.
Standard Android library build umumnya tidak menyematkan local JAR dependency ke dalam AAR yang dihasilkan. Dependency tersebut tetap terpisah, sehingga consumer mungkin memerlukan JAR asli. Untuk mendistribusikan satu archive, gunakan minimal wrapper ketika tidak diperlukan additional compiled Android code, gabungkan JAR ke dalam classes.jar dengan custom packaging task, atau gunakan maintained fat-AAR Gradle plugin setelah memverifikasi kompatibilitasnya dengan versi Android Gradle Plugin proyek. Solusi fat-AAR dapat menyebabkan duplicate classes dan dependency conflicts.
Compatibility dan quality checks
Mengganti nama vendor.jar menjadi vendor.aar tidak valid karena AAR mengharapkan compiled library berada di dalam classes.jar serta sebuah Android manifest. Periksa archive dengan unzip -l vendor.aar atau 7-Zip.
Sesuaikan library's bytecode level dengan Java dan Kotlin compatibility settings milik Android build. Periksa transitive dependencies, required manifest permissions atau components, native libraries, resource references, dan consumer R8 rules; manual wrapper tidak dapat menghasilkan informasi yang hilang.
Uji AAR dalam Android application terpisah menggunakan Android Gradle Plugin, compile SDK, dan minimum SDK versions yang kompatibel. Jika library hanya berisi Android-compatible Java classes dan tidak memiliki Android-specific content, mendistribusikan JAR asli mungkin lebih sederhana daripada membuat AAR.
Online dan desktop tools
Tidak ada general-purpose online JAR-to-AAR converter yang dapat diandalkan karena hasil yang benar bergantung pada Android resources, manifest declarations, dependencies, dan bytecode compatibility. Hindari mengunggah proprietary libraries ke web archive services. Gunakan Android Studio dengan Android Gradle Plugin untuk module builds, serta JDK jar command atau 7-Zip untuk transparent local archive packaging.
Sederhananya, tidak mungkin mengonversi JAR ke AAR secara langsung.
Jadi, tidak ada yang disebut pengonversi jar ke aar atau pengonversi online gratis. jar ke .aar converter dapat ditemukan.
JAR vs AAR: perbandingan format
Bagaimana format JAR dan AAR dibandingkan pada properti yang paling penting untuk konversi ini.
| Properti | .JAR Java Archive | .AAR Android Archive |
|---|---|---|
| Standar terbuka | Ya | Sebagian terbuka |
| Kompresi | Keduanya | Lossless |
| Ukuran file umum | Sedang | Kecil |
| Terbuka di browser web | Tidak | Tidak |
| Pengeditan lanjutan | Terbatas | Terbatas |
| Dukungan metadata | Dasar | Dasar |
| Dapat dibaca teks biasa | Tidak | Tidak |
| Paling cocok untuk | Penyematan dalam aplikasi | Penyematan dalam aplikasi |
| Diperkenalkan | 1996 | 2008 |
| Pengembang | Oracle (originally Sun Microsystems) | |
| Tipe MIME | application/java-archive | application/java-archive |
Informasi tentang ekstensi dan jenis file disediakan oleh File-Extensions.org