Das eigenständige Jetifier-Tool migriert von der Supportbibliothek abhängige Bibliotheken und nutzt stattdessen die entsprechenden AndroidX-Pakete. Mit dem Tool können Sie eine einzelne Bibliothek direkt migrieren, anstatt das in Android Studio enthaltene Android-Gradle-Plug-in zu verwenden.
Jetifier installieren
Laden Sie die ZIP-Datei herunter und entpacken Sie sie, um Jetifier zu installieren. Auf Ihrem Gerät muss die Java-Version 1.8 oder höher installiert sein.
Nutzung
Übergeben Sie den Pfad zur aktuellen Bibliothek und den Pfad zur Ausgabedatei, die das Tool erstellen soll, um eine Bibliothek zu verarbeiten. Jetifier unterstützt JAR-, AAR- und ZIP-Dateien, einschließlich verschachtelter Archive.
./jetifier-standalone -i <source-library> -o <output-library>
Optionen
In der folgenden Tabelle sind die verfügbaren Optionen für die Befehle des Jetifier-Tools aufgeführt:
Option | Erforderlich? | Beschreibung |
---|---|---|
-i , <path>. --input |
Ja | Pfad zur Eingabebibliothek (JAR, AAR oder ZIP). |
-o , <path>. --output
|
Ja | Pfad zur Ausgabedatei. Wenn die Datei bereits vorhanden ist, wird sie von Jetifier überschrieben. |
-c , <path>. --config |
nein | Pfad zur optionalen benutzerdefinierten Konfigurationsdatei. |
-l , <level>. --log
|
nein | Protokollierungsebene. Zulässige Werte sind:
|
-r |
nein | Im umgekehrten Modus („Dejetification“) durchführen. |
-rebuildTopOfTree ,--rebuildTopOfTree |
nein | Erstellen Sie die ZIP-Datei der Maven-Distribution gemäß der generierten POM-Datei neu. Wenn festgelegt, wird angenommen, dass alle umgeschriebenen Bibliotheken Teil der Support Library sind. Für die Jetifizierung nicht erforderlich. |
-s , --strict
|
nein | Kein Fallback, wenn Regeln fehlen, sondern geben Fehler aus. |
-stripSignatures ,--stripSignatures
|
nein | Geben Sie beim Jetifizieren einer signierten Bibliothek keinen Fehler aus. Entfernen Sie stattdessen die Signaturdateien. |
-t , <arg>. -timestamp
|
nein | Zeitstempelrichtlinie, die für die archivierten Einträge als Änderungszeit verwendet werden soll. Werte: keepPrevious (Standard) oder now. |
Beispiel
Im folgenden Beispiel wird das Dienstprogramm in der Bibliothek libraryToProcess.aar
im aktuellen Verzeichnis ausgeführt und die Ausgabe in result.aar
im selben Verzeichnis geschrieben:
./jetifier-standalone -i libraryToProcess.aar -o result.aar
Verwendungshinweise
Jetifier migriert Java-, XML-, POM- und ProGuard-Referenzen, die auf android.support.*
-Pakete verweisen, und ändert sie so, dass sie auf die entsprechenden androidx.*
-Pakete verweisen.
Da ProGuard-Platzhalter für android.support.*
nicht immer direkt androidx.*
-Paketen zugeordnet sind, erstellt Jetifier alle zulässigen Substitutionen.
Wenn ein android.support.*
-Paket einen Typ enthält, der nicht aus einem Supportbibliotheksartefakt stammt, migriert Jetifier den Typ trotzdem, solange eine Zuordnung dafür vorhanden ist. Wir können jedoch nicht garantieren, dass diese Migration funktioniert, da es unter Umständen nicht allgemein genug Zuordnungsregeln gibt, um alle benutzerdefinierten Typen abzudecken.
Erweiterte Nutzung
Das Dienstprogramm Jetifier unterstützt einige erweiterte Anwendungsfälle.
Umkehrmodus
Wird das Flag -r
übergeben, wird das Dienstprogramm im Umkehrmodus ausgeführt. In diesem Modus konvertiert das Dienstprogramm AndroidX APIs in die Support Library-Entsprechungen. Der umgekehrte Modus ist nützlich, wenn Sie Bibliotheken entwickeln, die AndroidX APIs verwenden, aber auch Versionen verteilen müssen, die die Supportbibliothek verwenden.
Beispiel
Im folgenden Beispiel wird das Dienstprogramm im umgekehrten Modus für die Bibliothek myAndroidXLib.aar
im aktuellen Verzeichnis ausgeführt und die Ausgabe in supportLibVersion.aar
im selben Verzeichnis geschrieben:
./jetifier-standalone -r -i myAndroidXLib.aar -o supportLibVersion.aar
Benutzerdefinierte Konfigurationsdatei
Das Jetifier-Tool verwendet eine Konfigurationsdatei, um Support Library-Klassen ihren AndroidX-Äquivalenten zuzuordnen. Bei Bedarf können Sie eine benutzerdefinierte Konfigurationsdatei erstellen, die diese Zuordnung ändert. Sie können der Zuordnung sogar neue Klassen hinzufügen, die nicht wirklich Mitglieder der Support Library sind. Beispielsweise können Sie die Zuordnung so ändern, dass eine Ihrer eigenen Klassen durch eine Nachfolgeklasse ersetzt wird, die für AndroidX geschrieben wurde.
So verwenden Sie eine benutzerdefinierte Konfigurationsdatei:
- Extrahieren Sie die Datei
default.generated.config
aus der Dateijetifier-core-*.jar
des Dienstprogramms und speichern Sie sie. - Nehmen Sie die erforderlichen Änderungen an der Kopie der Konfigurationsdatei vor.
- Übergeben Sie Ihre Datei mit dem Flag
-c
an das Dienstprogramm.
Beispiele:
./jetifier-standalone -i libraryToProcess.aar -o result.aar -c myCustomMapping.config