지원 라이브러리 패키지

참고: 지원 라이브러리 28.0.0이 출시되면서 android.support 패키지 라이브러리는 지원 중단되었으며 androidx로 패키징된 개별 버전이 지정된 Jetpack 라이브러리로 대체되었습니다. Jetpack 라이브러리의 초기 1.0.0 버전은 지원 라이브러리 28.0.0과 패리티를 제공하며 새로운 androidx 패키징으로 이전하기 위한 시작점을 제공합니다.

기존 android.support 패키지 라이브러리는 계속 작동하지만 28.0.0 이상의 업데이트를 받지 않으며 새 Jetpack 라이브러리와 호환되지 않습니다. 이전 아티팩트 (버전 27 이하이며 android.support로 패키징됨)는 Google Maven에서 계속 사용할 수 있습니다. 모든 새 아티팩트는 androidx로 패키징되며 android.support에서 androidx이전해야 합니다.

모든 새 프로젝트에서는 androidx 라이브러리를 사용하는 것이 좋습니다. 또한 기존 프로젝트를 이전하여 버그 수정 및 기타 라이브러리 개선사항을 계속 받을 수 있도록 해야 합니다.

Android 지원 라이브러리에는 애플리케이션에 포함할 수 있는 여러 라이브러리 패키지가 포함되어 있습니다. 이러한 각 라이브러리는 특정 범위의 Android 플랫폼 버전 및 기능 집합을 지원합니다.

다음 라이브러리 중 하나를 사용하려면 라이브러리 파일을 Android SDK 설치 위치로 다운로드해야 합니다. 지원 라이브러리 설정의 지원 라이브러리 다운로드 안내에 따라 이 단계를 완료하세요. 애플리케이션에 특정 지원 라이브러리를 포함하려면 추가 단계를 수행해야 합니다. 라이브러리를 애플리케이션에 포함하는 방법에 관한 중요한 정보는 아래의 각 라이브러리 섹션 끝부분을 참조하세요.

참고: 모든 지원 라이브러리 패키지의 최소 SDK 버전은 API 수준 14 이상입니다. 아래에 설명된 대로 일부 패키지에는 더 높은 API 수준이 필요합니다.

v4 지원 라이브러리

이러한 라이브러리에는 애플리케이션 구성요소, 사용자 인터페이스 기능, 접근성, 데이터 처리, 네트워크 연결 및 프로그래밍 유틸리티를 비롯하여 다른 라이브러리에 비해 가장 큰 API 집합이 포함됩니다.

v4 지원 라이브러리에서 제공하는 클래스 및 메서드에 관한 자세한 내용은 API 참조의 android.support.v4 패키지를 참조하세요.

참고: 지원 라이브러리 버전 24.2.0 이전에는 단일 v4 지원 라이브러리가 있었습니다. 이 라이브러리는 효율성을 개선하기 위해 여러 모듈로 분할되었습니다. 이전 버전과의 호환성을 위해 Gradle 스크립트에 support-v4를 나열하면 앱에 모든 v4 모듈이 포함됩니다. 그러나 앱 크기를 줄이려면 앱에 필요한 특정 모듈만 나열하는 것이 좋습니다.

v4 compat 라이브러리

Context.obtainDrawable()View.performAccessibilityAction()와 같은 여러 프레임워크 API용 호환성 래퍼를 제공합니다.

이 라이브러리의 Gradle 빌드 스크립트 종속성 식별자는 다음과 같습니다.

com.android.support:support-compat:28.0.0

v4 core-utils 라이브러리

AsyncTaskLoaderPermissionChecker와 같은 여러 유틸리티 클래스를 제공합니다.

이 라이브러리의 Gradle 빌드 스크립트 종속성 식별자는 다음과 같습니다.

com.android.support:support-core-utils:28.0.0

v4 core-ui 라이브러리

ViewPager, NestedScrollView, ExploreByTouchHelper와 같은 다양한 UI 관련 구성요소를 구현합니다.

이 라이브러리의 Gradle 빌드 스크립트 종속성 식별자는 다음과 같습니다.

