Skip to content

Most visited

Recently visited

navigation

さまざまな密度に適用可能なベクター グラフィックの追加

Android Studio には Vector Asset Studio というツールが含まれています。このツールはマテリアル アイコンを追加したり、Scalable Vector Graphic(SVG)ファイルや Adobe Photoshop ドキュメント(PSD)ファイルをベクター型ドローアブル リソースとしてプロジェクトにインポートしたりする際に役立ちます。ビットマップの代わりにベクター型ドローアブルを使用すると、画質を下げずに同じファイルのサイズを変更してさまざまな画面密度に合わせることができるため、APK のサイズが小さくなります。ベクター型ドローアブルをサポートしていない古いバージョンの Android 向けに、Vector Asset Studio では、ビルド時にベクター型ドローアブルを各画面密度に合わせて異なるサイズのビットマップに変換できます。

Vector Asset Studio の概要

Vector Asset Studio では、画像について記述する XML ファイルとして、ベクター グラフィックをプロジェクトに追加します。単一の XML ファイルを管理するほうが、解像度の異なる複数のラスター グラフィックを更新するよりも簡単です。

Android 4.4(API レベル 20)以下では、ベクター型ドローアブルはサポートされていません。最小 API レベルを 20 以下に設定してある場合に、Vector Asset Studio を使用する方法は 2 通りあります。 Portable Network Graphic(PNG)ファイルを生成する方法(既定)と Support Library を使用する方法です。

後方互換性を確保するために、Vector Asset Studio では、ベクター型ドローアブルのラスター画像を生成します。ベクターとラスターのドローアブルは、一緒に APK にパッケージ化されます。ベクター型ドローアブルは Drawable(Java コード)または @drawable(XML コード)として参照できます。アプリを実行すると API レベルに応じて対応するベクター画像またはラスター画像が自動で表示されます。

ベクター型ドローアブルのみを使用する場合は、Android Support Library 23.2 以上を使用できます。このテクニックを使用するには、build.gradle ファイルに変更を加えてから Vector Asset Studio を実行する必要があります。Support Library の後方互換性をご覧ください。Support Library にある VectorDrawableCompat クラスを使用すると、Android 2.1(API レベル 7)以上で VectorDrawable をサポートできます。

サポートされているベクター グラフィックのタイプ

Google マテリアル デザインの仕様には、Android アプリで使用できるマテリアル アイコンが提示されています。Vector Asset Studio は、マテリアル アイコンの選択、インポート、サイズ変更に役立ち、不透明度と右から左(RTL)のミラーリング設定を定義する際にも便利です。

Vector Asset Studio を使用すると、独自の SVG ファイルや PSD ファイルをインポートすることもできます。SVG は、ワールド ワイド ウェブ コンソーシアム(W3C)の XML ベースのオープン スタンダードです。PSD ファイル形式は Adobe Photoshop の機能をサポートしています。Vector Asset Studio では、必須のスタンダードをサポートしていますが、SVG と PSD の機能の一部はサポートしていません。SVG ファイルや PSD ファイルを指定すると、サポート対象のグラフィック コードであるかどうかが即座に Vector Asset Studio からフィードバックされます。ファイルは VectorDrawable コードを含む XML ファイルに変換されます。エラーが表示される場合は、ベクター型ドローアブルが想定通りに表示されることを確認する必要があります。使用可能な PSD 機能の詳細については、PSD ファイルのサポートと制限事項をご覧ください。

Android 5.0(API レベル 21)以上の場合は、AnimatedVectorDrawable クラスを使用して VectorDrawable クラスのプロパティをアニメーション化できます。Support Library を使用すると、AnimatedVectorDrawableCompat クラスを使用して Android 3.0(API レベル 11)以上で VectorDrawable クラスをアニメーション化できます。詳細については、ベクター型ドローアブルにアニメーションを付けるをご覧ください。

SVG ファイルと PSD ファイルの考慮事項

ベクター型ドローアブルは単純なアイコンに適しています。ベクター型ドローアブルに適したアプリ内の画像のタイプの一例としてマテリアル アイコンがあります。一方、多くのアプリ起動アイコンは入り組んだデザインになっているため、ラスター画像のほうが適しています。

