6월 3일의 ⁠#Android11: 베타 버전 출시 행사에 참여하세요.

jetifier

독립형 Jetifier 도구는 동등한 AndroidX 패키지를 대신 사용할 수 있도록 지원 라이브러리에 종속된 라이브러리를 이전합니다. 이 도구를 사용하면 Android 스튜디오와 함께 번들로 제공되는 Android Gradle 플러그인을 사용하는 대신 개별 라이브러리를 직접 마이그레이션할 수 있습니다.

Jetifier 설치

Jetifier를 설치하려면 ZIP 파일을 다운로드하여 압축을 풉니다. 기기에 자바 버전 1.8이 설치되어 있어야 합니다.

사용

라이브러리를 처리하려면 현재 라이브러리의 경로 및 도구가 만들어야 하는 출력 파일의 경로를 전달합니다. Jetifier는 중첩된 아카이브를 포함하여 JAR, AAR 및 ZIP 파일을 지원합니다.

    ./jetifier-standalone -i <source-library> -o <output-library>
    

옵션

옵션 필수? 설명
-i, --input <path> 입력 라이브러리의 경로(JAR, AAR 또는 ZIP)
-o, --output <path> 출력 파일의 경로. 파일이 이미 존재하면 Jetifier가 파일을 덮어씁니다.
-c, --config <path> 아니요 선택적 맞춤 구성 파일의 경로
-l, --log <level> 아니요 로깅 수준. 허용되는 값은 다음과 같습니다.
  • error
  • warning
  • info
  • verbose
지정하지 않으면 기본값은 'warning'입니다.
-r 아니요 리버스 모드에서 작동합니다('de-jetification').

다음 예에서는 현재 디렉터리의 libraryToProcess.aar 라이브러리에서 유틸리티를 실행하여 동일한 디렉터리의 result.aar에 출력을 씁니다.

    ./jetifier-standalone -i libraryToProcess.aar -o result.aar
    

사용 참고사항

Jetifier는 android.support.* 패키지를 가리키는 자바, XML, POM 및 ProGuard 참조를 이전하여 상응하는 androidx.* 패키지를 가리키도록 변경합니다.

android.support.*의 ProGuard 와일드 카드가 항상 androidx.* 패키지에 직접 매핑되는 것은 아니므로 Jetifier는 적합한 모든 대체 항목을 생성합니다.

android.support.* 패키지에 지원 라이브러리 아티팩트에서 제공되지 않는 유형이 있다면 Jetifier는 유형의 매핑이 있는 한 계속 이 유형을 이전합니다. 그러나 모든 맞춤형 유형을 충분히 처리하는 일반적인 매핑 규칙이 없을 수 있으므로 이 이전의 작동은 보장되지 않습니다.

고급 사용법

Jetifier 유틸리티는 일부 고급 사용 사례를 지원합니다.

리버스 모드

-r 플래그를 전달하면 유틸리티는 리버스 모드로 실행됩니다. 이 모드에서 유틸리티는 다른 방법 대신 AndroidX API를 동등한 지원 라이브러리로 변환합니다. 리버스 모드는 예를 들어 AndroidX API를 사용하는 라이브러리를 개발 중이지만 지원 라이브러리를 사용하는 버전을 배포해야 하는 경우 유용합니다.

다음 예에서는 현재 디렉터리의 myAndroidXLib.aar 라이브러리에서 리버스 모드로 유틸리티를 실행하여 동일한 디렉터리의 supportLibVersion.aar에 출력을 씁니다.

    ./jetifier-standalone -r -i myAndroidXLib.aar -o supportLibVersion.aar
    

맞춤형 구성 파일

Jetifier 도구는 구성 파일을 사용하여 지원 라이브러리 클래스를 이에 상응하는 AndroidX 클래스에 매핑합니다. 필요한 경우 이 매핑을 변경하는 맞춤형 구성 파일을 만들 수 있습니다. 실제로 지원 라이브러리의 멤버가 아닌 매핑에 새 클래스를 추가할 수도 있습니다. 예를 들어, 자체 클래스 중 하나를 AndroidX를 사용하도록 작성된 후속 클래스로 대체하도록 매핑을 수정할 수 있습니다.

맞춤형 구성 파일을 사용하려면 먼저 유틸리티의 jetifier-core-*.jar 파일에서 default.generated.config 파일을 추출하여 저장합니다. 필요에 따라 구성 파일의 복사본을 수정하고 -c 플래그를 사용하여 유틸리티에 파일을 전달합니다. 예:

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