jetifier

Alat Jetifier mandiri memigrasikan library yang bergantung pada support library untuk menggunakan paket AndroidX yang setara sebagai gantinya. Fitur ini memungkinkan Anda memigrasikan library individual secara langsung, bukan menggunakan plugin gradle Android yang dibundel dengan Android Studio.

Menginstal jetifier

Untuk menginstal Jetifier, download file zip-nya dan ekstrak file tersebut. Perangkat Anda harus memiliki Java versi 1.8 yang terinstal.

Penggunaan

Untuk memproses library, berikan jalur ke library saat ini dan jalur ke file output yang harus dibuat oleh alat tersebut. Jetifier mendukung file JAR, AAR, dan ZIP, termasuk arsip bertingkat.

./jetifier-standalone -i <source-library> -o <output-library>

Opsi

Opsi Diperlukan? Deskripsi
-i, --input <path> ya Jalur ke library input (JAR, AAR, atau ZIP)
-o, --output <path> ya Lokasi ke file output. Jika file sudah ada, jetifier akan menimpanya.
-c, --konfigurasi <path> tidak Jalur ke file konfigurasi khusus opsional.
-l, --log <level> tidak Level logging. Nilai yang diperbolehkan adalah:
  • error
  • peringatan
  • info
  • panjang
Jika tidak ditentukan, defaultnya adalah "peringatan".
-r tidak Beroperasi dalam mode terbalik ("de-jetifikasi").

Contoh

Contoh berikut menjalankan utilitas tersebut pada library libraryToProcess.aar (dalam direktori saat ini) dan menulis output ke result.aar dalam direktori yang sama:

./jetifier-standalone -i libraryToProcess.aar -o result.aar

Catatan Penggunaan

Jetifier memigrasikan referensi Java, XML, POM, dan ProGuard yang mengarah ke paket android.support.*, dan mengubahnya agar mengarah ke paket androidx.* yang sesuai.

Karena karakter pengganti ProGuard untuk android.support.* tidak selalu dipetakan langsung ke paket androidx.*, Jetifier akan menghasilkan semua substitusi yang memenuhi syarat.

Jika ada jenis dalam paket android.support.* yang tidak berasal dari artefak support library, Jetifier tetap akan memigrasikan jenis tersebut selama pemetaan untuk jenis tersebut tersedia. Namun, migrasi ini tidak dijamin akan berhasil karena mungkin tidak ada aturan pemetaan yang cukup umum untuk mencakup semua jenis kustom.

Penggunaan lanjutan

Utilitas Jetifier mendukung beberapa kasus penggunaan lanjutan.

Mode terbalik

Jika Anda meneruskan flag -r, utilitas akan berjalan dalam mode terbalik. Dalam mode ini, utilitas akan mengonversi AndroidX API menjadi yang setara dengan support library, bukan sebaliknya. Mode terbalik berguna misalnya jika Anda sedang mengembangkan library yang menggunakan API AndroidX tetapi juga perlu mendistribusikan versi yang menggunakan support library.

Contoh

Contoh berikut menjalankan utilitas dalam mode terbalik pada library myAndroidXLib.aar (dalam direktori saat ini) dan menulis output ke supportLibVersion.aar dalam direktori yang sama:

./jetifier-standalone -r -i myAndroidXLib.aar -o supportLibVersion.aar

File konfigurasi kustom

Fitur Jetifier menggunakan file konfigurasi untuk memetakan class support library ke AndroidX yang setara. Jika perlu, Anda dapat membuat file konfigurasi khusus yang mengubah pemetaan ini. Anda bahkan dapat menambahkan class baru ke pemetaan yang sebenarnya bukan merupakan anggota support library; misalnya, Anda dapat mengubah pemetaan untuk menggantikan salah satu class milik sendiri dengan class penerus yang ditulis agar menggunakan AndroidX.

Untuk menggunakan file konfigurasi khusus, ekstrak file default.generated.config terlebih dahulu dari file jetifier-core-*.jar utilitas, lalu simpan file tersebut. Lakukan pengeditan yang diperlukan pada salinan file konfigurasi, lalu teruskan file ke utilitas dengan flag -c. Contoh:

./jetifier-standalone -i libraryToProcess.aar -o result.aar -c myCustomMapping.config