2018 Google IO - AndroidX - 새로운 패키지 정리

2018 Google IO - AndroidX - 새로운 패키지 정리

본문

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

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

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

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

android-x


AndroidX Refactoring

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

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

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

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

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

class-mappings


마무리

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



About Taehwan

안드로이드 개발 12년차, 모바일앱 개발자 권태환입니다. 코드와 아키텍처, 그리고 개발 문화에 관심이 많습니다. GDG Korea Android와 DroidKnights에서 개발자 커뮤니티를 함께 만들어가고 있습니다.

Comments

🔍 검색

검색어를 입력하면
관련 글을 찾아드려요