<uses-native-library>

構文:
<uses-native-library
  android:name="string"
  android:required=["true" | "false"] />
上位の要素:
<application>
説明:

アプリをリンクする必要があるベンダー提供の共有ネイティブ ライブラリを指定します。この要素はシステムに対し、パッケージからネイティブ ライブラリにアクセス可能にするよう指示します。

NDK ライブラリはデフォルトでアクセス可能であるため、<uses-native-library> タグは不要です。

シリコン ベンダーまたはデバイス メーカーが提供する NDK 以外のネイティブ共有ライブラリは、アプリが Android 12(API レベル 31)以降をターゲットとしている場合、デフォルトではアクセスできません。<uses-native-library> タグを使用して明示的にリクエストした場合にのみ、ライブラリにアクセスできます。

Android 11(API レベル 30)以前をターゲットとするアプリの場合、<uses-native-library> タグは不要です。この場合、ネイティブ共有ライブラリは、NDK ライブラリかどうかにかかわらずアクセスできます。

この要素は、特定のデバイスへのアプリのインストールにも影響します。この要素が存在し、その android:required 属性が true に設定されている場合、PackageManager フレームワークは、ライブラリがユーザーのデバイスに存在しない限り、ユーザーがアプリをインストールすることを許可しません。

android:required 属性については次のセクションで詳しく説明します。

属性:
android:name
ライブラリ ファイルの名前。
android:required
android:name で指定されたライブラリがアプリにとって必須かどうかを示すブール値。
  • "true": このライブラリがなければアプリは機能しません。このライブラリが存在しないデバイスにアプリをインストールすることはできません。
  • "false": アプリは、このライブラリが存在する場合はライブラリを使用しますが、必要に応じてこのライブラリがなくても機能するように設計されています。 このライブラリが存在しない場合でも、アプリをインストールできます。"false" を使用する場合は、ライブラリが存在しないことを適切に処理する必要があります。

デフォルト値は "true" です。

導入時の API レベル:
API レベル 31
関連項目: