본문 바로가기
안드로이드

[Android] AndroidX 마이그레이션 해결 방법

by 코딩히어로 2022. 1. 12.
728x90

제목


많은 프로젝트 중에서 개발이 완료된 뒤에 최신 Android Studio에서 기존 프로젝트를

Open 하는 경우 종종 AndroidX 마이그레이션 문제가 발생을 합니다.

 

Android Studio 및 SDK 버전이 올라가면서 AndroidX로 변경이 되었기 때문인데

개발자들이 생각보다 많이 겪는 상황이라 판단되어 해당 내용을 정리합니다.

 

먼저 AndroidX 마이그레이션 관련 에러 문구가 다음과 같이 발생을 합니다.

ERROR: This project uses AndroidX dependencies,
but the 'android.useAndroidX' property is not enabled. 
Set this property to true in the gradle.properties file and retry.
The following AndroidX dependencies are detected: androidx.appcompat:appcompat:1.0.0, 
androidx.versionedparcelable:versionedparcelable:1.0.0, 
androidx.slidingpanelayout:slidingpanelayout:1.0.0, 
androidx.fragment:fragment:1.0.0, 
androidx.core:core:1.0.0, 
androidx.customview:customview:1.0.0, 
androidx.swiperefreshlayout:swiperefreshlayout:1.0.0, 
androidx.interpolator:interpolator:1.0.0, 
androidx.loader:loader:1.0.0, 
androidx.drawerlayout:drawerlayout:1.0.0, 
androidx.viewpager:viewpager:1.0.0, 
androidx.collection:collection:1.0.0, 
androidx.cardview:cardview:1.0.0, 
androidx.localbroadcastmanager:localbroadcastmanager:1.0.0, 
androidx.lifecycle:lifecycle-common:2.0.0, 
androidx.arch.core:core-common:2.0.0, 
androidx.annotation:annotation:1.0.0, 
androidx.lifecycle:lifecycle-livedata:2.0.0, 
androidx.legacy:legacy-support-core-ui:1.0.0, 
androidx.lifecycle:lifecycle-viewmodel:2.0.0, 
androidx.legacy:legacy-support-v13:1.0.0, 
androidx.lifecycle:lifecycle-livedata-core:2.0.0, 
androidx.legacy:legacy-support-v4:1.0.0, 
androidx.media:media:1.0.0, 
androidx.arch.core:core-runtime:2.0.0, 
androidx.legacy:legacy-support-core-utils:1.0.0, 
androidx.documentfile:documentfile:1.0.0, 
androidx.vectordrawable:vectordrawable-animated:1.0.0, 
androidx.cursoradapter:cursoradapter:1.0.0, 
androidx.vectordrawable:vectordrawable:1.0.0, 
androidx.lifecycle:lifecycle-runtime:2.0.0, 
androidx.coordinatorlayout:coordinatorlayout:1.0.0, 
androidx.asynclayoutinflater:asynclayoutinflater:1.0.0, 
androidx.print:print:1.0.0
Affected Modules: Application

간단하게 해당 에러는 Project를 AndroidX로 마이그레이션만 해주면 간단하게 해결될 문제입니다.

 

지금현재 기준 SDK는 31이 최신으로 마이그레이션 하시는 시점의 SDK 버전을 확인하셔야 합니다.


1. Project 폴더에 build.gradle(Module:Application) 에서

   - compileSdkVersion을 31로 수정합니다

   - targetSdkVersion 이 정의돼있다면 이것도 31로 수정해 줍니다

   - 그렇게 수정후 위쪽에 Sync Now를 누르면 에러가 뜰 것이다 그렇다면 Sdk 28이 설치되어 있는지 확인합니다

 

2. Refactor 메뉴에서 Migration to AndroidX를 눌러서 마이그레이션을 진행합니다.

 

3. 이후 Project 폴더에 gradle.properties를 열어보면 아래와 같이 정의가 생깁니다.

    android.enableJetifier=true

    android.useAndroidX=true


여기까지 완료되었다면 마지막으로 Build Clean을 실행한 뒤에

다시 Build를 해주면 에러가 발생하지 않고 컴파일되는 것을 확인하실 수 있습니다.

728x90
반응형

댓글