com.android.support:support-core-ui:28.0.0

v4 media-compat 라이브러리

MediaBrowserMediaSession를 비롯한 미디어 프레임워크 부분을 백포트합니다.

이 라이브러리의 Gradle 빌드 스크립트 종속성 식별자는 다음과 같습니다.

com.android.support:support-media-compat:28.0.0

v4 fragment 라이브러리

프래그먼트로 사용자 인터페이스 및 기능을 캡슐화하는 기능을 추가하여 애플리케이션에서 소형 및 대형 화면 기기 간에 조정되는 레이아웃을 제공할 수 있도록 합니다. 이 모듈에는 compat, core-utils, core-uimedia-compat에 관한 종속 항목이 있습니다.

참고: v13 지원 라이브러리FragmentCompat 클래스를 제공합니다. v4 Fragment 클래스는 이후 플랫폼 버전에서 추가된 버그 수정을 제공하는 독립형 클래스인 반면, v13 FragmentCompat 클래스는 Fragment 클래스의 프레임워크 구현을 위한 호환성 심을 제공합니다.

이 라이브러리의 Gradle 빌드 스크립트 종속성 식별자는 다음과 같습니다.

com.android.support:support-fragment:28.0.0

Multidex 지원 라이브러리

이 라이브러리는 여러 Dalvik Executable(DEX) 파일을 사용하여 앱을 빌드할 수 있는 지원 기능을 제공합니다. multidex 구성을 사용하려면 65,536개 이상의 메서드를 참조하는 앱이 필요합니다. 멀티덱스 사용에 관한 자세한 내용은 64K개 이상의 메서드로 앱 빌드를 참조하세요.

이 라이브러리의 Gradle 빌드 스크립트 종속성 식별자는 다음과 같습니다.

com.android.support:multidex:1.0.0

v7 지원 라이브러리

이러한 라이브러리는 특정 기능 집합을 제공하며, 서로 독립적으로 애플리케이션에 포함할 수 있습니다.

v7 appcompat 라이브러리 Android Jetpack의 구성요소

참고: appcompat 라이브러리는 Android Jetpack 구성요소인 AndroidX 라이브러리로 이전했습니다. Sunflower 데모 앱에서 사용 예를 확인하세요.

이 라이브러리는 작업 모음 사용자 인터페이스 디자인 패턴 지원 기능을 추가합니다. 이 라이브러리에는 머티리얼 디자인 사용자 인터페이스 구현 지원 기능이 포함됩니다.

참고: 이 라이브러리는 v4 지원 라이브러리에 종속됩니다.

다음은 v7 appcompat 라이브러리에 포함된 몇몇 핵심 클래스입니다.

  • ActionBar - 작업 모음 사용자 인터페이스 패턴의 구현을 제공합니다. 작업 모음 사용에 관한 자세한 내용은 작업 모음 개발자 가이드를 참고하세요.
  • AppCompatActivity - 지원 라이브러리 작업 모음 구현을 사용하는 활동의 기본 클래스로 사용할 수 있는 애플리케이션 활동 클래스를 추가합니다.
  • AppCompatDialog - AppCompat 테마 대화상자의 기본 클래스로 사용할 수 있는 대화상자 클래스를 추가합니다.
  • ShareActionProvider - 작업 모음에 포함할 수 있는 표준화된 공유 작업 (예: 이메일 또는 소셜 애플리케이션에 게시) 지원을 추가합니다.

이 라이브러리의 Gradle 빌드 스크립트 종속성 식별자는 다음과 같습니다.

com.android.support:appcompat-v7:28.0.0

v7 cardview 라이브러리

이 라이브러리는 CardView 위젯 지원을 추가합니다. 이 위젯을 사용하면 모든 앱에서 일관된 모양의 카드 내에 정보를 표시할 수 있습니다. 이러한 카드는 머티리얼 디자인 구현에 유용하며 TV 앱의 레이아웃에 광범위하게 사용됩니다.

이 라이브러리의 Gradle 빌드 스크립트 종속성 식별자는 다음과 같습니다.

