AndroidX - 새로운 패키지 정리

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

sitelink1 https://thdev.tech/google%20io/2018/05/1...-AndroidX/ 
sitelink2  
sitelink3  

그동안 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 링크를 통해 어떠한 패키지가 변경되어있는지 확인하길 바란다.

 

 

 

 

번호 제목 글쓴이 날짜 조회 수
88 [코틀린, youtube] 카메라로 사진찍어 저장하기 강의 황제낙엽 2022.11.03 0
87 [예제 소스 코드] <Must Have Joyce의 안드로이드 앱 프로그래밍 with 코틀린> 예제 file 황제낙엽 2022.11.03 2
86 Android에서 ML Kit를 사용하여 이미지 속 텍스트 인식 황제낙엽 2022.11.02 1
85 [코틀린] 구글 ML Kit를 이용한 바코드 스캐너 file 황제낙엽 2022.11.01 0
84 안드로이드에서 카드번호 인식하는 OCR 앱 샘플 황제낙엽 2022.10.25 4
83 OCR 개발 레퍼런스 황제낙엽 2022.10.12 5
82 안드로이드 스튜디오에서 apk 에 32bit so 파일 저장하는 방법 황제낙엽 2022.02.16 19
81 No version of NDK matched the requested version file 황제낙엽 2022.02.14 27
80 icudtl.dat (Microsoft Office Access 2010 14를 위해 Microsoft가 생성한 Dynamic Link Library) 황제낙엽 2021.07.07 34
79 Cucumber + Appium을 통해 Android 앱 테스트 file 황제낙엽 2021.04.07 56
78 AndroidX 개요 황제낙엽 2019.10.16 52
» AndroidX - 새로운 패키지 정리 file 황제낙엽 2019.10.16 63
76 Configuration 'compile' is obsolete ... 황제낙엽 2019.09.10 76
75 AsyncTask, HttpURLConnection, session, cookie (서버 세션 유지) 황제낙엽 2019.04.28 99
74 HttpURLConnection에서 세션 유지하기 황제낙엽 2019.04.28 100
73 android.webkit.CookieManager 를 이용한 웹뷰와의 세션 공유 황제낙엽 2019.04.26 322
72 고유 식별자의 모범 사례 (Android Developers) 황제낙엽 2019.03.03 1106
71 단말기 고유값 관련 참고사항 황제낙엽 2019.03.03 95
70 단말기 고유값 구하는 방법들 황제낙엽 2019.03.03 11739
69 안드로이드 기기 식별 방법 - UUID(Universally unique identifier) 황제낙엽 2019.03.03 234