AndroidManifest.xml 主配置清单文件 各句解释
2014-08-17 17:43
666 查看
2014-08-17
自动生成文件
Android配置文件中主要元素与标签
Android配置文件中主要元素与标签的用法
自动生成文件
<?xml version="1.0" encoding="utf-8"?> <!-- package="com.example.helloworld" 包名 --> <!-- android:versionCode="1" 版本号 --> <!-- android:installLocation="auto" 自动寻找安装路径,ROM或SDcard,默认 internalOnly 只能安装ROM上 preferExternal 安装在SD卡上 --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.halloworld" android:versionCode="1" android:versionName="1.0" > <!--android:versionName="1.0" 版本名称 --> <!-- android:minSdkVersion="8" 运行的安卓最低版本 --> <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19" /> <!-- 运行的安卓最高版本 --> <!-- application:表示应用程序的配置 只能包含一个 --> <!-- android:allowBackup="true" 允许备份 --> <!-- android:icon="@drawable/ic_launcher" 设置图标,@表示R.java --> <!-- android:label="@string/app_name" 程序名称,标题 --> <!-- android:theme 主题 --> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <!--activity:配置文件中要使用的activity文件 --> <!-- android:name="com.example.helloworld.MainActivity" activity的类名 --> <!-- 每增加一个Activity就要在这里写一个<activity> --> <activity android:name="com.example.halloworld.MainActivity" android:label="@string/app_name" > <!-- 程序名称 --> <!-- intent-filter 意图过滤器:用来过滤用户的一些动作和操作 --> <intent-filter> <!-- intent-filter:程序一执行就运行此Activity --> <action android:name="android.intent.action.MAIN" /> <!-- "android.intent.action.MAIN"决定最先启动的activity --> <category android:name="android.intent.category.LAUNCHER" /> <!-- 决定程序是否显示在程序列表里 --> </intent-filter> </activity> </application> </manifest>
Android配置文件中主要元素与标签
<?xml version="1.0" encoding="utf-8"?> <manifest> <!-- 基本配置 --> <uses-permission /> <permission /> <permission-tree /> <permission-group /> <instrumentation /> <uses-sdk /> <uses-configuration /> <uses-feature /> <supports-screens /> <compatible-screens /> <supports-gl-texture /> <!-- 应用配置 --> <application> <!-- Activity 配置 --> <activity> <intent-filter> <action /> <category /> <data /> </intent-filter> <meta-data /> </activity> <activity-alias> <intent-filter> . . . </intent-filter> <meta-data /> </activity-alias> <!-- Service 配置 --> <service> <intent-filter> . . . </intent-filter> <meta-data/> </service> <!-- Receiver 配置 --> <receiver> <intent-filter> . . . </intent-filter> <meta-data /> </receiver> <!-- Provider 配置 --> <provider> <grant-uri-permission /> <meta-data /> </provider> <!-- 所需类库配置 --> <uses-library /> </application> </manifest>
Android配置文件中主要元素与标签的用法
<?xml version="1.0" encoding="utf-8"?> <manifest> <!-- AndroidManifest.xml配置文件的根元素,必须包含一个<application>元素并且指定xlmns:android和package属性。 --> <!-- 标签语法范例 --> <!-- <manifest xmlns:android="http://schemas.android.com/apk/res/android" <!-- xlmns:android指定了Android的命名空间,默认情况下是“http://schemas.android.com/apk/res/android”; package="string" <!-- package是标准的应用包名,也是一个应用进程的默认名称, android:sharedUserId="string" android:sharedUserLabel="string resource" android:versionCode="integer" <!-- android:versionCode是给设备程序识别版本用的,必须是一个整数值代表app更新过多少次; -- android:versionName="string" <!-- android:versionName则是给用户查看版本用的,需要具备一定的可读性,比如“1.0.0”这样的 -- android:installLocation=["auto" | "internalOnly" | "preferExternal"] > --> <!-- 基本配置 --> <uses-permission /> <!-- 权限设定标签 --> <!-- <!-- 网络相关功能 <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- 读取电话状态 <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <!-- 通知相关功能 <uses-permission android:name="android.permission.VIBRATE" /> --> <permission /> <!-- 权限声明标签,定义了供给<uses-permission>使用的具体权限 --> <!-- 通常情况下我们不需要为自己的应用程序声明某个权限,除非需要给其他应用程序提供可调用的代码或者数据,这个时候你才需要使用<permission>标签。 --> <!-- 可以和<permission-group>以及<permission-tree>配合使用来构造更有层次的、更有针对性权限系统 --> <!-- 标签语法范例 --> <!-- <permission android:description="string resource" android:icon="drawable resource" android:label="string resource" android:name="string" android:permissionGroup="string" android:protectionLevel=["normal" | "dangerous" | "signature" | "signatureOrSystem"] /> --> <permission-tree /> <permission-group /> <instrumentation /> <!-- 用于声明Instrumentation测试类来监控Android应用的行为并应用到相关的功能测试中 --> <!-- Instrumentation对象是在应用程序的组件之前被实例化的,这点在组织测试逻辑的时候需要被考虑到 --> <!-- 标签语法范例 --> <!-- <instrumentation android:functionalTest=["true" | "false"] 测试功能开关 android:handleProfiling=["true" | "false"] 调试功能开关 android:icon="drawable resource" android:label="string resource" android:name="string" android:targetPackage="string" /> 测试用例目标对象--> <uses-sdk /> <!-- 用于指定Android应用中所需要使用的SDK的版本 --> <!-- 语法范例 --> <!-- <uses-sdk android:minSdkVersion="integer" android:targetSdkVersion="integer" 目标版本 android:maxSdkVersion="integer" /> --> <uses-configuration /> <!-- <uses-configuration>与<uses-feature>这两个标签都是用于描述应用所需要的硬件和软件特性 --> <!-- 语法范例 --> <!-- 主要用于支持一些特殊的设备中的应用, --> <!-- <uses-configuration android:reqFiveWayNav=["true" | "false"] 设备带有D-pad或者Trackball这些特殊硬件,就需要设置为true android:reqHardKeyboard=["true" | "false"] 带有硬件键盘,需要被设置为true android:reqKeyboardType=["undefined" | "nokeys" | "qwerty" | "twelvekey"] android:reqNavigation=["undefined" | "nonav" | "dpad" | "trackball" | "wheel"] android:reqTouchScreen=["undefined" | "notouch" | "stylus" | "finger"] /> --> <uses-feature /> <!-- 语法范例 --> <!-- <uses-feature android:name="string" 如果设备需要支持蓝牙,可以使用<uses-feature android:name="android.hardware.bluetooth" />来支持这个功能 android:required=["true" | "false"] android:glEsVersion="integer" /> --> <uses-library> <!-- 用于指定Android应用可使用的用户库,除了系统自带的android.app、android.content、android.view和android.widget这些默认类库之外,有些应用可能还需要一些其他的Java类库作为支持, --> <!-- 这种情况下我们就可以使用<uses-library>标签让ClassLoader加载其类库供Android应用运行时用。<uses-library>标签的用法很简单, --> <!-- 语法范例 --> <!-- <uses-library android:name="string" android:required=["true" | "false"] /> --> <supports-screens /> <!-- 指定支持的屏幕特征 --> <!-- 语法范例 --> <!-- <supports-screens android:resizeable=["true"| "false"] 屏幕自适应属性 android:smallScreens=["true" | "false"] 小屏 android:normalScreens=["true" | "false"] 中屏 android:largeScreens=["true" | "false"] 大屏 android:xlargeScreens=["true" | "false"] 特大屏 android:anyDensity=["true" | "false"] 按屏幕渲染图像属性 android:requiresSmallestWidthDp="integer" 最小屏幕宽度属性 android:compatibleWidthLimitDp="integer" android:largestWidthLimitDp="integer"/> --> <compatible-screens /> <supports-gl-texture /> <!-- 应用配置 --> <application> <!-- 应用配置的根元素,位于<manifest>下层,包含所有与应用有关配置的元素,其属性可以作为子元素的默认属性, --> <!-- 语法范例 --> <!-- <application android:allowTaskReparenting=["true" | "false"] android:backupAgent="string" android:debuggable=["true" | "false"] android:description="string resource" android:enabled=["true" | "false"] android:hasCode=["true" | "false"] android:hardwareAccelerated=["true" | "false"] android:icon="drawable resource" android:killAfterRestore=["true" | "false"] android:label="string resource" 应用名 android:logo="drawable resource" 应用图标 android:manageSpaceActivity="string" android:name="string" android:permission="string" android:persistent=["true" | "false"] android:process="string" android:restoreAnyVersion=["true" | "false"] android:taskAffinity="string" android:theme="resource or theme" > 应用主题--> <!-- Activity 配置 --> <activity> <!-- Activity活动组件(即界面控制器组件)的声明标签,Android应用中的每一个Activity都必须在AndroidManifest.xml配置文件中声明,否则系统将不识别也不执行该Activity。 --> <!-- <activity>标签还可以包含用于消息过滤的<intent-filter>元素,可用于存储预定义数据的<meta-data>元素 --> <!-- 语法范例 --> <!-- <activity android:allowTaskReparenting=["true" | "false"] android:alwaysRetainTaskState=["true" | "false"] android:clearTaskOnLaunch=["true" | "false"] android:configChanges=["mcc", "mnc", "locale", "touchscreen", "keyboard", "keyboardHidden", "navigation", "orientation", "screenLayout", "fontScale", "uiMode"] android:enabled=["true" | "false"] android:excludeFromRecents=["true" | "false"] android:exported=["true" | "false"] android:finishOnTaskLaunch=["true" | "false"] android:hardwareAccelerated=["true" | "false"] android:icon="drawable resource" android:label="string resource" android:launchMode=["multiple" | "singleTop" | "singleTask" | "singleInstance"] 加载模式 android:multiprocess=["true" | "false"] android:name="string" Activity对应类名 android:noHistory=["true" | "false"] android:permission="string" android:process="string" android:screenOrientation=["unspecified" | "user" | "behind" | "landscape" | "portrait" | "sensor" | "nosensor"] android:stateNotNeeded=["true" | "false"] android:taskAffinity="string" android:theme="resource or theme" 对应主题 android:windowSoftInputMode=["stateUnspecified", 键盘交互模式 "stateUnchanged", "stateHidden", "stateAlwaysHidden", "stateVisible", "stateAlwaysVisible", "adjustUnspecified", "adjustResize", "adjustPan"] > --> <intent-filter> <!-- 用于Intent消息过滤器的声明 --> <!-- <intent-filter>元素可以放在<activity>、<activity-alias>、<service>和<receiver>元素标签中, 来区分可用于处理消息的Activity控制器、Service服务和广播接收器Broadcast Receiver --> <action /> <!-- 用于描述具体消息的名称 --> <category /> <!-- 用于表示能处理消息组件的类别 --> <data /> <!-- 用于描述消息需要处理的数据格式,可以使用正则表达式来限定数据来源 --> </intent-filter> <!-- 语法范例 --> <!-- <intent-filter android:icon="drawable resource" android:label="string resource" android:priority="integer" > <action android:name="string" /> <category android:name="string" /> <data android:host="string" android:mimeType="string" android:path="string" android:pathPattern="string" android:pathPrefix="string" android:port="string" android:scheme="string" /> </intent-filter> --> <meta-data /> <!-- 用于存储预定义数据 --> </activity> <activity-alias> <!-- Activity组件别名的声明标签,简单来说就是Activity的快捷方式, --> <!-- Activity别名也是一个独立的Activity,可以拥有自己的<intent-filter>和<meta-data>元素 --> <!-- 语法范例 --> <!-- <activity-alias android:enabled=["true" | "false"] 别名开关 android:exported=["true" | "false"] android:icon="drawable resource" android:label="string resource" android:name="string" Activity别名名称 android:permission="string" 权限控制 android:targetActivity="string" > 其相关的Activity名--> <intent-filter> . . . </intent-filter> <meta-data /> <!-- 用于存储预定义数据, --> <!-- 和<intent-filter>类似,<meta-data>也可以放在<activity>、<activity-alias>、<service>和<receiver>这四个元素标签中。 Meta数据一般会以键值对的形式出现,个数没有限制,而这些数据都将被放到一个Bundle对象中, 程序中我们则可以使用ActivityInfo、ServiceInfo甚至ApplicationInfo对象的metaData属性中读取。 假设我们在一个Activity中定义了一个<meta-data>元素,相关示例用法如下。 <activity...> <meta-data android:name="testData" android:value="Test Meta Data"></meta-data> </activity> ActivityInfo info = this.getPackageManager() .getActivityInfo(getComponentName(), PackageManager.GET_META_DATA); String testData = info.metaData.getString("testData"); System.out.println("testData:" + testData); --> </activity-alias> <!-- Service 配置 --> <service> <!-- Service服务组件的声明标签,用于定义与描述一个具体的Android服务, --> <intent-filter> . . . </intent-filter> <meta-data/> </service> <!-- 语法范例 --> <!-- <service android:enabled=["true" | "false"] 服务开关 android:exported=["true" | "false"] android:icon="drawable resource" 服务图标 android:label="string resource" 服务描述 android:name="string" Service服务类名 android:permission="string" android:process="string" > --> <!-- Receiver 配置 --> <receiver> <!-- Boardcast Receiver广播接收器组件的声明标签,用于定义与描述一个具体的Android广播接收器 --> <intent-filter> . . . </intent-filter> <meta-data /> </receiver> <!-- 语法范例 --> <!-- <receiver android:enabled=["true" | "false"] 接收器开关 android:exported=["true" | "false"] android:icon="drawable resource" 接收器图标 android:label="string resource" 接收器描述 android:name="string" Boardcast Receiver接收器类名 android:permission="string" android:process="string" > --> <!-- Provider 配置 --> <provider> <!-- Content Provider内容提供者的声明标签 --> <grant-uri-permission /> <meta-data /> </provider> <!-- 语法范例 --> <!-- <provider android:authorities="list" 内容提供者标识名称 android:enabled=["true" | "false"] android:exported=["true" | "false"] android:grantUriPermissions=["true" | "false"] 对指定URI授予权限标识 android:icon="drawable resource" android:initOrder="integer" android:label="string resource" android:multiprocess=["true" | "false"] android:name="string" android:permission="string" android:process="string" android:readPermission="string" 读权限 android:syncable=["true" | "false"] android:writePermission="string" > 写权限--> <!-- 所需类库配置 --> <uses-library /> </application> </manifest>
相关文章推荐
- AndroidManifest.xml清单配置文件
- Android配置清单文件Manifest.xml的常用设置
- AndroidManifest.xml清单配置文件
- AndroidManifest.xml清单配置文件的相关介绍一
- AndroidManifest.xml 文件配置
- 清单文件The AndroidManifest.xml File
- AndroidManifest.xml配置文件各个知识点详解
- Android 应用配置文件AndroidManifest.xml
- Android新开一个activity需要配置文件AndroidManifest.xml
- AndroidManifest.xml配置文件详解
- Android配置文件Manifest.xml如何被加载、解析的
- AndroidManifest.xml文件中(uses-feature)解释
- android Manifest.xml全局配置文件中根标签中package属性及<original-package>标签注意点
- AndroidManifest.xml配置文件详解
- AndroidManifest.xml文件配置说明
- Android学习笔记-AndroidManifest.xml配置文件详解
- AndroidManifest.xml配置文件
- AndroidManifest.xml配置文件详解 .
- AndroidManifest.xml配置文件详解
- Launcher2分析(一)---整体结构和配置文件AndroidManifest.xml