programing

안드로이드 X란?

css3 2023. 10. 7. 12:07

안드로이드 X란?

안드로이드의 방 도서관에 관해 읽고 있습니다.요.android.androidx 저는 그것을 이해하지 못했습니다.누가 설명 좀 해주시겠습니까?

implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version"

마저도 할 수 .android포장 또한.

implementation "android.arch.persistence.room:runtime:$room_version"
annotationProcessor "android.arch.persistence.room:compiler:$room_version"
  • 지원 라이브러리를 androidxandroid?
  • 기존 프로젝트에서 사례 및 영향 요인을 사용합니다.

Android X - Android Extension 라이브러리

AndroidX 설명서에서 제공되는 자료

Android 운영 체제에 번들로 제공되는 패키지와 앱의 APK와 함께 제공되는 패키지를 보다 명확하게 하기 위해 새로운 패키지 구조를 출시하고 있습니다.앞으로, 안드로이드.* 패키지 계층은 운영 체제와 함께 제공되는 Android 패키지를 위해 예약됩니다.다른 패키지들은 새로운 안드로이드 x에서 발행될 것입니다.* 패키지 계층을 AndroidX 라이브러리의 일부로 만듭니다.

안드로이드 X의 필요성

AndroidX는 패키지 이름을 보다 명확하게 하기 위해 새로 설계된 라이브러리입니다.따라서 이제부터 안드로이드 계층은 안드로이드 운영 체제와 함께 제공되는 안드로이드 기본 클래스만을 위한 것이며 다른 라이브러리/의존성은 안드로이드x의 일부가 될 것입니다.그래서 앞으로 모든 새로운 개발은 안드로이드x에서 업데이트 될 것입니다.

com. android지지하다.** : 안드로이드x.
com. android지원: appcompat-v7 : 안드로이드x.appcompat: appcompat com. android지원: recyclerview-v7 : 안드로이드x. recyclerview: recyclerview com. android지원 : 디자인 : com.google. android. 자료 : 자료

AndroidX 패키지에 대한 아티팩트 매핑 완료

안드로이드X는 시맨틱 버전을 사용합니다.

에.support librarySDK 버전을 사용했지만 AndroidX는 를 사용합니다.28.0.0 → 1.0.0에서 재버전됩니다.

현재 프로젝트를 마이그레이션하는 방법

3에서는 기존 프로젝트를 Android Studio 3.2(2018 에서는 9 ) 으로 AndroidX으로 재팩터합니다 모든 패키지를 자동으로 리팩터합니다.

마이그레이션하기 전에 프로젝트를 백업하는 것이 좋습니다.

기존프로젝트

  • Android Studio > Refactor 메뉴 > Android X로 마이그레이션...
  • 분석하고 아래쪽에 있는 굴절기 창을 엽니다. 창을 엽니다.변경할 내용을 승인합니다.

image

신규프로젝트

이 깃발들을 당신의 것에 넣습니다.gradle.properties

android.enableJetifier=true
android.useAndroidX=true

동일한 AndroidX 패키지에 대해 @Library 매핑을 확인합니다.

Android X로 마이그레이션의 공식 페이지 @확인

제트화기란?

마이그레이션의 버그

  • 앱을 만들고 마이그레이션한 후 오류를 발견하면 사소한 오류를 수정해야 합니다.그것은 쉽게 고칠 수 있기 때문에 당신은 거기에 갇히지 않을 것입니다.
  • 서드파티 라이브러리는 디렉터리에서 안드로이드X로 변환되지 않지만 Jetifier에 의해 런타임에 변환되므로 컴파일 시간 오류 걱정하지 마십시오. 앱이 완벽하게 실행됩니다.

지원 28.0.0이 마지막 릴리스입니까?

Android 지원 버전 28.0.0부터

이것은 안드로이드의 마지막 기능 릴리스가 될 것입니다.패키지를 지원하고 개발자는 AndroidX 1.0.0으로 마이그레이션할 것을 권장합니다.

안드로이드는 지금부터 안드로이드 x 패키지만 업데이트하기 때문에 안드로이드 X를 사용하세요.

더보기

https://developer.android.com/topic/libraries/support-library/androidx-overview

https://android-developers.googleblog.com/2018/05/hello-world-androidx.html

문서에 근거하여:

Androidx는 안드로이드 운영 체제와 함께 제공되는 패키지와 앱의 APK와 함께 제공되는 패키지를 보다 명확하게 하기 위한 새로운 패키지 구조입니다.앞으로, 안드로이드.* 패키지 계층은 운영 체제와 함께 제공되는 Android 패키지를 위해 예약됩니다. 다른 패키지는 새로운 Androidx에서 발행됩니다.* 패키지 계층.

