L'outil autonome Jetifier migre les bibliothèques dépendantes de la bibliothèque Support vers les packages AndroidX équivalents. Il vous permet de migrer directement une bibliothèque individuelle au lieu d'utiliser le plug-in Android Gradle fourni avec Android Studio.
Installer Jetifier
Pour installer Jetifier, téléchargez le fichier ZIP et extrayez-le. Votre appareil doit être équipé de Java 1.8 ou version ultérieure.
Utilisation
Pour traiter une bibliothèque, transmettez le chemin d'accès à la bibliothèque actuelle et le chemin d'accès au fichier de sortie que l'outil doit créer. Jetifier est compatible avec les fichiers JAR, AAR et ZIP, y compris les archives imbriquées.
./jetifier-standalone -i <source-library> -o <output-library>
Options
Le tableau suivant indique les options disponibles pour les commandes de l'outil Jetifier :
Option | Obligatoire ? | Description |
---|---|---|
-i <path> --input |
oui | Chemin d'accès à la bibliothèque d'entrée (JAR, AAR ou ZIP). |
-o <path> --output
|
oui | Chemin d'accès au fichier de sortie. Si le fichier existe déjà, Jetifier l'écrase. |
-c <path> --config |
non | Chemin d'accès au fichier de configuration personnalisé facultatif. |
-l <level> --log
|
non | Niveau de journalisation. Valeurs autorisées :
|
-r |
non | Fonctionnement en mode inverse ("déjetification"). |
-rebuildTopOfTree ,--rebuildTopOfTree |
non | Recréez le fichier ZIP de la distribution Maven en fonction du fichier POM généré. Si cette valeur est définie, toutes les bibliothèques réécrites sont considérées comme faisant partie de la bibliothèque Support. Cela n'est pas nécessaire pour la jetification. |
-s , --strict
|
non | Ne faites pas appel à des solutions de secours lorsque des règles sont manquantes. Générez des erreurs à la place. |
-stripSignatures ,--stripSignatures
|
non | N'envoyez pas d'erreur lors de la jetification d'une bibliothèque signée. Supprimez les fichiers de signature à la place. |
-t <arg> -timestamp
|
non | Règle d'horodatage à utiliser pour les entrées archivées en tant que date de modification. Valeurs : epoch "keepprevious" (par défaut) ou "now" (maintenant). |
Exemple
L'exemple suivant exécute l'utilitaire sur la bibliothèque libraryToProcess.aar
dans le répertoire actuel et écrit la sortie dans result.aar
dans le même répertoire :
./jetifier-standalone -i libraryToProcess.aar -o result.aar
Remarques sur l'utilisation
Jetifier migre les références Java, XML, POM et ProGuard qui pointent vers des packages android.support.*
, en les modifiant pour qu'elles pointent vers les packages androidx.*
correspondants.
Étant donné que les caractères génériques ProGuard pour android.support.*
ne sont pas toujours mappés directement avec les packages androidx.*
, Jetifier génère toutes les substitutions éligibles.
Si un type de package android.support.*
ne provient d'aucun artefact de la bibliothèque Support, Jetifier le migre quand même tant qu'il existe un mappage. Cependant, il se peut que cette migration ne fonctionne pas, car les règles de mappage peuvent ne pas être suffisamment générales pour couvrir tous les types personnalisés.
Utilisation avancée
L'utilitaire Jetifier prend en charge certains cas d'utilisation avancés.
Mode inverse
Si vous transmettez l'option -r
, l'utilitaire s'exécute en mode inverse. Dans ce mode, l'utilitaire convertit les API AndroidX en équivalents dans la bibliothèque Support. Le mode inverse est particulièrement utile si vous développez des bibliothèques qui utilisent les API AndroidX, mais que vous devez également distribuer des versions qui utilisent la bibliothèque Support.
Exemple
L'exemple suivant exécute l'utilitaire en mode inverse sur la bibliothèque myAndroidXLib.aar
dans le répertoire actuel et écrit la sortie dans supportLibVersion.aar
dans le même répertoire :
./jetifier-standalone -r -i myAndroidXLib.aar -o supportLibVersion.aar
Fichier de configuration personnalisé
Jetifier utilise un fichier de configuration pour mapper les classes de la bibliothèque Support avec leurs équivalents AndroidX. Si nécessaire, vous pouvez créer un fichier de configuration personnalisé qui modifie ce mappage. Vous pouvez même ajouter de nouvelles classes qui ne font pas réellement partie de la bibliothèque Support. Par exemple, vous pouvez modifier le mappage pour remplacer l'une de vos propres classes par une classe successeur écrite pour utiliser AndroidX.
Pour utiliser un fichier de configuration personnalisé, procédez comme suit :
- Extrayez le fichier
default.generated.config
du fichierjetifier-core-*.jar
de l'utilitaire, puis enregistrez-le. - Apportez toutes les modifications nécessaires à la copie du fichier de configuration.
- Transmettez votre fichier à l'utilitaire avec l'indicateur
-c
.
Exemple :
./jetifier-standalone -i libraryToProcess.aar -o result.aar -c myCustomMapping.config