jetifier

A ferramenta autônoma Jetifier migra bibliotecas dependentes 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.

Instalação do Jetifier

Para instalar o Jetifier, faça o download do arquivo ZIP e extraia-o. Seu dispositivo deve ter a versão 1.8 do Java instalada.

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

Opção Obrigatório? Descrição
-i, --input <path> sim Caminho para a biblioteca de entrada (JAR, AAR ou ZIP).
-o, --output <path> sim Caminho para o arquivo de saída. Se o arquivo já existe, o Jetifier o substitui.
-c, --config <path> não Caminho para o arquivo de configuração personalizada opcional.
-l, --log <level> não Nível de registro. Os valores permitidos são:
  • error
  • warning
  • info
  • verbose
Se não for especificado, o padrão é "warning".
-r não Operação no modo reverso ("desjetificação").

Exemplo

O exemplo a seguir 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 ProGuard para android.support.* nem sempre mapeiam diretamente para 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 para as equivalentes da Biblioteca de Suporte, em vez de fazer o contrário. O modo reverso é útil, por exemplo, se você está desenvolvendo bibliotecas que usam APIs do AndroidX, mas também precisa distribuir versões que usem a Biblioteca de Suporte.

Exemplo

O exemplo a seguir 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é adicionar novas classes ao mapeamento que não sejam 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 arquivo jetifier-core-*.jar do utilitário e salve-o. Faça as edições necessárias na sua cópia do arquivo de configuração e transmita-o ao utilitário com a sinalização -c. Exemplo:

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