<使用库>

注意:Google Play 会利用应用清单中声明的 <uses-library> 元素,从不符合其库要求的设备中过滤掉您的应用。如需详细了解如何过滤,请参阅 Google Play 上的过滤器

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

指定应用必须与之关联的共享库。 此元素告知系统将库的代码添加到软件包的类加载器中。

所有 android 软件包(例如 android.appandroid.contentandroid.viewandroid.widget)都位于所有应用自动与之关联的默认库中。不过,某些软件包(例如 maps)位于未自动关联的不同库中。请参阅您使用的软件包的相关文档,确定哪个库包含软件包代码。

<uses-library> 标记的顺序非常重要。它会影响应用加载时的类查询和解析顺序。某些库可能有重复的类,在这种情况下,位置在前的库优先。

此元素还会影响应用在特定设备上安装以及应用在 Google Play 上的可用性。如果此元素存在并且其 android:required 属性设置为 "true",则 PackageManager 框架将不允许用户安装应用,除非用户设备上存在相应的库。

下一部分详细介绍了 android:required 属性。

属性:
android:name
库的名称。此名称由您使用的软件包的文档提供。例如,"android.test.runner",这是个包含 Android 测试类的软件包。
android:required
布尔值,指示应用是否需要 android:name 指定的库。
  • "true":如果没有此库,则应用将无法正常运行。系统不允许将应用安装在没有此库的设备上。
  • "false":如果此库存在,应用会使用此库,但必要时也可在没有此库的情况下运行。 系统允许安装应用,即使不存在此库也是如此。如果您使用 "false",则需要在运行时检查有没有此库。

    要检查库,您可以使用反射来确定有没有特定类。

默认值为 "true"

此项为 API 级别 7 中的新增配置。

引入于:
API 级别 1
另请参阅: