サポート ライブラリのセットアップ

注: 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 の機能をご覧ください。

Support Library の追加

サポート ライブラリを使用するには、開発環境内でアプリケーションのプロジェクトのクラスパス依存関係を変更する必要があります。使用する Support Library ごとにこの手順を実行します。

アプリのプロジェクトにサポート ライブラリを追加するには:

  1. Google の Maven リポジトリをプロジェクトの settings.gradle ファイルに含めます。
    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'
            // }
        }
    }
  2. サポート ライブラリを使用するモジュールごとに、ライブラリをモジュールの 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 のサポートを提供する Support Library クラスには、通常はフレームワーク クラスと同じ名前が付いていますが、android.support クラス パッケージに配置されていたり、末尾に *Compat が付いていたりします。

注意: サポート ライブラリのクラスを使用する場合は、必ず適切なパッケージからクラスをインポートしてください。たとえば、ActionBar クラスを適用する場合は次のようになります。

  • サポート ライブラリを使用する場合: android.support.v7.app.ActionBar
  • API レベル 11 以降だけを対象に開発する場合: android.app.ActionBar

注: サポート ライブラリをアプリ プロジェクトに組み込んだ後は、リリースに向けて、アプリを圧縮、難読化、最適化することを強くおすすめします。難読化によってソースコードを保護するだけでなく、圧縮することで、アプリに含まれるライブラリから不要なクラスが削除され、アプリのダウンロード サイズを可能な限り抑えることができます。

サポート ライブラリ機能の使用方法については、Android デベロッパーのトレーニング クラスガイド、サンプルをご覧ください。Support Library の個々のクラスやメソッドについては、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 バージョンを最小 SDK バージョンとして設定する必要があります。たとえば、v14 preference サポート ライブラリv17 Leanback ライブラリの両方をアプリに組み込んでいる場合は、最小 SDK バージョンを 17 以上にする必要があります。