The Android Developer Challenge is back! Submit your idea before December 2.

Support Library のセットアップ

注: Android 9.0(API レベル 28)のリリースにより、Jetpack の一部として AndroidX と呼ばれる新しいバージョンのサポート ライブラリが登場しました。AndroidX ライブラリには既存のサポート ライブラリのほか、最新の Jetpack コンポーネントも含まれています。

サポート ライブラリは引き続きご利用いただけます。過去のアーティファクト(バージョン 27 以前で android.support.* としてパッケージ化されたもの)は、Google Maven でそのまま利用可能です。ただし、新しいライブラリ開発はすべて AndroidX ライブラリで行われます。

すべての新しいプロジェクトで AndroidX ライブラリを使用することをおすすめします。また、既存のプロジェクトを AndroidX に移行することもご検討ください。

開発プロジェクトで Android Support Library をセットアップする方法は、使用する機能と、アプリでサポートする Android プラットフォーム バージョンの範囲によって異なります。

このドキュメントでは、Support Library パッケージをダウンロードして、開発環境にライブラリを追加する手順について説明します。

サポート ライブラリは、Google の Maven リポジトリから入手できるようになりました。現在、SDK Manager を使用したライブラリのダウンロードはサポートされておらず、この機能はまもなく削除されます。

Support Library の選択

Support Library をアプリに追加する前に、アプリに含める機能と、サポートする最小 Android バージョンを決定します。さまざまなライブラリによって提供される機能の詳細については、Support Library の機能をご覧ください。

Support Library の追加

Support Library を使用するには、開発環境内でアプリ プロジェクトのクラスパス依存関係を変更する必要があります。使用する Support Library ごとにこの手順を行ってください。

アプリのプロジェクトに Support Library を追加するには:

  1. 最上位の build.gradle ファイルに Google の Maven リポジトリを含めます。
        allprojects {
            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. サポート ライブラリを 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 が付いていたりします。

注意: Support Library のクラスを使用するときは、必ず適切なパッケージからクラスを読み込んでください。たとえば、ActionBar クラスを適用する場合は次のとおりです。

  • Support Library を使用する場合: android.support.v7.app.ActionBar
  • API レベル 11 以上のみを対象に開発する場合: android.app.ActionBar

注: アプリ プロジェクトに Support Library を追加した後は、アプリの APK のリリースに備えて ProGuard ツールを使用することをおすすめします。ProGuard ツールはソース コードの保護に加えて、アプリに追加したどのライブラリからも使用されていないクラスを削除し、アプリのダウンロード サイズを最小限に抑えます。詳細については、ProGuard をご覧ください。

Support Library 機能の使用に関する詳細は、Android デベロッパーのトレーニング クラスガイド、サンプルをご覧ください。Support Library の個々のクラスやメソッドについては、API リファレンスの android.support パッケージをご覧ください。

マニフェストの宣言の変更

Support Library を使用して、既存アプリの下位互換性を以前のバージョンの Android API にまで広げる場合は、必ずアプリのマニフェストを更新してください。具体的には、以下に示すようにマニフェストの <uses-sdk> タグの android:minSdkVersion 要素を新しい下位のバージョン番号に更新する必要があります。

      <uses-sdk
          android:minSdkVersion="14"
          android:targetSdkVersion="23" />
    

このマニフェストの設定は、アプリが Android 4.0(API レベル 14)以上を搭載するデバイスにインストール可能であることを Google Play に示します。

Gradle ビルドファイルを使用している場合、マニフェストの設定よりもビルドファイル内の minSdkVersion の設定が優先されます。

    apply plugin: 'com.android.application'

    android {
        ...

        defaultConfig {
            minSdkVersion 16
            ...
        }
        ...
    }
    

この例のビルドファイルの設定は、アプリのデフォルトのビルド バリアントが Android 4.1(API レベル 16)以上を搭載するデバイスにインストール可能であることを Google Play に示します。ビルド バリアントの詳細については、ビルドシステムの概要をご覧ください。

注: 複数のサポート ライブラリを追加する場合は、指定したライブラリで必要な最新バージョンを最小 SDK バージョンにする必要があります。たとえば、アプリに v14 Preference Support Libraryv17 Leanback Library の両方を追加する場合は、最小 SDK バージョンを 17 以上にしてください。