ベクター型ドローアブルの初期読み込みは、対応するラスター画像と比べて CPU サイクルを余計に消費しがちです。その他の点においては、両者のメモリ使用量とパフォーマンスに差はありません。ベクター画像のサイズは最大 200 x 200 dp までに制限することをお勧めします。このサイズを超えると、描画に時間がかかりすぎることがあります。

ベクター型ドローアブルでは 1 つ以上の色をサポートしていますが、通常は、アイコンの色を黒(android:fillColor="#FF000000")にするのが適切な手法です。この手法を使用すると、レイアウトに配置するベクター型ドローアブルに淡彩を追加でき、アイコンの色がこの淡彩に変更されます。アイコンの色が黒でない場合は、代わりに、そのアイコンの色が淡彩とブレンドされます。

ベクター型ドローアブルの後方互換性ソリューション

次の表に、後方互換性を確保するために使用できる 2 種類のテクニックの概要を示します。

テクニック APK 内のドローアブル VectorDrawable XML 要素 バージョン ビルドフラグ アプリコード
PNG 生成 ベクターとラスター 一部をサポート

SVG:Android Plugin for Gradle 1.5.0 以上

PSD:Android Studio 2.2 以上

既定 多様なコーディング テクニックをサポート
Support Library 23.2 以上 ベクター 完全にサポート Android Plugin for Gradle 2.0 以上 Support Library 文が必要 一部のコーディング テクニックをサポート

ベクター型ドローアブルを使用すると APK のサイズを縮小できますが、ベクター型ドローアブルの初期読み込みは時間がかかることがあります。

PNG 生成

Android 5.0(API レベル 21)以上は、ベクター型ドローアブルに対応しています。アプリの最小 API レベルがそれよりも低い場合は、Vector Asset Studio によってベクター型ドローアブル ファイルがプロジェクトに追加され、ビルド時には、Gradle によってさまざまな解像度の PNG ラスター画像も作成されます。Gradle では、build.gradle ファイルで Domain Specific Language (DSL)の generatedDensities プロパティによって指定されている解像度で PNG を生成します。

Android 5.0(API レベル 21)以上の場合、Vector Asset Studio ではすべての VectorDrawable 要素をサポートしています。Android 4.4(API レベル 20)以下との後方互換性を確保するために、Vector Asset Studio では以下の XML 要素をサポートしています。

<vector>

  • android:width
  • android:height
  • android:viewportWidth
  • android:viewportHeight
  • android:alpha

<group>

  • android:rotation
  • android:pivotX
  • android:pivotY
  • android:scaleX
  • android:scaleY
  • android:translateX
  • android:translateY

<path>

  • android:pathData
  • android:fillColor
  • android:strokeColor
  • android:strokeWidth
  • android:strokeAlpha
  • android:fillAlpha
  • android:strokeLineCap
  • android:strokeLineJoin
  • android:strokeMiterLimit

android:fillColor="?android:attr/colorControlNormal" などの動的属性をサポートしているのは、Android 5.0(API レベル 21)以上のみです。

ベスト プラクティスではありませんが、Vector Asset Studio によって生成された XML コードを変更することは可能です。コード内の値を変更しても、この値が有効であり静的である限り、問題は発生しません。XML 要素を追加する場合は、最小 API レベルに応じたサポート対象の要素であることを確認する必要があります。

Support Library

このテクニックでは、Android Support Library 23.2 以上と Android Plugin for Gradle 2.0 以上が必要で、ベクター型ドローアブルのみを使用します。Support Library にある VectorDrawableCompat クラスを使用すると、Android 2.1(API レベル 7)以上で VectorDrawable をサポートできます。

Vector Asset Studio を使用する前に、build.gradle ファイルに次の文を追加する必要があります。

android {
  defaultConfig {
    vectorDrawables.useSupportLibrary = true
  }
}

dependencies {
  compile 'com.android.support:appcompat-v7:23.2.0'
}

Support Library と互換性のあるコーディング テクニックを使用する必要もあります。たとえば、ベクター型ドローアブルには、android:src 属性ではなく app:srcCompat 属性を使用します。詳細については、Android Support Library 23.2 をご覧ください。

Vector Asset Studio の実行

Vector Asset Studio を起動する方法は次のとおりです

  1. Android Studio で Android アプリのプロジェクトを開きます。
  2. [Project] ウィンドウで [Android] ビューを選択します。
  3. res フォルダを右クリックし、[New] > [Vector Asset] の順に選択します。
  4. 他のプロジェクト ビューとフォルダにも、このメニュー項目があります。

    Vector Asset Studio が表示されます。

    図 1. Vector Asset Studio

  5. 代わりに [Need Newer Android Plugin for Gradle] ダイアログが表示される場合は、次のように Gradle バージョンを修正します。
    1. [File] > [Project Structure] の順に選択します。
    2. [Project Structure] ダイアログで [Project] を選択します。
    3. [Android Plugin Version] フィールドで、Android Plugin for Gradle のバージョンを 1.5.0 以上に変更し、[OK] をクリックします。
    4. Gradle がプロジェクトを同期します。

    5. [Project] ウィンドウの Android ビューで、res フォルダを右クリックし、[New] > [Vector Asset] の順に選択します。
    6. Vector Asset Studio が表示されます。

  6. ベクター グラフィックのインポートを続行します。

ベクター グラフィックのインポート

Vector Asset Studio は、ベクター グラフィック ファイルをアプリ プロジェクトにインポートする際に役立ちます。次のいずれかの手順に従います。

マテリアル アイコンの追加

Vector Asset Studio を開いてから、次の手順でマテリアル アイコンを追加できます。

  1. Vector Asset Studio で [Material Icon] を選択します。
  2. [Icon] フィールドでボタンをクリックします。
  3. [Select Icon] ダイアログでマテリアル アイコンを選択し、[OK] をクリックします。
  4. アイコンは [Vector Drawable Preview] に表示されます。

  5. 任意で、リソース名、サイズ、不透明度、右から左(RTL)のミラーリング設定を変更します。
    • [Name] - デフォルト名を使用しない場合は、新しい名前を入力します。Vector Asset Studio では、同じリソース名がすでにプロジェクトに存在する場合、一意の名前を自動的に作成します(名前の末尾に番号を追加)。名前には、小文字、アンダースコア、および数字のみを含めることができます。
    • [Override] - 画像のサイズを調整する場合、このオプションを選択します。新しいサイズを入力すると、変更がプレビュー領域に表示されます。
    • 既定値は 24 x 24 dp です。この値は、マテリアル デザイン仕様に定義されています。既定値に戻すにはチェックボックスをオフにします。

    • [Opacity] - このスライダーを使用して画像の不透明度を調節します。変更はプレビュー領域に表示されます。
    • [Enable auto mirroring for RTL layout] - レイアウトが左から右ではなく右から左の場合に、表示する画像をミラーリングするとき、このオプションをオンにします。たとえば、一部の言語は右から左に読みます。よって、矢印アイコンがあれば、ミラーリングされた画像を表示しなければならないことがあります。古いバージョンのプロジェクトで作業している場合は、android:supportsRtl="true" をアプリのマニフェストに追加しなければならないこともあります。自動ミラーリングは Android 5.0(API レベル 21)以上でサポートされており、Support Library を使用します。
  6. [Next] をクリックします。
  7. 任意で、モジュールとリソースのディレクトリを変更します。
    • [Res Directory] - ベクター型ドローアブルを追加するリソース ソースセット(src/main/ressrc/debug/ressrc/release/res、またはユーザー定義のソースセット)を選択します。メイン ソースセットは、デバッグとリリースを含むすべてのビルド バリアントに適用されます。デバッグ ソースセットとリリース ソースセットはメイン ソースセットよりも優先され、ビルドの 1 つのバージョンに適用されます。デバッグ ソースセットはデバッグのみに対応します。新しいソースセットを定義する場合は、[File] > [Project Structure] > [app] > [Build Types] を選択します。たとえば、ベータ ソースセットを定義し、右下隅にテキスト「BETA」を含むアイコンのバージョンを作成できます。詳細については、ビルド バリアントの設定をご覧ください。

    [Output Directories] 領域にベクター型ドローアブルと、表示先のディレクトリが表示されます。

  8. [Finish] をクリックします。
  9. Vector Asset Studio によって、ベクター型ドローアブルを定義する XML ファイルがプロジェクトの app/src/main/res/drawable/ フォルダに追加されます。[Project] ウィンドウの Android ビューで、drawable フォルダにある生成されたベクター XML ファイルを表示できます。

  10. プロジェクトをビルドします。
  11. 最小 API レベルが Android 4.4(API レベル 20)以下で、Support Library テクニックをまだ有効にしていない場合、Vector Asset Studio は PNG ファイルを生成します。[Project] ウィンドウの Project Files ビューで、app/build/generated/res/pngs/debug/ フォルダにある生成された PNG ファイルと XML ファイルを表示できます。

    生成されたこれらのラスター ファイルは編集しないで、代わりにベクター XML ファイルで作業してください。ラスター ファイルはビルドシステムによって必要に応じて自動で再生成されるため、ラスター ファイルを管理する必要はありません。

SVG または PSD ファイルのインポート

Vector Asset Studio を開いてから、次の手順で SVG ファイルや PSD ファイルをインポートできます。

  1. Vector Asset Studio で [Local file] を選択します。
  2. ファイルはローカル ドライブ上に存在する必要があります。ネットワーク上などにある場合は、まず、ローカル ドライブにダウンロードしてください。

  3. [] をクリックして画像ファイルを指定します。
  4. 画像は [Vector Drawable Preview] に表示されます。

    サポートされていない機能を含む SVG ファイルまたは PSD ファイルの場合は、図 2 に示すように Vector Asset Studio の下部にエラーが表示されます。

    図 2. エラーが表示されている Vector Asset Studio

    エラーが表示される場合は、インポートしたベクター型ドローアブルが適切にレンダリングされることを確認する必要があります。エラーを表示するには、リストをスクロールします。

    サポートされている要素のリストについては、ベクター型ドローアブルの後方互換性ソリューションをご覧ください。使用可能な PSD ファイルの詳細については、PSD ファイルのサポートと制限事項をご覧ください。

  5. 任意で、リソース名、サイズ、不透明度、右から左(RTL)のミラーリング設定を変更します。
    • [Name] - デフォルト名を使用しない場合は、新しい名前を入力します。Vector Asset Studio では、同じリソース名がすでにプロジェクトに存在する場合、一意の名前を自動的に作成します(名前の末尾に番号を追加)。名前には、小文字、アンダースコア、および数字のみを含めることができます。
    • [Override] - 画像のサイズを調整する場合、このオプションを選択します。これをオンにすると、サイズが画像自体のサイズに変わります。サイズを変更するたびに、変更がプレビュー領域に表示されます。既定値は 24 x 24 dp です。この値は、マテリアル デザイン仕様に定義されています。
    • [Opacity] - このスライダーを使用して画像の不透明度を調節します。変更はプレビュー領域に表示されます。
    • [Enable auto mirroring for RTL layout] - レイアウトが左から右ではなく右から左の場合に、表示する画像をミラーリングするとき、このオプションをオンにします。たとえば、一部の言語は右から左に読みます。よって、矢印アイコンがあれば、ミラーリングされた画像を表示しなければならないことがあります。古いバージョンのプロジェクトで作業している場合は、android:supportsRtl="true" をアプリのマニフェストに追加しなければならないことがあります。自動ミラーリングは Android 5.0(API レベル 21)以上と Support Library によってサポートされています。
  6. [Next] をクリックします。
  7. 任意でリソース ディレクトリの変更もできます。
    • [Res Directory] - ベクター型ドローアブルを追加するリソース ソースセット(src/main/ressrc/debug/ressrc/release/res、またはユーザー定義のソースセット)を選択します。メイン ソースセットは、デバッグとリリースを含むすべてのビルド バリアントに適用されます。デバッグ ソースセットとリリース ソースセットはメイン ソースセットよりも優先され、ビルドの 1 つのバージョンに適用されます。デバッグ ソースセットはデバッグのみに対応します。新しいソースセットを定義する場合は、[File] > [Project Structure] > [app] > [Build Types] を選択します。たとえば、ベータ ソースセットを定義し、右下隅にテキスト「BETA」を含むアイコンのバージョンを作成できます。詳細については、ビルド バリアントの設定をご覧ください。

    [Output Directories] 領域にベクター型ドローアブルと、表示先のディレクトリが表示されます。

  8. [Finish] をクリックします。
  9. Vector Asset Studio によって、ベクター型ドローアブルを定義する XML ファイルがプロジェクトの app/src/main/res/drawable/ フォルダに追加されます。[Project] ウィンドウの Android ビューで、drawable フォルダにある生成されたベクター XML ファイルを表示できます。

  10. プロジェクトをビルドします。
  11. 最小 API レベルが Android 4.4(API レベル 20)以下で、Support Library テクニックをまだ有効にしていない場合、Vector Asset Studio は PNG ファイルを生成します。[Project] ウィンドウの Project Files ビューで、app/build/generated/res/pngs/debug/ フォルダにある生成された PNG ファイルと XML ファイルを表示できます。

    生成されたこれらのラスター ファイルは編集しないで、代わりにベクター XML ファイルで作業してください。ラスター ファイルはビルドシステムによって必要に応じて自動で再生成されるため、ラスター ファイルを管理する必要はありません。

