Jetifier

Alat Jetifier mandiri memigrasikan library yang bergantung pada support library agar bergantung pada paket AndroidX yang setara. Alat ini memungkinkan Anda memigrasikan setiap library secara langsung, bukan menggunakan plugin Android Gradle yang disertakan pada Android Studio.

Menginstal Jetifier

Untuk menginstal Jetifier, download file ZIP-nya dan ekstrak file tersebut. Perangkat Anda harus menginstal Java versi 1.8 atau yang lebih baru.

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

Tabel berikut mencantumkan opsi yang tersedia untuk perintah alat Jetifier:

Opsi Diperlukan? Deskripsi
-i, --input <path> ya Jalur ke library input (JAR, AAR, atau ZIP).
-o, <path> --output ya Lokasi ke file output. Jika file sudah ada, Jetifier akan menimpanya.
-c, <path> --config tidak Jalur ke file konfigurasi khusus opsional.
-l, <level> --log tidak Level logging. Nilai yang diperbolehkan adalah:
  • error
  • peringatan
  • info
  • panjang
Jika tidak ditentukan, defaultnya adalah "peringatan".
-r tidak Beroperasi dalam mode terbalik ("de-jetification").
-rebuildTopOfTree,
--rebuildTopOfTree
tidak Build ulang ZIP distribusi Maven sesuai dengan file POM yang dihasilkan.
Jika disetel, semua library yang ditulis ulang dianggap sebagai bagian dari Support Library. Tidak perlu jetification.
-s, --strict tidak Jangan melakukan penggantian saat tidak ada aturan. Sebagai gantinya, tampilkan error.
-stripSignatures,
--stripSignatures
tidak Jangan menampilkan error saat melakukan jetification library yang ditandatangani. Sebagai gantinya, hapus file tanda tangan.
-t, -timestamp <arg> tidak Kebijakan stempel waktu yang akan digunakan untuk entri yang diarsipkan sebagai waktu modifikasinya. Nilai: epoch keepPrevious (default) atau sekarang.

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 ini mengonversi AndroidX API menjadi yang Support Library yang setara. Mode terbalik berguna jika Anda sedang mengembangkan library yang menggunakan AndroidX API 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

Alat 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 bukanlah anggota Support Library. Misalnya, Anda dapat mengubah pemetaan untuk mengganti salah satu class Anda sendiri dengan class penerus yang ditulis untuk menggunakan AndroidX.

Untuk menggunakan file konfigurasi kustom:

  1. Ekstrak file default.generated.config dari file jetifier-core-*.jar utilitas, lalu simpan.
  2. Lakukan pengeditan yang diperlukan pada salinan file konfigurasi Anda.
  3. Teruskan file Anda ke utilitas dengan flag -c.

Contoh:

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