com.android.support:cardview-v7:28.0.0

v7 gridlayout 라이브러리

Android 지원 라이브러리를 다운로드한 후 이 라이브러리는 GridLayout 클래스 지원을 추가하여 직사각형 셀의 그리드를 사용하여 사용자 인터페이스 요소를 정렬할 수 있습니다. v7Gridlayout 라이브러리 API에 관한 자세한 내용은 API 참조의 android.support.v7.widget 패키지를 참고하세요.

이 라이브러리의 Gradle 빌드 스크립트 종속성 식별자는 다음과 같습니다.

com.android.support:gridlayout-v7:28.0.0

v7 mediarouter 라이브러리

이 라이브러리는 Google Cast를 지원하는 MediaRouter, MediaRouteProvider 및 관련 미디어 클래스를 제공합니다.

일반적으로 v7 mediarouter 라이브러리의 API는 현재 기기에서 외부 화면, 스피커, 기타 대상 기기로 미디어 채널과 스트림의 라우팅을 제어하는 수단을 제공합니다. 라이브러리에는 앱별 미디어 경로 제공자 게시, 대상 기기 검색 및 선택, 미디어 상태 확인 등을 위한 API가 포함되어 있습니다. v7 mediarouter 라이브러리 API에 관한 자세한 내용은 API 참조의 android.support.v7.media 패키지를 확인하세요.

이 라이브러리의 Gradle 빌드 스크립트 종속성 식별자는 다음과 같습니다.

com.android.support:mediarouter-v7:28.0.0

지원 라이브러리 r18에 도입된 v7 mediarouter 라이브러리 API는 지원 라이브러리의 이후 버전에서 변경될 수 있습니다. 현재는 Google Cast와 연결하여만 라이브러리를 사용하는 것이 좋습니다.

v7 palette 라이브러리

v7 palette 지원 라이브러리에는 Palette 클래스가 포함되어 있어 이미지에서 눈에 띄는 색상을 추출할 수 있습니다. 예를 들어 음악 앱은 Palette 객체를 사용하여 앨범 표지에서 주요 색상을 추출하고 이 색상을 사용해 색상으로 조정된 노래 제목 카드를 만들 수 있습니다.

이 라이브러리의 Gradle 빌드 스크립트 종속성 식별자는 다음과 같습니다.

com.android.support:palette-v7:28.0.0

v7 recyclerview 라이브러리

recyclerview 라이브러리는 RecyclerView 클래스를 추가합니다. 이 클래스는 제한된 데이터 항목 창을 제공하여 대규모 데이터 세트를 효율적으로 표시하는 뷰인 RecyclerView 위젯을 지원합니다.

이 라이브러리의 Gradle 빌드 스크립트 종속성 식별자는 다음과 같습니다.

com.android.support:recyclerview-v7:28.0.0

v7 Preference 지원 라이브러리

preference 패키지는 사용자가 UI 설정을 수정할 수 있도록 CheckBoxPreferenceListPreference와 같은 환경설정 객체 추가를 지원하는 API를 제공합니다.

v7 환경설정 라이브러리는 Preference.OnPreferenceChangeListenerPreference.OnPreferenceClickListener와 같은 인터페이스와 CheckBoxPreferenceListPreference와 같은 클래스 지원을 추가합니다.

이 라이브러리의 Gradle 빌드 스크립트 종속성 식별자는 다음과 같습니다.

com.android.support:preference-v7:28.0.0

v8 지원 라이브러리

이 라이브러리는 특정 기능 집합을 제공하며 다른 라이브러리와 독립적으로 애플리케이션에 포함할 수 있습니다.

v8 renderscript 라이브러리

이 라이브러리는 RenderScript 계산 프레임워크 지원 기능을 추가합니다. 이러한 API는 android.support.v8.renderscript 패키지에 포함되어 있습니다. 이러한 API를 애플리케이션에 포함하는 단계는 다른 지원 라이브러리 API와는 매우 다릅니다. 애플리케이션에서 이러한 API를 사용하는 방법에 관한 자세한 내용은 RenderScript 개발자 가이드를 참조하세요.

