<uses-library>
英文原文:http://developer.android.com/guide/topics/manifest/uses-library-element.html
采集(更新)日期:2014-7-10
搬迁自原博客:http://blog.sina.com.cn/s/blog_48d491300100zmwz.html
Google Play 过滤机制
Google Play 利用 Manifest 文件中声明的 <uses-library> 元素进行过滤,使得无法满足应用程序对链接库需求的设备就无法安装该应用程序。关于过滤机制的详细信息,请参阅文章Google Play 过滤器
- 语法:
<uses-library android:name="string" android:required=["true" | "false"] />
- 包含于:
<application>
- 说明:
- 定义应用程序必须链接的公共库。 本元素把程序包的类装载器中需要包含的库代码通知系统。
所有的
android
包(比如android.app
、android.content
、android.view
、android.widget
)都包含在默认库中,所有的应用程序都会自动进行链接。 不过有些包(比如maps
)位于单独的库中,他们不会被自动链接进来。 请参阅所用包的文档,以确定其代码包含于哪个库中。本元素还会影响应用程序在某些设备上的安装,以及在 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
- 参阅: