<uses-native-library>

语法:
<uses-native-library
  android:name="string"
  android:required=["true" | "false"] />
包含于:
<application>
说明:

指定应用必须与之关联的供应商提供的共享原生库。此元素会告知系统使原生库可供该软件包访问。

NDK 库在默认情况下便可供访问,因此不需要 <uses-native-library> 标记。

如果应用以 Android 12(API 级别 31)或更高版本为目标平台,默认情况下无法访问由芯片供应商或设备制造商提供的非 NDK 原生共享库。只有在使用 <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 级别 31
另请参阅: