AndroidX - 새로운 패키지 정리

황제낙엽 2019.10.16 10:01 조회 수 : 1547

그동안 com.android.support.* 또는 android.support.*와 작년에 공개한 Android Architecture Component에서 사용하던 android.arch.*의 패키지 명을 안드로이드 라이브러리 28.0.0부터 새로운 androidx.* 패키지 명으로 교체한다고 한다.

Android Jetpack으로 통합해서 제공하려고 하니 기존 support 라이브러리와 architecture 라이브러리 등을 통합 관리해서 정리된 모습을 보여주고 싶은듯하다.

다행히도 이러한 패키지 명을 교체하는데 있어서 개발자가 공들여야 할 부분은 크지 않다.

구글 블로그에서 AndoridX에 대한 자세한 내용 확인이 가능하다.

 

android-x.jpg

android-x


AndroidX Refactoring

Android Studio 3.2 이상부터 androidx 패키지 명 대응을 위한 refactoring 도구가 포함되어있다. (이 글을 작성하는 시점에는 일부 오류가 있다고 하는데 다음 Canary 15 이상을 기대하라고 한다.)

Android Studio Refactor > Refactor to AndroidX 메뉴를 통해 한 번에 변환이 가능하다.

 

refactor-to-andoridx.png

refactor-to-andoridx

변경하기 전의 dependencies는 아래와 같다.

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support:design:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}


refactor to AndroidX 후에는 아래와 같이 dependencies 변경이 일어난다.

변경 중 아래와 같은 창이 나타나니 참고 가능하다.

 

refactor.png

refactor

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
    implementation 'androidx.appcompat:appcompat:1.0.0-alpha1'
    implementation 'com.google.android.material:material:1.0.0-alpha1'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.1.0-alpha1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha1'
}


다만 현재 Canary 인점과 Android 28 Preview 상태인 점에 따라 compile 정보는 아래와 같이 적용해야 하고, 특히 compileSdkVersion 'android-P'을 지정해야 한다.

android {
    compileSdkVersion 'android-P'
    defaultConfig {
        applicationId "com.example.taehwankwon.myapplication"
        minSdkVersion 21
        targetSdkVersion 27
    }
}



변경 예정인 패키지들

AndroidX refactoring에서 변경하는 library 정보를 확인할 수 있다.

com.android.support.*, android.support.*, android.arch.*의 패키지들이 모두 androidx라는 이름으로 교체되며, 기존 중구난방인 버전 정보도 모두 2.0.0-alpha1부터 다시 배포된다.

 

package-change.png

package-change

그리고 기존 패키지에 대한 맵핑도 androidx로 교체하는 게 있으니 위 링크를 확인하면 되겠다.


class-mappings.png

class-mappings


마무리

AndroidX 패키지 명 교체하는 방법을 간단하게 확인하였다, 자세한 내용은 refactoring 링크를 통해 어떠한 패키지가 변경되어있는지 확인하길 바란다.

 

 

 

 

번호 제목 글쓴이 날짜 조회 수
128 PC를 위한 최고의 안드로이드 에뮬레이터 황제낙엽 2023.01.18 3132
127 [Jetpack Compose UI / 상추님] GDG Jetpack compose 코드랩 수료 후기 (feat. 굿즈) 황제낙엽 2022.12.24 2370
126 [Jetpack Compose UI / kyj1991719] compose - Compose 이해 황제낙엽 2022.12.24 4025
125 [Jetpack Compose UI / 꾸준] Compose 가 뭔데...? 황제낙엽 2022.12.24 4035
124 [Jetpack Compose UI / IIVIKI] Compose 학습과 분석 황제낙엽 2022.12.24 4050
123 [Jetpack Compose UI] 스터디 시작하기 황제낙엽 2022.12.24 4001
122 [개발하는 정대리] 취준생을 위한 안드로이드 앱만들기 - 바텀네비게이션 뷰, 네비게이션 AAC file 황제낙엽 2022.12.22 3882
121 [개발하는 정대리] 취준생을 위한 안드로이드 앱만들기 - 뷰바인딩 file 황제낙엽 2022.12.22 3850
120 [개발하는 정대리] 취준생을 위한 안드로이드 앱만들기 - 라이브데이터 뷰모델 file 황제낙엽 2022.12.21 3826
119 [대왕놀] ImageButton in Compose (IconButton) 황제낙엽 2022.12.20 4105
118 [대왕놀] compose instrumentation test tutorial 황제낙엽 2022.12.20 3985
117 [대왕놀] Switch in Compose 황제낙엽 2022.12.20 4106
116 [대왕놀] EditText in Compose (TextField) 황제낙엽 2022.12.20 4021
115 [대왕놀] margin in Compose 황제낙엽 2022.12.20 4105
114 [대왕놀] modifier in compose 황제낙엽 2022.12.20 4180
113 [대왕놀] Button in Compose file 황제낙엽 2022.12.20 4224
112 [대왕놀] TextView in Compose (Text) 황제낙엽 2022.12.20 4083
111 [대왕놀] ImageView in Compose (Image) 황제낙엽 2022.12.20 4017
110 [대왕놀] LinearLayout in Compose (Row, Column) 황제낙엽 2022.12.20 4113
109 [대왕놀] Introduction to Jetpack compose 황제낙엽 2022.12.20 3964