참고: Android 스튜디오 및 Gradle 기반 빌드에서는 RenderScript를 지원 라이브러리와 함께 사용할 수 있습니다. renderscript 라이브러리는 build-tools/$VERSION/renderscript/ 폴더에 있습니다.

다음 예는 이 라이브러리의 Gradle 빌드 스크립트 속성을 보여줍니다.

defaultConfig {
    renderscriptTargetApi 18
    renderscriptSupportModeEnabled true
}

v13 지원 라이브러리

이 라이브러리는 (FragmentCompat) 클래스 및 추가 프래그먼트 지원 클래스와 함께 프래그먼트 사용자 인터페이스 패턴 지원을 추가합니다. 프래그먼트에 관한 자세한 내용은 프래그먼트 개발자 가이드를 참고하세요. v13 지원 라이브러리 API에 관한 자세한 내용은 API 참조의 android.support.v13 패키지를 확인하세요.

참고: v4 프래그먼트 라이브러리Fragment 클래스를 제공합니다. v4 Fragment 클래스는 이후 플랫폼 버전에서 추가된 버그 수정을 제공하는 독립형 클래스인 반면, v13 FragmentCompat 클래스는 Fragment 클래스의 프레임워크 구현을 위한 호환성 심을 제공합니다.

이 라이브러리의 Gradle 빌드 스크립트 종속성 식별자는 다음과 같습니다.

com.android.support:support-v13:28.0.0

v14 Preference 지원 라이브러리

android.support.v14.preference 패키지는 MultiSelectListPreferencePreferenceFragment와 같은 클래스와 함께 PreferenceFragment.OnPreferenceStartFragmentCallbackPreferenceFragment.OnPreferenceStartScreenCallback와 같은 환경설정 인터페이스 지원을 추가하는 API를 제공합니다. v14 환경설정 지원 라이브러리 API에 관한 자세한 내용은 API 참조의 preference 패키지를 확인하세요.

이 라이브러리의 Gradle 빌드 스크립트 종속성 식별자는 다음과 같습니다.

com.android.support:preference-v14:28.0.0

TV용 v17 Preference 지원 라이브러리

android.support.v17.preference 패키지는 LeanbackListPreferenceDialogFragment.ViewHolder.OnItemClickListener 인터페이스 지원을 비롯한 TV 기기의 환경설정 인터페이스와 BaseLeanbackPreferenceFragmentLeanbackPreferenceFragment와 같은 클래스를 제공하는 API를 제공합니다. v17 환경설정 지원 라이브러리 API에 관한 자세한 내용은 API 참조의 preference 패키지를 확인하세요.

이 패키지에는 API 레벨 17 이상이 필요합니다. 이 라이브러리의 Gradle 빌드 스크립트 종속 항목 식별자는 다음과 같습니다.

 com.android.support:preference-leanback-v17:28.0.0 

v17 Leanback 라이브러리

android.support.v17.leanback 패키지는 TV 기기에서 사용자 인터페이스 빌드를 지원하는 API를 제공합니다. 또한 TV 앱을 위한 여러 가지 중요한 위젯을 제공합니다. 몇몇 주목할 만한 클래스는 다음과 같습니다.

이 패키지에는 API 레벨 17 이상이 필요합니다. 이 라이브러리의 Gradle 빌드 스크립트 종속 항목 식별자는 다음과 같습니다.

com.android.support:leanback-v17:28.0.0

벡터 드로어블 라이브러리

정적 벡터 그래픽 지원 기능을 제공합니다.

이 라이브러리의 Gradle 빌드 스크립트 종속 항목 식별자는 다음과 같습니다.

com.android.support:support-vector-drawable:28.0.0

애니메이션 벡터 드로어블 라이브러리

애니메이션 벡터 그래픽 지원 기능을 제공합니다.

이 라이브러리의 Gradle 빌드 스크립트 종속 항목 식별자는 다음과 같습니다.

