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:
|
-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:
- Ekstrak file
default.generated.config
dari filejetifier-core-*.jar
utilitas, lalu simpan. - Lakukan pengeditan yang diperlukan pada salinan file konfigurasi Anda.
- Teruskan file Anda ke utilitas dengan flag
-c
.
Contoh:
./jetifier-standalone -i libraryToProcess.aar -o result.aar -c myCustomMapping.config