注: Google Play は、アプリ マニフェストで宣言されている <uses-library>
要素を使用して、アプリのライブラリ要件を満たさないデバイスからアプリを除外します。フィルタリングの詳細については、Google Play でのフィルタをご覧ください。
- 構文:
-
<uses-library android:name="string" android:required=["true" | "false"] />
- 上位の要素:
-
<application>
- 説明:
-
アプリがリンクされる必要がある共有ライブラリを指定します。この要素は、パッケージのクラスローダーにライブラリのコードを含めるようシステムに指示します。
すべての
android
パッケージ(android.app
、android.content
、android.view
、android.widget
など)は、すべてのアプリが自動的にリンクされるデフォルトのライブラリに含まれています。ただし、自動的にリンクされない個別のライブラリに含まれているパッケージもあります(maps
など)。パッケージのコードがどのライブラリに含まれているかを確認するには、使用しているパッケージのドキュメントをご覧ください。<uses-library>
タグの順序は重要です。これは、アプリが読み込まれる際のクラスの検索と解決の順序に影響します。一部のライブラリではクラスが重複しており、その場合は最初に参照されたライブラリが優先されます。この要素は、特定のデバイスへのアプリのインストールや、Google Play でのアプリの提供にも影響を及ぼします。この要素が存在し、その
android:required
属性が"true"
に設定されている場合、PackageManager
フレームワークは、ライブラリがユーザーのデバイスに存在しない限り、ユーザーがアプリをインストールすることを許可しません。android:required
属性については次のセクションで詳しく説明します。 - 属性:
-
android:name
-
ライブラリの名前。この名前は、使用しているパッケージのドキュメントで規定されています。Android テストクラスを含むパッケージである
"android.test.runner"
がその一例です。 android:required
-
android:name
で指定されたライブラリがアプリにとって必須かどうかを示すブール値。-
"true"
: このライブラリがなければアプリは機能しません。このライブラリが存在しないデバイスにアプリをインストールすることはできません。 -
"false"
: アプリは、このライブラリが存在する場合はライブラリを使用しますが、必要に応じてこのライブラリがなくても機能するように設計されています。 このライブラリが存在しない場合でも、アプリをインストールできます。"false"
に設定する場合は、ライブラリが使用可能かどうかを実行時にチェックするようにアプリを設計する必要があります。ライブラリの有無をチェックするには、リフレクションを使用して特定のクラスが使用可能かどうかを判定します。
デフォルト値は
"true"
です。API レベル 7 で導入されました。
-
- 導入時の API レベル:
- API レベル 1
- 関連項目: