注: Android 9.0(API レベル 28)のリリース以降、Jetpack の一部として AndroidX という新しいバージョンのサポート ライブラリが導入されました。AndroidX ライブラリには既存のサポート ライブラリのほか、最新の Jetpack コンポーネントも含まれています。
サポート ライブラリは引き続きご利用いただけます。過去のアーティファクト(バージョン 27 以前で android.support.*
としてパッケージ化されたもの)は、Google Maven で引き続き利用できます。ただし、新しいライブラリ開発はすべて AndroidX ライブラリ内で行うことになります。
すべての新しいプロジェクトに AndroidX ライブラリを使用することをおすすめします。また、既存のプロジェクトを AndroidX に移行することもご検討ください。
開発プロジェクトで Android サポート ライブラリを設定する方法は、使用する機能と、アプリでサポートする Android プラットフォーム バージョンの範囲によって異なります。
このドキュメントでは、サポート ライブラリ パッケージをダウンロードして開発環境にライブラリを追加する方法について説明します。
サポート ライブラリが Google の Maven リポジトリから利用できるようになりました。SDK Manager からのライブラリのダウンロードはサポートされなくなりました。この機能はまもなく削除されます。
サポート ライブラリの選択
サポート ライブラリをアプリに追加する前に、含める機能と、サポートする最小バージョンの Android を決定します。各ライブラリで提供される機能の詳細については、サポート ライブラリの機能をご覧ください。
Support Library の追加
サポート ライブラリを使用するには、開発環境内でアプリケーションのプロジェクトのクラスパス依存関係を変更する必要があります。この手順は、使用するサポート ライブラリごとに行う必要があります。
アプリのプロジェクトにサポート ライブラリを追加するには:
- プロジェクトの
settings.gradle
ファイルに Google の Maven リポジトリを含めます。dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() // If you're using a version of Gradle lower than 4.1, you must // instead use: // // maven { // url 'https://maven.google.com' // } } }
- サポート ライブラリを使用するモジュールごとに、モジュールの
build.gradle
ファイルのdependencies
ブロックにライブラリを追加します。たとえば、v4 core-utils ライブラリを追加するには、次の行を追加します。dependencies { ... implementation "com.android.support:support-core-utils:28.0.0" }
注意: 動的依存関係(palette-v7:23.0.+
など)を使用すると、予期しないバージョン アップデートや回帰による非互換性が生じる可能性があります。ライブラリのバージョン(palette-v7:28.0.0
など)を明示的に指定することをおすすめします。
Support Library API の使用
既存のフレームワーク API をサポートするサポート ライブラリ クラスは通常、フレームワーク クラスと同じ名前になりますが、android.support
クラス パッケージに配置されるか、*Compat
サフィックスが付きます。
注意: サポート ライブラリのクラスを使用する場合は、必ず適切なパッケージからクラスをインポートしてください。たとえば、ActionBar
クラスを適用する場合は次のようになります。
- サポート ライブラリを使用する場合:
android.support.v7.app.ActionBar
- API レベル 11 以降だけを対象に開発する場合:
android.app.ActionBar
注: アプリ プロジェクトにサポート ライブラリを追加した後は、リリースに向けてアプリを圧縮、難読化、最適化することを強くおすすめします。難読化によってソースコードが保護されるだけでなく、圧縮により、アプリに含めるすべてのライブラリから使用されていないクラスが削除されるため、アプリのダウンロード サイズを可能な限り小さくすることができます。
サポート ライブラリの一部の機能の使用方法については、Android デベロッパーのトレーニング クラス、ガイド、サンプルをご覧ください。サポート ライブラリの個々のクラスとメソッドについて詳しくは、API リファレンスの android.support
パッケージをご覧ください。
マニフェストの宣言の変更
サポート ライブラリを使用して既存のアプリの下位互換性を以前のバージョンの Android API に高める場合は、必ずアプリのマニフェストを更新してください。具体的には、次のように、マニフェストの
<uses-sdk>
タグの android:minSdkVersion
要素を新しい小さいバージョン番号に更新する必要があります。
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="23" />
マニフェスト設定は、Android 4.0(API レベル 14)以降を搭載したデバイスにアプリをインストールできることを Google Play に伝えます。
Gradle ビルドファイルを使用している場合は、ビルドファイルの minSdkVersion
設定がマニフェスト設定をオーバーライドします。
plugins { id 'com.android.application' } android { ... defaultConfig { minSdkVersion 16 ... } ... }
この場合、ビルドファイルの設定は、アプリのデフォルトのビルド バリアントを Android 4.1(API レベル 16)以降を搭載しているデバイスにインストールできることを Google Play に伝えます。ビルド バリアントの詳細については、ビルドシステムの概要をご覧ください。
注: 複数のサポート ライブラリを含める場合、最小 SDK バージョンは、指定したライブラリのいずれかで必要とされる最高バージョンである必要があります。たとえば、アプリに v14 Preference サポート ライブラリと v17 Leanback ライブラリの両方が含まれている場合、最小 SDK バージョンは 17 以上である必要があります。