每个应用的根目录中都必须包含一个 AndroidManifest.xml
文件(且文件名精确无误)。清单文件向 Android 系统提供应用的必要信息,系统必须具有这些信息方可运行应用的任何代码。
此外,清单文件还可执行以下操作:
注:准备在 Chromebook 上运行的 Android 应用时,要考虑一些重要的硬件和软件功能限制。详见 Chromebook 的应用清单兼容性文档。
下面的代码段显示了清单文件的通用结构及其可包含的每个元素:
xml<?xml version="1.0" encoding="utf-8"?>
<manifest>
<uses-permission />
<permission />
...
<application>
<activity>
<intent-filter>
<action />
<category />
<data />
</intent-filter>
<meta-data />
</activity>
...
</application>
</manifest>
按字母顺序列出的所有合法元素:
xml<action> <activity> <activity-alias> <application> <category>
<data> <grant-uri-permission> <instrumentation>
<intent-filter> <manifest> <meta-data>
<permission> <permission-group> <permission-tree>
<provider> <receiver> <service>
<supports-screens> <uses-configuration>
<uses-feature> <uses-library> <uses-permission> <uses-sdk>
注:这些是仅有的合法元素 – 无法添加自定义元素或属性。
<manifest>
和 <application>
,每个只能出现一次。<activity-alias>
必须在别名所指的 <activity>
之后。<application>
元素必须是 <manifest>
内最后一个元素。android:
前缀开头(除根 <manifest>
元素的某些属性外)。通过 name
属性声明子类:
xml<manifest package="com.example.project">
<application>
<service android:name=".SecretService" />
</application>
</manifest>
通过重复元素指定多个值:
xml<intent-filter>
<action android:name="android.intent.action.EDIT" />
<action android:name="android.intent.action.INSERT" />
</intent-filter>
指定资源值:
xml<activity android:icon="@drawable/smallPic" />
组件通过 intent 过滤器公布可响应的 intent 类型:
xml<activity>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
通过 <uses-permission>
声明应用需要的权限:
xml<manifest>
<uses-permission android:name="android.permission.CALL_EMERGENCY_NUMBERS" />
</manifest>
通过 <permission>
声明应用定义的权限:
xml<manifest>
<permission android:name="com.example.project.DEBIT_ACCT" />
<uses-permission android:name="com.example.project.DEBIT_ACCT" />
<application>
<activity android:name="com.example.project.FreneticActivity"
android:permission="com.example.project.DEBIT_ACCT" />
</application>
</manifest>
可设置图标和标签属性:
xml<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:label="@string/activity_name" />
</application>
通过 <uses-library>
声明应用使用的库:
xml<application>
<uses-library android:name="com.example.SomeLibrary" android:required="true" />
</application>
本文作者:Dong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!