A ferramenta autônoma Jetifier migra bibliotecas que dependem da Biblioteca de Suporte para os pacotes AndroidX equivalentes. A ferramenta permite que você migre uma biblioteca individual diretamente, sem precisar usar o Plug-in do Android para Gradle do pacote do Android Studio.
Instalar o Jetifier
Para instalar o Jetifier, faça o download do arquivo ZIP e o extraia. Seu dispositivo precisa ter o Java versão 1.8 ou mais recente instalado.
Uso
Para processar uma biblioteca, transmita o caminho para a biblioteca atual e para o arquivo de saída que a ferramenta precisa criar. O Jetifier é compatível com arquivos JAR, AAR e ZIP, incluindo arquivos aninhados.
./jetifier-standalone -i <source-library> -o <output-library>
Opções
A tabela abaixo lista as opções disponíveis para os comandos da ferramenta Jetifier:
Opção | Obrigatório? | Descrição |
---|---|---|
-i , <path> de --input |
sim | Caminho para a biblioteca de entrada (JAR, AAR ou ZIP). |
-o , <path> de --output
|
sim | Caminho para o arquivo de saída. Se o arquivo já existe, o Jetifier o substitui. |
-c , <path> de --config |
não | Caminho para o arquivo de configuração personalizada opcional. |
-l , <level> de --log
|
não | Nível de registro. Os valores permitidos são:
|
-r |
não | Operação no modo reverso ("desjetificação"). |
-rebuildTopOfTree ,--rebuildTopOfTree |
não | Recria o ZIP de distribuição do Maven de acordo com o
arquivo POM gerado. Se definido, todas as bibliotecas reescritas vão ser consideradas parte da Biblioteca de Suporte. Não é necessário para usar o Jetifier. |
-s , --strict
|
não | Não use substitutos quando as regras estiverem ausentes. Gere erros. |
-stripSignatures ,--stripSignatures
|
não | Não gere um erro ao melhorar uma biblioteca assinada. Remova os arquivos de assinatura. |
-t , <arg> de -timestamp
|
não | Política de carimbos de data/hora a ser usada para as entradas arquivadas como horário modificado. Valores: "keepPrevious" (padrão) "epoch" (época) ou "now" (agora). |
Example
O exemplo abaixo executa o utilitário na biblioteca libraryToProcess.aar
no
diretório atual e grava a saída em result.aar
no mesmo
diretório.
./jetifier-standalone -i libraryToProcess.aar -o result.aar
Notas de uso
O Jetifier migra referências de Java, XML, POM e ProGuard que apontam para
pacotes android.support.*
e os mudam para que apontem para os pacotes
androidx.*
correspondentes.
Como os caracteres curingas do ProGuard para android.support.*
nem sempre são mapeados diretamente para
os pacotes androidx.*
, o Jetifier produz todas as substituições qualificadas.
Mesmo que haja um tipo em um pacote android.support.*
que não venha de nenhum
artefato de Biblioteca de Suporte, o Jetifier migra esse tipo, desde que haja um
mapeamento para ele. No entanto, não é garantido que essa migração funcione porque pode
não haver regras de mapeamento genéricas o suficiente para cobrir todos os tipos personalizados.
Uso avançado
O utilitário Jetifier é compatível com alguns casos de uso avançados.
Modo reverso
Se você transmitir a sinalização -r
, o utilitário será executado em modo reverso. Nesse modo, o
utilitário converte as APIs do AndroidX nos equivalentes da Biblioteca de Suporte. O modo reverso
é útil se você está desenvolvendo
bibliotecas que usam APIs do AndroidX, mas também precisa distribuir versões que usem
a Biblioteca de Suporte.
Example
O exemplo abaixo executa o utilitário em modo reverso na biblioteca
myAndroidXLib.aar
no diretório atual e grava a saída em
supportLibVersion.aar
no mesmo diretório.
./jetifier-standalone -r -i myAndroidXLib.aar -o supportLibVersion.aar
Arquivo de configuração personalizado
A ferramenta Jetifier usa um arquivo de configuração para mapear as classes da Biblioteca de Suporte para as equivalentes do AndroidX. Se necessário, você pode criar um arquivo de configuração personalizado que altere esse mapeamento. É possível até mesmo adicionar novas classes ao mapeamento que não são membros da Biblioteca de Suporte. Por exemplo, você pode modificar o mapeamento para substituir uma das suas próprias classes por uma classe sucessora criada para usar o AndroidX.
Para usar um arquivo de configuração personalizado:
- Extraia o arquivo
default.generated.config
do arquivojetifier-core-*.jar
do utilitário e salve. - Faça as edições necessárias na sua cópia do arquivo de configuração.
- Transmita o arquivo para o utilitário com a sinalização
-c
.
Exemplo:
./jetifier-standalone -i libraryToProcess.aar -o result.aar -c myCustomMapping.config