レイアウトにベクター型ドローアブルを追加する

レイアウト ファイル内で、ImageButtonImageView など、ベクター型ドローアブルを指すアイコン関連のウィジェットを設定できます。たとえば、次のレイアウトは、ボタン上に表示されたベクター型ドローアブルを示します。

図 3. レイアウト内のボタン上に表示されたベクター型ドローアブル

図のようにベクター型ドローアブルをウィジェット上に表示する方法は次のとおりです。

  1. プロジェクトを開きベクター型ドローアブルをインポートします。
  2. この例では、New Project ウィザードを使用して生成した Phone/Tablet プロジェクトを使用します。

  3. [Project] ウィンドウの Android ビューで、content_main.xml などのレイアウト ファイルをダブルクリックします。
  4. [Design] タブをクリックして Layout Editor を表示します。
  5. [Palette] ウィンドウから Layout Editor へ ImageButton ウィジェットをドラッグします。
  6. [Resources] ダイアログで、左側のパネルの [Drawable] を選択してから、インポートしたベクター型ドローアブルを選択します。[OK] をクリックします。
  7. ベクター型ドローアブルがレイアウトの ImageButton 上に表示されます。

  8. 画像の色をテーマで定義されているアクセント カラーに変えるには、[Properties] ウィンドウで [tint] プロパティを見つけ、[] をクリックします。
  9. [Resources] ダイアログで、左側のパネルの [Color] を選択してから [colorAccent] を選択します。[OK] をクリックします。
  10. レイアウト内で画像の色がアクセント カラーに変わります。

Support Library を使用しているプロジェクトの場合、ImageButton コードは次のようになります。

<ImageButton
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  app:srcCompat="@drawable/ic_build_black_24dp"
  tools:layout_editor_absoluteX="11dp"
  tools:layout_editor_absoluteY="225dp"
  android:id="@+id/imageButton"
  android:tint="@color/colorAccent" />

Support Library を使用していないプロジェクトの場合、これに代わるベクター型ドローアブル コードは android:src="@drawable/ic_build_black_24dp" のようになります。

コードでのベクター型ドローアブルの参照

通常、ベクター型ドローアブル リソースは汎用的な方法によってコード内で参照できます。アプリが実行されると、API レベルに応じて、対応するベクター画像またはラスター画像が自動的に表示されます。

ベクター型ドローアブル リソースには、メインスレッドからのみアクセスできます。

Support Library テクニックでは、Support Library と互換性のあるコーディング テクニックを使用する必要があります。詳細については、Android Support Library 23.2 をご覧ください。

Vector Asset Studio によって生成された XML コードを修正する

ビルド時に生成される PNG や対応する XML コードは修正できませんが、ベクター型ドローアブルの XML コードは修正できます。ただし、この修正は推奨されません。

PNG 生成テクニックを使用する場合、Vector Asset Studio では、ベクター型ドローアブルと PNG が一致していることと、マニフェストに適切なコードが含まれていることを確認します。Android 4.4(API レベル 20)以下ではサポートされていないコードを追加すると、ベクター画像と PNG 画像が異なることがあります。変更内容をサポートするコードがマニフェストに含まれていることを確認する必要もあります。

Support Library テクニックを使用しない場合に、ベクター XML ファイルを修正する方法は次のとおりです。

  1. [Project] ウィンドウで、drawable フォルダにある生成されたベクター XML ファイルをダブルクリックします。
  2. XML ファイルがエディタと [Preview] ウィンドウに表示されます。

    図 4. Code Editor と [Preview] ウィンドウに表示されたベクター XML ファイル

  3. 最小 API レベルによってサポートされている機能に応じて XML コードを編集します。
    • Android 5.0(API レベル 21)以上の場合、Vector Asset Studio ではすべての Drawable 要素と VectorDrawable 要素をサポートしています。XML 要素の追加と、値の変更が可能です。
    • Android 4.4(API レベル 20)以下の場合、Vector Asset Studio では、すべての Drawable 要素と、VectorDrawable 要素の一部をサポートしています。リストについては、ベクター型ドローアブルの後方互換性ソリューションをご覧ください。生成されたコード内の値を変更でき、サポートされている XML 要素を追加できます。動的属性はサポートされていません。
  4. プロジェクトをビルドし、ベクター型ドローアブルと、対応するラスター画像が同じように見えることを確認します。
  5. 生成された PNG は、[Preview] ウィンドウ内とアプリ内で表示が異なることがあります。これはレンダリング エンジンが異なることと、ビルド前にベクター型ドローアブルに対して加えた任意の変更が原因です。Vector Asset Studio によって作成されたベクター XML ファイルにコードを追加する場合、Android 4.4(API レベル 20)以下でサポートされていない機能は、生成される PNG ファイルに反映されません。このため、コードを追加する場合は、生成された PNG がベクター型ドローアブルと一致していることを必ず確認する必要があります。これを行うには、[Project] ウィンドウの Project Files ビューで PNG をダブルクリックします。図 5 に示すように、コードでドローアブルを参照しているときは、Code Editor の左方のマージンにも PNG 画像が表示されます。

    図 5. Code Editor の左方のマージンに表示された PNG 画像

プロジェクトからベクター型ドローアブルを削除する

プロジェクトからベクター型ドローアブルを削除する方法は次のとおりです。

  1. [Project] ウィンドウで、ファイルを選択し、Delete キーを押す(または [Edit] > [Delete] の順に選択する)ことによって、生成されたベクター XML ファイルを削除します。
  2. [Safe Delete] ダイアログが表示されます。

  3. ファイルがプロジェクトで使用されている場所を検出するオプションを選択して [OK] をクリックすることもできます。
  4. Android Studio はプロジェクトとドライブからファイルを削除します。ただし、ファイルが使用されているプロジェクトの場所を検索するよう選択して、実際にファイルが使用されていることが確認できた場合は、ファイルを表示して、削除するかどうか判断することができます。

  5. [Build] > [Clean Project] を選択します。
  6. 削除したベクター型ドローアブルに対応する自動生成されたすべての PNG ファイルと XML ファイルが、プロジェクトとドライブから削除されます。

ベクター型ドローアブルを含むアプリの配信

Support Library テクニックを使用するか、最小 API レベルが Android 5.0(API レベル 21)以上の場合、APK には、Vector Asset Studio を使用して追加したベクター型ドローアブルが含まれることになります。このような APK は、ベクター画像を PNG に変換する場合よりもサイズが小さくなります。

最小 API レベルに Android 4.4(API レベル 20)以下が含まれており、対応するベクター型ドローアブルとラスター画像がプロジェクトに含まれている場合は、以下の 2 通りの方法で APK ファイルを配布できます。

PSD ファイルのサポートと制限事項

Vector Asset Studio では、一部の PSD ファイル機能をサポートしていません。次のリストに、サポート対象と対象外の PSD の特性と、一部のコンバージョンの詳細をまとめてあります。

ドキュメント

サポート対象:

コンバージョンの詳細:

サポート対象外:

形状

サポート対象:

サポート対象外:

ストロークと塗り

サポート対象:

コンバージョンの詳細:

サポート対象外:

不透明度

サポート対象:

コンバージョンの詳細:

レイヤ

サポート対象:

コンバージョンの詳細:

サポート対象外:

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience.
(Sep 2017 survey)