- 语法
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="string" android:sharedUserId="string" android:sharedUserLabel="string resource" android:sharedUserMaxSdkVersion="integer" android:versionCode="integer" android:versionName="string" android:installLocation=["auto" | "internalOnly" | "preferExternal"] > ... </manifest>
- 包含于
- 无
- 必须包含
<application>
- 可以包含
<attribution>
<compatible-screens>
<instrumentation>
<permission>
<permission-group>
<permission-tree>
<queries>
<supports-gl-texture>
<supports-screens>
<uses-configuration>
<uses-feature>
<uses-permission>
<uses-permission-sdk-23>
<uses-sdk>
- 说明
AndroidManifest.xml
文件的根元素。它必须包含一个<application>
元素,并指定xmlns:android
和package
属性。- 属性
-
xmlns:android
- 定义 Android 命名空间。此属性始终设置为
"http://schemas.android.com/apk/res/android"
。 package
- APK 清单文件中
package
属性的值代表您的应用在全球范围内唯一的应用 ID。它的格式为 Android 应用的完整 Java 语言样式软件包名称。该名称可以包含大写或小写字母、数字和下划线 ('_')。但是,单个软件包名称部分只能以字母开头。请注意不要更改
package
值,因为这相当于创建了一个新应用。旧版应用的用户将不会收到更新,也无法在新旧版本之间传输数据。在基于 Gradle 的构建系统中,从 AGP 7.3 开始,请勿直接在源清单文件中设置
package
值。如需了解详情,请参阅设置应用 ID。 android:sharedUserId
-
此常量自 API 级别 29 起已弃用。
共享用户 ID 会导致软件包管理器中出现不确定行为。因此,强烈不建议使用它们,并且它们可能会在未来的 Android 版本中移除。请改用适当的通信机制(例如服务和内容提供程序)来促进共享组件之间的互操作性。现有应用无法移除此值,因为不支持从共享用户 ID 迁移。在这些应用中,添加android:sharedUserMaxSdkVersion="32"
以避免在新用户安装时使用共享用户 ID。与其他应用共享的 Linux 用户 ID 的名称。默认情况下,Android 为每个应用分配其自己的唯一用户 ID。但是,如果此属性对两个或更多应用设置为相同的值,则只要它们的证书集相同,它们都将共享相同的 ID。具有相同用户 ID 的应用可以访问彼此的数据,并且如果需要,可以在同一进程中运行。
android:targetSandboxVersion
- 此应用要使用的目标沙盒。沙盒版本号越高,安全级别越高。其默认值为
1
;您也可以将其设置为2
。将此属性设置为2
会将应用切换到不同的 SELinux 沙盒。级别 2 沙盒有以下限制:
- 网络安全配置中
usesCleartextTraffic
的默认值为 false。 - 不允许共享 UID。
对于以 Android 8.0 (API 级别 26) 或更高版本为目标平台的 Android Instant Apps,此属性设置为
2
。您可以将已安装应用中的沙盒级别设置为限制较少的级别1
。但如果这样做,您的应用将无法将应用数据从即时应用持久化到已安装应用。您必须将已安装应用的沙盒值设置为2
,才能使数据从即时应用持久化到已安装版本。应用安装后,您只能将其目标沙盒值更新为更高值。要降级目标沙盒值,请卸载该应用并将其替换为清单中此属性值较低的版本。
- 网络安全配置中
android:sharedUserLabel
-
此常量自 API 级别 29 起已弃用。
共享用户 ID 会导致软件包管理器中出现不确定行为。因此,强烈不建议使用它们,并且它们可能会在未来的 Android 版本中移除。请改用适当的通信机制(例如服务和内容提供程序)来促进共享组件之间的互操作性。现有应用无法移除此值,因为不支持从共享用户 ID 迁移。共享用户 ID 的用户可读标签。该标签设置为字符串资源的引用。它不能是原始字符串。
此属性在 API 级别 3 中引入。它仅在同时设置了
sharedUserId
属性时才有意义。 android:sharedUserMaxSdkVersion
-
共享用户 ID 会导致软件包管理器中出现不确定行为。因此,强烈不建议使用它们,并且它们可能会在未来的 Android 版本中移除。请改用适当的通信机制(例如服务和内容提供程序)来促进共享组件之间的互操作性。
系统仍使用
android:sharedUserId
的最大 SDK 版本。如果您的应用是在运行 SDK 版本高于指定值的设备上新安装的,则您的应用的行为就好像您从未定义android:sharedUserId
一样。此属性在 API 级别 33 中引入。它仅在同时设置了
sharedUserId
属性时才有意义。 android:versionCode
- 一个内部版本号。此数字仅用于判断一个版本是否比另一个版本新,数字越大表示版本越新。这不是显示给用户的版本号,显示给用户的版本号由
versionName
属性设置。该值设置为大于 0 的正整数。您可以根据需要定义它,只要每个后续版本都具有更高的数字即可。例如,它可以是构建号,或者您可以通过分别在低 16 位和高 16 位中编码“x”和“y”,将“x.y”格式的版本号转换为整数。或者,您可以在每次发布新版本时将数字加一。
android:versionName
- 显示给用户的版本号。此属性设置为原始字符串或对字符串资源的引用。此字符串除了显示给用户外没有其他用途。
versionCode
属性包含内部使用的重要版本号。 android:installLocation
- 应用的默认安装位置。接受以下关键字字符串:
值 说明 "internalOnly"
应用仅安装到设备内部存储。如果设置了此项,应用绝不会安装到外部存储,例如 SD 卡。如果内部存储已满,系统将不会安装应用。如果您未定义 android:installLocation
,则这是默认行为。"auto"
应用可以安装到外部存储,但系统默认将应用安装到内部存储。如果内部存储已满,系统则会将其安装到外部存储。安装后,用户可以通过系统设置将应用移动到内部或外部存储。 "preferExternal"
应用倾向于安装到外部存储。系统不保证会遵守此请求。如果外部媒体不可用或已满,应用可能会安装到内部存储。安装后,用户可以通过系统设置将应用移动到内部或外部存储。 注意:默认情况下,您的应用安装在内部存储中,并且无法安装在外部存储中,除非您将此属性定义为
"auto"
或"preferExternal"
。当应用安装在外部存储上时
- APK 文件保存到外部存储,但任何应用数据(例如数据库)仍保存到设备内部存储器中。
- 保存 APK 文件的容器通过密钥加密,该密钥只允许应用在安装它的设备上运行。用户无法将 SD 卡传输到其他设备并使用卡上安装的应用。同一设备可以使用多张 SD 卡。
- 根据用户的请求,应用可以移动到内部存储。
用户也可能请求将应用从内部存储移动到外部存储。但是,如果此属性设置为
"internalOnly"
(这是默认设置),系统将不允许用户将应用移动到外部存储。如需了解有关使用此属性的更多信息,包括如何保持向后兼容性,请参阅应用安装位置。
引入于:API 级别 8。
- 引入于
- 所有属性均在 API 级别 1 中引入,除非属性说明中另有说明。
- 另请参阅
-
<application>
<manifest>
本页上的内容和代码示例受内容许可中所述许可的约束。Java 和 OpenJDK 是 Oracle 和/或其关联公司的商标或注册商标。
上次更新时间:2025-05-12 UTC。
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-05-12 UTC."],[],[]]