jetifier

Fitur Jetifier mandiri memigrasikan library yang bergantung pada support library agar mengandalkan 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 lokasi ke library saat ini dan lokasi ke file output yang harus dibuat oleh fitur 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 <lokasi> ya Lokasi ke library input (JAR, AAR, atau ZIP)
-o, --output <lokasi> ya Lokasi ke file output. Jika file sudah ada, jetifier akan menimpanya.
-c, --config <lokasi> tidak Lokasi 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 ini 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.*, mengubahnya agar mengarah ke paket androidx.* yang sesuai.

Karena karakter pengganti ProGuard untuk android.support.* tidak selalu mengarah 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 apa pun, 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 khusus.

Penggunaan lanjutan

Utilitas Jetifier mendukung beberapa kasus penggunaan lanjutan.

Mode terbalik

Jika Anda memberikan penanda -r, utilitas akan berjalan dalam mode terbalik. Dalam mode ini, utilitas akan mengonversi API AndroidX 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 ini 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 khusus

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 dan simpan file. Lakukan pengeditan yang diperlukan pada salinan file konfigurasi, dan berikan file ke utilitas dengan penanda -c. Contoh:

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