androidX는 기존의 다양한 라이브러리들을 하나로 통합한것이다.
예전에는 androidX 가 없었기 때문에 오래된 프로젝트는 androidX로 마이그레이션 해줘야 제대로 빌드가 된다.
androidX 구동환경
Android studio >= 3.2
Compile SDK 28.0
1. 기존프로젝트를 연다
2. /lib/main.dart 를 열어서 상단 오른쪽에 “Get Dependencies” 를 클릭해서 의존모듈을 설치한다.
또는 터미널에서 “flutter packages get” 명령어를 수행한다.
3. /android/gradle.properties 를 연다.
4. 다음 플래그들을 추가한다.
[code]
android.enableR8=true // 불필요한 것들을 제거하고 앱 크기를 최적화해준다
android.useAndroidX=true // androidX 사용
android.enableJetifier=true // androidX에서 사용할 수 있도록 서드파티 라이브러리를 자동으로 마이그레이션 한다.
[/code]
5. /android/build.gradle 파일을 연다. kotlin gradle 플러그인을 사용하였으면 아래와 같이 되어 있다. kotlin 을 사용하지 않았다면 6.번으로 넘어간다.
[code]
buildscript {
ext.kotlin_version=’1.3.50′ // 코틀린버전을 최신버전으로 수정한다.
rpositories {
google()
jcenter()
}
dependencies {
classpath ‘com.android.tools.build:gradle:3.5.0’ // 그래들 버전을 최신버전으로 수정한다.
classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version”
}
}
[/code]
6. 안드로이드 스튜디오에서 “File => Open…” 메뉴를 선택한 후 /android 폴더를 연다. “New Window” 로 새창으로 연다.
7. Gradle 버전오류가 나면 오류메시지 바로 밑에 “Fix Gradle wrapper and re-import project” 를 선택해서 Fix한다.
완료되면 하단에 “Plugin Update Recommended” 메시지의 “update” 를 클릭하고 Update 버튼을 한번 더 눌러준다.
8. “Refactor => Migrate to AndroidX” 를 실행한다.
compileSdk 버전에러가 나면 28 버전 이상으로 수정해야 한다.
1) /build.gradle (Module app) 파일을 열고 android.compileSdkVersion 과 defaultConfig.targetSdkVersion 을 28 이상으로 변경해준다.
2) 상단 오른쪽에 “Sync now” 를 실행시켜준다.
3) Migrate to AndroidX 를 다시 실행한다.
9. IDE 좌측하단에 “Do Refactor” 를 클릭하면 완료된다.