androidX를 좋아하든 안 좋아하든 다 왔어요.

2053 단어 Android
내가 밟은 구덩이를 모두 나눠야 한다는 정신에 따라 오늘 글을 썼다.
com.android.support 시리즈의 의존 신청은 낯설지 않다. 호환을 위해 등장한 이들이 28일까지 구글 공식적으로 갱신을 중지한다고 발표한 이유는 구글 아빠가 이 이름을 좋아하지 않기 때문이다!!허허 농담이다. 다만 버전 관리가 좀 어지럽고 개발 중에도 각종 compat에 자주 부딪히며 원래는 많아졌기 때문에 구글은 지원 패키지를 규범화하기 시작했고androidX가 탄생했다.
androidx에 규범 코드가 나타나지만 과도기가 하나 생겨요. 어떤 과도기가 생겨요?support에서androidx로 이행하는 것은 우리에게 있어서 또 하나의 검색 교체이다.원래api 클래스가 변하지 않는 상황에서androidx 신청이 모두 바뀌었기 때문에 왜 교체를 찾습니까?이로 인해 같은 프로젝트에서 androidx와 support가 충돌할 수 있습니다. 흔히 볼 수 있는 오류는 다음과 같습니다.
Manifest merger failed : Attribute application@appComponentFactory value=(androidx.core.app.CoreComponentFactory) from [androidx.core:core:1.0.0-beta01] AndroidManifest.xml:22:18-86
    is also present at [com.android.support:support-compat:28.0.0-alpha3] AndroidManifest.xml:22:18-91 value=(android.support.v4.app.CoreComponentFactory).
    Suggestion: add 'tools:replace="android:appComponentFactory"' to  element at AndroidManifest.xml:11:5-49:19 to override.


주의: 이 오류는 기본적으로 다음 개발에서 자주 발생합니다. 이것은 프로젝트에서androidx와support를 동시에 사용한 것입니다.
현재 많은 외국 코드들이 이미 androidx를 사용하기 시작했는데, 예를 들면 포토뷰 구글+sdk 등이다.그래서 앞으로 서포트는 무조건 탈락!!
우선 의존 가방의 변화를 살펴보자. 예를 들어 다음과 같다.
api 'com.android.support:appcompat-v7:28.0.0'

다음과 같이 변경되었습니다.
api 'androidx.appcompat:appcompat:1.0.0'

기타 패키지 변경 사항은 공식 문서를 참조할 수 있습니다.
//  https://developer.android.com/jetpack/androidx/migrate

그럼 androidx로 어떻게 넘어가요?
우선:android 지원 패키지와 인용을androidx로 변경합니다. 이것은 앞에서 말한 검색 교체입니다.
그리고 프로젝트에 제3자 의존이 있을 것입니다. 그리고 현재 많은 의존이 sopport 패키지를 사용하고 있습니다. 그러면 반드시 보증해야 합니다.
classpath 'com.android.tools.build:gradle:3.1.+'

그러면android스튜디오는 sopport가androix로 전환하는 능력을 제공한다.gradle에 있어야 합니다.properties 파일에 구성을 추가하려면 다음과 같이 하십시오.
android.useAndroidX=true
android.enableJetifier=true

위의 작업이 끝난 후, 그럼 축하합니다. 당신의 프로젝트는 이미androix시대에 들어섰습니다.
도움이 된다면 좋아요를 눌러주세요!!

좋은 웹페이지 즐겨찾기