应用程序清单文件| Android

Android中的每个项目都包含一个清单文件 AndroidManifest。xml ,存储在其项目层次结构的根目录中。清单文件是我们应用程序的重要组成部分,因为它定义了我们应用程序的结构和元数据、组件及其需求。该文件包括每个节点的节点 活动 , 服务 , 内容提供商 广播接收机 使应用程序和使用 意图过滤器 权限决定了它们如何协调彼此和其他应用程序。

null

清单文件还指定应用程序元数据,其中包括其图标、版本号、主题等,其他顶级节点可以指定任何所需的权限、单元测试,并定义硬件、屏幕或平台要求。清单包含一个根清单标记,其包属性设置为项目的包。它还应该包括一个xmls:android属性,该属性将提供文件中使用的几个系统属性。我们使用versionCode属性以整数的形式定义当前应用程序版本,该整数会随着版本的更新而不断增加。此外,versionName属性用于指定将向用户显示的公共版本。

我们还可以使用installLocation属性指定应用程序是否应该安装在内存的SD卡上。典型的清单节点如下所示:

XML

< manifest xmlns:android = " http://schemas.android.com/apk/res/android "
package = "com.paad.myapp"
android:versionCode = "1"
android:versionName = "0.9 Beta"
android:installLocation = "preferExternal" >
[....manifest nodes....]
</ manifest >


清单文件包括定义构成应用程序的应用程序组件、安全设置、测试类和需求的节点。主要使用的一些清单子节点标记有:

1.使用sdk

它用于定义设备上必须可用的最低和最高SDK版本,以便我们的应用程序正常运行,以及分别使用minSdkVersion、maxSdkVersion和targetSdkVersion属性组合设计的目标SDK。

XML

< uses-sdk android:minSdkVersion=”6”
android:targetSdkVersion=”15”/>


2.使用配置

使用配置节点用于指定应用程序支持的输入机制的组合。对于需要特定输入控件的游戏,它很有用。

XML

< uses-configuration android:reqTouchScreen=”finger”
android:reqNavigation=”trackball”
android:reqHardKeyboard=”true”
android:reqKeyboardType=”qwerty”/>
< uses-configuration android:reqTouchScreen=”finger”
android:reqNavigation=”trackball”
android:reqHardKeyboard=”true”
android:reqKeyboardType=”twelvekey”/>


3.使用功能

它用于指定应用程序要求的硬件功能。这将阻止我们的应用程序安装在不包含所需硬件(如NFC硬件)的设备上,如下所示:

XML

< uses-feature android:name=”android.hardware.nfc”/>


4.支持屏幕

它用于描述我们的应用程序的屏幕支持:

XML

< supports-screens
android:smallScreens=”false”
android:normalScreens=”true”
android:largeScreens=”true”
android:xlargeScreens=”true”/>


5.许可

它用于创建权限,以限制对共享应用程序组件的访问。我们也可以使用现有的平台权限来实现这一目的,或者在清单中定义您自己的权限。

XML

< permission
android: name=”com.paad.DETONATE_DEVICE”
android:protectionLevel=“dangerous”
android:label=”Self Destruct”
android:description=”@string/detonate_description”>
</ permission >


6.申请

清单只能包含一个应用程序节点。它使用属性指定应用程序的元数据(包括其标题、图标和主题)。在开发过程中,我们应该将可调试属性设置为true以启用调试,然后确保在发布版本中禁用它。应用程序节点还充当指定应用程序组件的活动、服务、内容提供者和广播接收器节点的容器。可以使用android:name属性指定自定义应用程序类的名称。

XML

< application
android:icon = "@drawable/icon"
android:logo-"@drawable/logo"
android:theme = "@android:style/Theme.Light"
android:name = ".MyApplicationClass"
android:debuggable = "true" >
[....application nodes.....]
</ application >


参考资料: https://developer.android.com/guide/topics/manifest/manifest-intro.html

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享