AndroidX 개요

androidx 네임스페이스는 Android Jetpack 라이브러리로 구성됩니다. androidx 네임스페이스에 있는 라이브러리는 지원 라이브러리와 마찬가지로 Android 플랫폼과 별도로 제공되며 Android 출시 버전 전체에서 이전 버전과 호환됩니다.

AndroidX는 더 이상 유지 관리되지 않는 기존의 Android 지원 라이브러리를 대폭 개선했습니다. androidx 패키지는 동일한 기능과 새로운 라이브러리를 제공하여 지원 라이브러리를 완전히 대체합니다.

또한 AndroidX에는 다음 기능이 포함되어 있습니다.

  • AndroidX의 모든 패키지는 androidx라는 문자열로 시작하는 일관된 네임스페이스에 있습니다. 지원 라이브러리 패키지는 상응하는 androidx.* 패키지에 매핑되었습니다. 모든 이전 클래스와 빌드 아티팩트를 새 클래스와 빌드 아티팩트에 완전히 매핑하려면 패키지 리팩터링 페이지를 참고하세요.

  • 지원 라이브러리와 달리 androidx 패키지는 별도로 유지보수 및 업데이트됩니다. androidx 패키지는 버전 1.0.0부터 엄격한 Semantic Versioning을 사용합니다. AndroidX 라이브러리를 프로젝트에서 독립적으로 업데이트할 수 있습니다.

  • 버전 28.0.0은 지원 라이브러리의 마지막 출시입니다. 더 이상의 android.support 라이브러리 출시가 없을 것입니다. 새로운 기능 개발은 모두 androidx 네임스페이스에서 이루어집니다.

프로젝트에 androidx 라이브러리 사용

현재 AGP는 기본적으로 androidx 라이브러리 사용을 지원합니다. 기존 프로젝트를 이전하는 방법을 알아보려면 AndroidX로 이전을 참고하세요.

아직 이전되지 않았거나 이전되지 않은 기존 종속 항목이 있는 프로젝트의 경우 AGP는 프로젝트의 gradle.properties 파일에서 설정할 수 있는 다음 플래그를 제공합니다.

  • android.useAndroidX: Android Gradle 플러그인 9.0.0 이상에서는 기본적으로 true이고 9.0.0 이전 버전에서는 false입니다. 이 플래그가 true로 설정되면 Android 플러그인에서 지원 라이브러리 대신 적절한 AndroidX 라이브러리를 사용합니다. 이 플래그를 false로 설정하는 기능은 AGP 10에서 삭제될 예정입니다.
  • android.enableJetifier: 이 플래그가 true로 설정되면 Android 플러그인에서 자동으로 기존 서드 파티 라이브러리를 이전하여 바이너리를 다시 작성해 AndroidX 종속 항목을 사용합니다. 이 플래그는 지정되지 않은 경우 기본적으로 false이며, 게시된 라이브러리가 일반적으로 이전을 완료했으므로 AGP 10에서 삭제될 예정입니다.

API 참조

androidx 네임스페이스의 모든 패키지 및 클래스는 AndroidX 참조 섹션에서 확인할 수 있습니다.

추가 리소스

Jetpack 홈페이지에서 구성요소에 관해 자세히 알아보세요. 지원 라이브러리에서 androidx로 패키지 리팩터링하는 방법에 관한 자세한 내용은 블로그 게시물을 참고하세요.