com.android.support:animated-vector-drawable:28.0.0

주석 지원 라이브러리

Annotation 패키지는 앱에 주석 메타데이터 추가를 지원하는 API를 제공합니다.

이 라이브러리의 Gradle 빌드 스크립트 종속성 식별자는 다음과 같습니다.

com.android.support:support-annotations:28.0.0

디자인 지원 라이브러리

Design 패키지는 앱에 머티리얼 디자인 구성요소 및 패턴 추가를 지원하는 API를 제공합니다.

디자인 지원 라이브러리는 탐색 창, 플로팅 작업 버튼 (FAB), 스낵바, 등 앱 개발자가 빌드할 수 있는 다양한 머티리얼 디자인 구성요소 및 패턴에 관한 지원을 추가합니다.

이 라이브러리의 Gradle 빌드 스크립트 종속성 식별자는 다음과 같습니다.

com.android.support:design:28.0.0

맞춤 탭 지원 라이브러리

맞춤 탭 패키지는 앱에 맞춤 탭 추가 및 관리를 지원하는 API를 제공합니다.

맞춤 탭 지원 라이브러리는 맞춤 탭 서비스맞춤 탭 콜백과 같은 다양한 클래스 지원을 추가합니다.

이 패키지에는 API 레벨 15 이상이 필요합니다. 이 라이브러리의 Gradle 빌드 스크립트 종속성 식별자는 다음과 같습니다.

com.android.support:customtabs:28.0.0

퍼센트 지원 라이브러리

Percent 패키지는 앱에 비율 기반 측정기준 추가 및 관리를 지원하는 API를 제공합니다.

참고: 26.0.0 출시부터는 퍼센트 지원 라이브러리가 지원 중단됩니다. 이 모듈의 클라이언트는 SDK Manager에서 별도의 아티팩트로 제공되는 새로운 ConstraintLayout 위젯으로 이전해야 합니다.

퍼센트 지원 라이브러리는 PercentLayoutHelper.PercentLayoutParams 인터페이스 및 PercentFrameLayout, PercentRelativeLayout과 같은 다양한 클래스 지원을 추가합니다.

이 라이브러리의 Gradle 빌드 스크립트 종속성 식별자는 다음과 같습니다.

com.android.support:percent:28.0.0

ExifInterface 지원 라이브러리

Exif 태그는 방향, 날짜 및 시간, 카메라 정보, 위치 등의 정보를 JPEG 또는 RAW 파일에 직접 저장합니다. ExifInterface 클래스는 JPEG 및 원시 (DNG, CR2, NEF, NRW, ARW, RW2, ORF, PEF, SRW, RAF) 형식 파일에서 Exif 정보 읽기 및 JPEG 이미지 파일에 Exif 정보 설정 지원 기능을 분리합니다.

이 라이브러리의 Gradle 빌드 스크립트 종속성 식별자는 다음과 같습니다.

com.android.support:exifinterface:28.0.0

TV용 앱 추천 지원 라이브러리

App Recommendation 패키지는 TV 기기에서 실행되는 앱에 콘텐츠 추천을 추가할 수 있는 API를 제공합니다.

앱 라이브러리는 ContentRecommendation.ContentMaturity와 같은 주석과 ContentRecommendation, RecommendationExtender와 같은 다양한 클래스를 추가로 지원합니다.

이 패키지에는 API 수준 21 이상이 필요합니다. 이 라이브러리의 Gradle 빌드 스크립트 종속성 식별자는 다음과 같습니다.

com.android.support:recommendation:28.0.0

Wear UI 라이브러리

이 라이브러리에는 Wear 앱의 사용자 인터페이스를 빌드하기 위한 API가 있습니다. 이 API는 android.support.wear.widget 패키지에서 사용할 수 있으며 웨어러블 지원 라이브러리에서 상응하는 API를 대체합니다.

자세한 내용은 Wear UI 라이브러리 사용을 참고하세요.

이 라이브러리의 Gradle 빌드 스크립트 종속성 식별자는 다음과 같습니다.

com.android.support:wear:28.0.0