독립형 Jetifier 도구는 동등한 AndroidX 패키지를 대신 사용하도록 지원 라이브러리에 종속된 라이브러리를 이전합니다. 이 도구를 사용하면 Android 스튜디오와 함께 번들로 제공되는 Android Gradle 플러그인을 사용하는 대신 개별 라이브러리를 직접 이전할 수 있습니다.
Jetifier 설치
Jetifier를 설치하려면 ZIP 파일을 다운로드하여 압축을 풉니다. 기기에 자바 버전 1.8 이상이 설치되어 있어야 합니다.
사용
라이브러리를 처리하려면 도구에서 만들어야 하는 현재 라이브러리 경로 및 출력 파일 경로를 전달합니다. Jetifier는 중첩된 아카이브를 포함하여 JAR, AAR 및 ZIP 파일을 지원합니다.
./jetifier-standalone -i <source-library> -o <output-library>
옵션
다음 표에는 Jetifier 도구 명령어에 사용할 수 있는 옵션이 나와 있습니다.
옵션 | 필수? | 설명 |
---|---|---|
-i , --input <path> |
예 | 입력 라이브러리의 경로(JAR, AAR 또는 ZIP) |
-o , --output <path>
|
예 | 출력 파일의 경로. 파일이 이미 존재하면 Jetifier가 파일을 덮어씁니다. |
-c , --config <path> |
아니요 | 선택적 맞춤 구성 파일의 경로 |
-l , --log <level>
|
아니요 | 로깅 수준. 허용되는 값은 다음과 같습니다.
|
-r |
아니요 | 리버스 모드에서 작동합니다('de-jetification'). |
-rebuildTopOfTree ,--rebuildTopOfTree |
아니요 | 생성된 POM 파일에 따라 Maven 배포의 ZIP을 다시 빌드합니다. 설정하면 재작성된 모든 라이브러리가 지원 라이브러리의 일부인 것으로 간주됩니다. Jetifier 처리에는 필요하지 않습니다. |
-s , --strict
|
아니요 | 규칙이 누락되었을 때 대체하지 않습니다. 대신 오류를 발생시킵니다. |
-stripSignatures ,--stripSignatures
|
아니요 | 서명된 라이브러리를 Jetifier 처리할 때 오류를 발생시키지 않습니다. 대신 서명 파일을 제거합니다. |
-t , -timestamp <arg>
|
아니요 | 보관처리된 항목에 수정된 시간으로 사용할 타임스탬프 정책입니다. 값: keepPrevious(기본값) 에포크 또는 지금 |
예
다음 예에서는 현재 디렉터리의 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