재구성된 패키지 구조는 더 작고 더 집중적인 라이브러리를 장려하기 위한 것입니다.아티팩트 매핑에 대한 자세한 내용은 여기에서 확인할 수 있습니다.

지원되는 최소 SDK 레벨이 14일 때 "v7"로 명명된 지원 라이브러리(역호환을 위한 구성 요소 및 패키지 포함)가 있습니다. 새로운 이름은 플랫폼에 번들로 제공되는 API와 안드로이드의 여러 버전에서 사용되는 앱 개발자용 라이브러리 간의 구분을 명확하게 이해할 수 있게 해줍니다.자세한 사항은 공식 발표를 참고하시면 됩니다.

Android X는 Android 팀이 Jetpack 내에서 라이브러리를 개발, 테스트, 패키지, 버전 및 릴리스하는 데 사용하는 오픈 소스 프로젝트입니다.

AndroidX원래의 Android Support Library를 크게 개선한 것입니다.지원 라이브러리와 마찬가지로 Android X는 Android OS와 별도로 제공되며 Android 릴리스 전반에 걸쳐 하위 호환성을 제공합니다.AndroidX는 기능 패리티와 새 라이브러리를 제공함으로써 지원 라이브러리를 완전히 대체합니다.

AndroidX는 다음과 같은 기능을 포함합니다.

  • AndroidX의 모든 패키지는 Androidx 문자열로 시작하는 일관된 네임스페이스에 저장됩니다.지원 라이브러리 패키지가 해당 Androidx에 매핑되었습니다.* 꾸러미들모든 이전 클래스와 빌드 아티팩트를 새 클래스에 전체 매핑하려면 Package Refactoring 페이지를 참조하십시오.

  • 지원 라이브러리와 달리 안드로이드X 패키지는 별도로 유지 및 업데이트됩니다.한 Androidx합니다를 합니다.Semantic Versioning버전 1.0.0부터 시작합니다.프로젝트에서 AndroidX 라이브러리를 독립적으로 업데이트할 수 있습니다.

  • 모든 새로운 지원 라이브러리 개발은 AndroidX 라이브러리에서 이루어집니다.여기에는 원래의 지원 라이브러리 아티팩트를 유지 관리하고 새로운 Jetpack 구성 요소를 도입하는 작업이 포함됩니다.

Android X 사용하기

기존 프로젝트를 마이그레이션하는 방법은 AndroidX마이그레이션을 참조하십시오.

하고 에서 AndroidX SDK 를 Android 9.0(API 28) Android Gradle 로 true 에서 두 Gradle gradle.properties일.

  • android.useAndroidX: true로 설정하면 Android 플러그인은 지원 라이브러리 대신 적절한 AndroidX 라이브러리를 사용합니다.플래그를 지정하지 않으면 기본적으로 false입니다.

  • android.enableJetifier: true로 설정하면 Android 플러그인이 이진 파일을 다시 작성하여 AndroidX를 사용하도록 기존 타사 라이브러리를 자동으로 마이그레이션합니다.플래그를 지정하지 않으면 기본적으로 false입니다.

아티팩트 매핑의 경우 이 항목을 참조하십시오.

기사 Android Jetpack: 최근 발표된 안드로이드 지원 라이브러리의 의미는 무엇입니까?잘 설명합니다.

오늘날 많은 사람들이 지원 라이브러리를 Google Play 스토어의 99% 앱에서 사용할 정도로 Android 앱 개발의 필수적인 부분으로 생각하고 있습니다.그러나 지원 라이브러리가 증가함에 따라 라이브러리의 명명 규칙을 둘러싼 불일치가 슬그머니 발생했습니다.

처음에 각 패키지의 이름은 해당 패키지에서 지원하는 최소 API 수준(예: support-v4)을 나타냅니다.단,단26.0.0지원 라이브러리의 경우 최소 API를 14로 늘렸기 때문에 오늘날 패키지 이름 중 많은 수가 지원되는 최소 API 수준과는 아무런 관련이 없습니다.support-v4와 support-v7 패키지 모두 최소 API가 14일 때 사람들이 혼동하는 이유를 쉽게 알 수 있습니다!

이러한 혼란을 해소하기 위해 Google은 현재 지원 라이브러리를 새로운 Android 확장 라이브러리(Android X) 패키지 구조로 리팩터링하고 있습니다.AndroidX에는 단순화된 패키지 이름뿐만 아니라 각 패키지의 콘텐츠와 지원되는 API 수준을 더 잘 반영하는 Maven groupId 및 artifactId가 포함됩니다.

현재 명명 규칙으로 Android 운영 체제에 번들로 제공되는 패키지와 애플리케이션의 APK(Android Package Kit)와 함께 제공되는 패키지도 명확하지 않습니다.이러한 혼란을 해소하기 위해, 번들되지 않은 모든 라이브러리가 안드로이드X의 안드로이드x로 이동될 것입니다.* 네임스페이스, 안드로이드.* 패키지 계층은 Android 운영 체제와 함께 제공되는 패키지에 대해 예약됩니다.

