[컴][안드로이드] Android Jetifier

안드로이드

Android Jetifier

Jetifier tool 은 support-library 를 사용하는 라이브러리들(support-library-dependent libraries) 이 support-library 대신에 AndroidX package 를 사용하도록 변환해준다. android gradle plugin 을 사용하지 않고, Jetifier 를 사용해서 개별 library 를 직접 변환할 수 도 있다.

Jetifier tool migrates support-library-dependent libraries to rely on the equivalent AndroidX packages instead. The tool lets you migrate an individual library directly, instead of using the Android gradle plugin bundled with Android Studio.

android.support.* –> androidx

실제로 사용해보면, 만약 app/build.gradle 에 dependencies 에 있는 library ‘A’ 가 내부적으로 android.support.v4.view.ViewPager 를 사용한다고 하자.

이 경우에 gradle.propertiesandroid.useAndroidX=trueandroid.enableJetifier=true 를 추가한 후 build 를 해서 apk 를 만들었다고 하자.

그러면 그 안에 있는 library ‘A’ 의 code 에서 android.support.v4.view.ViewPager 로 적혀있던 부분이, 예를 들면 import android.support.v4.view.ViewPager 같은, androidx.viewpager.widget.ViewPager 로 변경된다.

다만 주의할 점은 string 은 바꾸지 않는다.

그렇기 때문에 Android 10 부터 android support library 를 사용할 수 없다고 해도, 기존에 android support library 를 사용하고 있던 library 를 사용하는데는 문제가 없을 듯 하다.

Jetifier를 사용해서 개별 library 직접 변환하기

아래 경로에서 jetifier 를 다운로드 할 수 있다. java 1.8 이상이 필요하다고 한다.

  • jetifier standalone download : https://dl.google.com/dl/android/studio/jetifier-zips/1.0.0-beta10/jetifier-standalone.zip

압축을 풀고 bin\jetifier-standalone.bat 를 사용하면 된다.

사용법

아래처럼 사용할 수 있다.

./jetifier-standalone -i <source-library> -o <output-library>
f:\jetifier-standalone\bin\jetifier-standalone.bat -i f:\my-old-lib.aar -o newlib.aar

-r option

자세한 jetifier options 은 아래 링크를 참고하자.

-r option 은 reverse mode 이다. 그래서 androidx 로 된 package 이름들을 support library 명으로 바꿔준다.

Reference

  1. android - What is Jetifier? - Stack Overflow
  2. jetifier | Android Developers

댓글 없음:

댓글 쓰기