가능한 모든 답변에 제 쪽에서 약간의 추가 정보만 제공합니다.

안드로이드 X의 필요성

  1. @KhemRaj의 놀라운 대답에서 말했듯이,

현재 명명 규칙에서는 Android 운영 체제와 함께 제공되는 패키지와 애플리케이션의 APK(Android Package Kit)와 함께 제공되는 패키지가 명확하지 않습니다.이러한 혼란을 해소하기 위해, 번들되지 않은 모든 라이브러리가 안드로이드X의 안드로이드x로 이동될 것입니다.* 네임스페이스, 안드로이드.* 패키지 계층은 Android 운영 체제와 함께 제공되는 패키지에 대해 예약됩니다.

  1. 이것 말고는.

    처음에 각 패키지의 이름은 해당 패키지에서 지원하는 최소 API 수준(예: support-v4)을 나타냅니다.그러나 지원 라이브러리 버전 26.0.0에서는 최소 API를 14로 늘렸기 때문에 오늘날 패키지 이름의 대부분은 지원되는 최소 API 수준과 무관합니다.support-v4와 support-v7 패키지 모두 최소 API가 14일 때 사람들이 혼동하는 이유를 쉽게 알 수 있습니다!그래서 이제 안드로이드 X에서는 API 수준에 의존하지 않습니다.

또 다른 중요한 변화는 AndroidX 아티팩트가 독립적으로 업데이트되기 때문에 모든 종속성을 한 번에 변경할 필요 없이 프로젝트의 개별 AndroidX 라이브러리를 업데이트할 수 있다는 것입니다.답답한 사람들 "모든 것이 안드로이드입니다.지원 라이브러리는 동일한 버전 사양을 사용해야 합니다." 메시지는 과거의 일이 되어야 합니다!

안드로이드 데브 서밋 영상을 통해 안드로이드 X에 대해 알게 되었습니다.요약하면 다음과 같습니다.

  1. 지원 라이브러리가 더 이상 없음:Google은 안드로이드 지원 라이브러리를 지원 라이브러리 네임스페이스로 유지 관리하지 않습니다.따라서 지원 라이브러리에서 버그 수정을 찾으려면 AndroidX에서 프로젝트를 마이그레이션해야 합니다.
  2. 보다 나은 패키지 관리:표준화되고 독립적인 버전을 제공합니다.이전 지원 라이브러리 버전이 너무 혼란스러웠기 때문입니다.'올 앤드로이드'의 고통을 풀어줄 겁니다support libraries는 정확히 동일한 버전 사양" 메시지를 사용해야 합니다.
  3. 구글 플레이 서비스, 파이어베이스, 모키토 2 등 기타 Good 라이브러리가 AndroidX로 마이그레이션되었습니다.
  4. AndroidX 아티팩트를 사용하여 새 라이브러리가 게시됩니다.모든 라이브러리는 Android Jetpack과 같은 AndroidX 네임스페이스에 있을 것입니다.

AppCompat 버전의 지원과 동일하지만 v4 및 v7 버전의 혼동이 적어 Android XML 요소의 다양한 구성 요소를 사용하면 많은 도움이 됩니다.

androidx대체할support library끝나고28.0.0. 프로젝트를 사용하려면 마이그레이션해야 합니다.androidx사용. 사용AndroidX라이브러리 이름 및 패키지 이름에 표시된 버전에 따라 혼동되지 않습니다.다 생활이 .

[Android X 및 지원 호환성]

Android X는 Android 팀이 Jetpack 내에서 라이브러리를 개발, 테스트, 패키지, 버전 및 릴리스하는 데 사용하는 오픈 소스 프로젝트입니다.

몇 시간 동안 고심한 끝에 app/build.gradle에 다음을 포함시켜 해결했습니다.

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

이 플래그를 gradle.properties에 넣습니다.

android.enableJetifier=true
android.useAndroidX=true

Changes in gradle:

implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'com.google.android.material:material:1.1.0-alpha04'

Android Studio에서 마이그레이션할 때 앱/그레이들 파일이 표준 라이브러리에서 수정 라이브러리 구현으로 자동 업데이트됩니다.

참조: https://developer.android.com/jetpack/androidx/migrate

Android는 몇 가지 다양한 라이브러리 세트를 제공합니다.하나는 Android 지원 라이브러리, 다른 하나는 Android X로 불립니다."안드로이드 사용"을 선택합니다.* artifacts"는 AndroidX를 사용하고 싶다는 것을 나타냅니다.

언급URL : https://stackoverflow.com/questions/51280090/what-is-androidx