AndroidManifest.xml 主配置清单文件 各句解释

2014-08-17

     自动生成文件

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <!-- package="com.example.helloworld"      包名 -->
 3 <!-- android:versionCode="1"                     版本号 -->
 4 <!--
 5       android:installLocation="auto"    自动寻找安装路径,ROM或SDcard,默认 
 6                                 internalOnly  只能安装ROM上
 7                                 preferExternal  安装在SD卡上
 8 -->
 9 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
10     package="com.example.halloworld"
11     android:versionCode="1"
12     android:versionName="1.0" >
13 
14     <!--android:versionName="1.0"   版本名称 -->
15 
16 
17     <!-- android:minSdkVersion="8"          运行的安卓最低版本 -->
18     <uses-sdk
19         android:minSdkVersion="8"
20         android:targetSdkVersion="19" />
21     <!-- 运行的安卓最高版本 -->
22 
23 
24     <!-- application:表示应用程序的配置 只能包含一个 -->
25     <!-- android:allowBackup="true"             允许备份 -->
26     <!-- android:icon="@drawable/ic_launcher"    设置图标,@表示R.java -->
27     <!-- android:label="@string/app_name"      程序名称,标题 -->
28     <!-- android:theme                    主题 -->
29     <application
30         android:allowBackup="true"
31         android:icon="@drawable/ic_launcher"
32         android:label="@string/app_name"
33         android:theme="@style/AppTheme" >
34 
35         
36         <!--activity:配置文件中要使用的activity文件  -->
37         <!-- android:name="com.example.helloworld.MainActivity"         activity的类名 -->
38         <!-- 每增加一个Activity就要在这里写一个<activity> -->
39         <activity
40             android:name="com.example.halloworld.MainActivity"
41             android:label="@string/app_name" >
42 
43             <!-- 程序名称 -->
44             <!-- intent-filter      意图过滤器:用来过滤用户的一些动作和操作 -->
45             <intent-filter>    <!-- intent-filter:程序一执行就运行此Activity -->
46                 <action android:name="android.intent.action.MAIN" />
47                 <!-- "android.intent.action.MAIN"决定最先启动的activity -->
48 
49                 <category android:name="android.intent.category.LAUNCHER" />
50                 <!-- 决定程序是否显示在程序列表里 -->
51             </intent-filter>
52         </activity>
53     </application>
54 
55 </manifest>

 

Android配置文件中主要元素与标签

 1 <?xml version="1.0" encoding="utf-8"?>
 2 
 3 <manifest>
 4 
 5     <!-- 基本配置 -->
 6     <uses-permission />  
 7     <permission />
 8     <permission-tree />
 9     <permission-group />
10     <instrumentation />
11     <uses-sdk />
12     <uses-configuration />
13     <uses-feature />
14     <supports-screens />
15     <compatible-screens />
16     <supports-gl-texture />
17     
18     <!-- 应用配置 -->
19     <application>
20         
21         <!-- Activity 配置 -->
22         <activity>
23             <intent-filter>
24                 <action />
25                 <category />
26                 <data />
27             </intent-filter>
28             <meta-data />
29         </activity>
30         
31         <activity-alias>
32             <intent-filter> . . . </intent-filter>
33             <meta-data />
34         </activity-alias>
35         
36         <!-- Service 配置 -->
37         <service>
38             <intent-filter> . . . </intent-filter>
39             <meta-data/>
40         </service>
41         
42         <!-- Receiver 配置 -->
43         <receiver>
44             <intent-filter> . . . </intent-filter>
45             <meta-data />
46         </receiver>
47         
48         <!-- Provider 配置 -->
49         <provider>
50             <grant-uri-permission />
51             <meta-data />
52         </provider>
53         
54         <!-- 所需类库配置 -->
55         <uses-library />
56 
57     </application>
58 
59 </manifest>

 

Android配置文件中主要元素与标签的用法

  1 <?xml version="1.0" encoding="utf-8"?>
  2 
  3 <manifest>     <!--  AndroidManifest.xml配置文件的根元素,必须包含一个<application>元素并且指定xlmns:android和package属性。 -->
  4     <!-- 标签语法范例 -->
  5     <!--  <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  6                 <!-- xlmns:android指定了Android的命名空间,默认情况下是“http://schemas.android.com/apk/res/android”; 
  7     package="string"            <!-- package是标准的应用包名,也是一个应用进程的默认名称, 
  8     android:sharedUserId="string"
  9     android:sharedUserLabel="string resource" 
 10     android:versionCode="integer"           <!-- android:versionCode是给设备程序识别版本用的,必须是一个整数值代表app更新过多少次; --
 11     android:versionName="string"            <!-- android:versionName则是给用户查看版本用的,需要具备一定的可读性,比如“1.0.0”这样的 --
 12     android:installLocation=["auto" | "internalOnly" | "preferExternal"] >   -->
 13 
 14     <!-- 基本配置 -->
 15     <uses-permission />     <!-- 权限设定标签 -->
 16         <!-- <!-- 网络相关功能
 17         <uses-permission android:name="android.permission.INTERNET" />
 18         <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
 19         <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
 20         <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
 21         <!-- 读取电话状态 
 22         <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
 23         <!-- 通知相关功能
 24         <uses-permission android:name="android.permission.VIBRATE" /> -->
 25     <permission />      <!-- 权限声明标签,定义了供给<uses-permission>使用的具体权限 -->
 26                         <!-- 通常情况下我们不需要为自己的应用程序声明某个权限,除非需要给其他应用程序提供可调用的代码或者数据,这个时候你才需要使用<permission>标签。 -->
 27                         <!-- 可以和<permission-group>以及<permission-tree>配合使用来构造更有层次的、更有针对性权限系统 -->
 28         <!-- 标签语法范例 -->
 29         <!-- <permission android:description="string resource"
 30                 android:icon="drawable resource"
 31                 android:label="string resource"
 32                 android:name="string"
 33                 android:permissionGroup="string"
 34                 android:protectionLevel=["normal" | "dangerous" | "signature" | "signatureOrSystem"] /> -->
 35     <permission-tree /> 
 36     <permission-group />
 37     <instrumentation />         <!-- 用于声明Instrumentation测试类来监控Android应用的行为并应用到相关的功能测试中 -->
 38                                 <!-- Instrumentation对象是在应用程序的组件之前被实例化的,这点在组织测试逻辑的时候需要被考虑到 -->
 39         <!-- 标签语法范例 -->
 40         <!-- <instrumentation android:functionalTest=["true" | "false"]     测试功能开关
 41                 android:handleProfiling=["true" | "false"]                  调试功能开关
 42                 android:icon="drawable resource"
 43                 android:label="string resource"
 44                 android:name="string"
 45                 android:targetPackage="string" />                       测试用例目标对象-->
 46     <uses-sdk />            <!-- 用于指定Android应用中所需要使用的SDK的版本 -->
 47         <!-- 语法范例 -->
 48         <!-- <uses-sdk android:minSdkVersion="integer" 
 49                 android:targetSdkVersion="integer"      目标版本
 50                 android:maxSdkVersion="integer" /> -->
 51     <uses-configuration />      <!-- <uses-configuration>与<uses-feature>这两个标签都是用于描述应用所需要的硬件和软件特性 -->
 52         <!-- 语法范例 -->               <!-- 主要用于支持一些特殊的设备中的应用, -->
 53         <!-- <uses-configuration android:reqFiveWayNav=["true" | "false"]       设备带有D-pad或者Trackball这些特殊硬件,就需要设置为true
 54                 android:reqHardKeyboard=["true" | "false"]                      带有硬件键盘,需要被设置为true
 55                 android:reqKeyboardType=["undefined" | "nokeys" | "qwerty" | "twelvekey"]
 56                 android:reqNavigation=["undefined" | "nonav" | "dpad" | "trackball" | "wheel"]
 57                 android:reqTouchScreen=["undefined" | "notouch" | "stylus" | "finger"] /> -->
 58     <uses-feature />            
 59         <!-- 语法范例 -->
 60         <!-- <uses-feature android:name="string"        如果设备需要支持蓝牙,可以使用<uses-feature android:name="android.hardware.bluetooth" />来支持这个功能
 61                 android:required=["true" | "false"]
 62                 android:glEsVersion="integer" /> -->
 63     <uses-library>              <!-- 用于指定Android应用可使用的用户库,除了系统自带的android.app、android.content、android.view和android.widget这些默认类库之外,有些应用可能还需要一些其他的Java类库作为支持, -->
 64                                 <!-- 这种情况下我们就可以使用<uses-library>标签让ClassLoader加载其类库供Android应用运行时用。<uses-library>标签的用法很简单, -->
 65         <!-- 语法范例 -->
 66         <!-- <uses-library android:name="string"
 67                 android:required=["true" | "false"] /> -->
 68     <supports-screens />        <!--  指定支持的屏幕特征 -->
 69         <!-- 语法范例 -->
 70         <!-- <supports-screens android:resizeable=["true"| "false"]         屏幕自适应属性
 71                 android:smallScreens=["true" | "false"]                 小屏
 72                 android:normalScreens=["true" | "false"]                中屏
 73                 android:largeScreens=["true" | "false"]                 大屏
 74                 android:xlargeScreens=["true" | "false"]                特大屏
 75                 android:anyDensity=["true" | "false"]                   按屏幕渲染图像属性
 76                 android:requiresSmallestWidthDp="integer"               最小屏幕宽度属性
 77                 android:compatibleWidthLimitDp="integer"
 78                 android:largestWidthLimitDp="integer"/> -->
 79     <compatible-screens />
 80     <supports-gl-texture />
 81     
 82     <!-- 应用配置 -->
 83     <application>                 <!-- 应用配置的根元素,位于<manifest>下层,包含所有与应用有关配置的元素,其属性可以作为子元素的默认属性, -->
 84         <!-- 语法范例 -->
 85         <!-- <application android:allowTaskReparenting=["true" | "false"]
 86                 android:backupAgent="string"
 87                 android:debuggable=["true" | "false"]
 88                 android:description="string resource"
 89                 android:enabled=["true" | "false"]
 90                 android:hasCode=["true" | "false"]
 91                 android:hardwareAccelerated=["true" | "false"]
 92                 android:icon="drawable resource"
 93                 android:killAfterRestore=["true" | "false"]
 94                 android:label="string resource"                         应用名
 95                 android:logo="drawable resource"                        应用图标
 96                 android:manageSpaceActivity="string"
 97                 android:name="string"
 98                 android:permission="string"
 99                 android:persistent=["true" | "false"]
100                 android:process="string"
101                 android:restoreAnyVersion=["true" | "false"]
102                 android:taskAffinity="string"
103                 android:theme="resource or theme" >                    应用主题-->
104         
105         <!-- Activity 配置 -->
106         <activity>              <!--  Activity活动组件(即界面控制器组件)的声明标签,Android应用中的每一个Activity都必须在AndroidManifest.xml配置文件中声明,否则系统将不识别也不执行该Activity。 -->
107                                 <!-- <activity>标签还可以包含用于消息过滤的<intent-filter>元素,可用于存储预定义数据的<meta-data>元素 -->
108             <!-- 语法范例 -->
109             <!-- <activity android:allowTaskReparenting=["true" | "false"]
110                     android:alwaysRetainTaskState=["true" | "false"]
111                     android:clearTaskOnLaunch=["true" | "false"]
112                     android:configChanges=["mcc", "mnc", "locale",
113                         "touchscreen", "keyboard", "keyboardHidden",
114                         "navigation", "orientation", "screenLayout",
115                         "fontScale", "uiMode"]
116                     android:enabled=["true" | "false"]
117                     android:excludeFromRecents=["true" | "false"]
118                     android:exported=["true" | "false"]
119                     android:finishOnTaskLaunch=["true" | "false"]
120                     android:hardwareAccelerated=["true" | "false"]
121                     android:icon="drawable resource"
122                     android:label="string resource"
123                     android:launchMode=["multiple" | "singleTop" | "singleTask" | "singleInstance"]     加载模式
124                     android:multiprocess=["true" | "false"]
125                     android:name="string"                                   Activity对应类名
126                     android:noHistory=["true" | "false"]  
127                     android:permission="string"
128                     android:process="string"
129                     android:screenOrientation=["unspecified" | "user" | "behind" |
130                         "landscape" | "portrait" |
131                         "sensor" | "nosensor"]
132                     android:stateNotNeeded=["true" | "false"]
133                     android:taskAffinity="string"
134                     android:theme="resource or theme"                       对应主题
135                     android:windowSoftInputMode=["stateUnspecified",        键盘交互模式
136                         "stateUnchanged", "stateHidden",
137                         "stateAlwaysHidden", "stateVisible",
138                         "stateAlwaysVisible", "adjustUnspecified",
139                         "adjustResize", "adjustPan"] >    -->
140             <intent-filter>                 <!-- 用于Intent消息过滤器的声明 -->
141                                             <!-- <intent-filter>元素可以放在<activity>、<activity-alias>、<service>和<receiver>元素标签中,
142                                                 来区分可用于处理消息的Activity控制器、Service服务和广播接收器Broadcast Receiver -->
143                 <action />                  <!-- 用于描述具体消息的名称 -->
144                 <category />                <!-- 用于表示能处理消息组件的类别 -->
145                 <data />                    <!-- 用于描述消息需要处理的数据格式,可以使用正则表达式来限定数据来源 -->
146             </intent-filter>
147                 <!-- 语法范例 -->
148                 <!-- <intent-filter android:icon="drawable resource"
149                         android:label="string resource"
150                         android:priority="integer" >
151                         <action android:name="string" />
152                         <category android:name="string" />
153                         <data android:host="string"
154                             android:mimeType="string"
155                             android:path="string"
156                             android:pathPattern="string"
157                             android:pathPrefix="string"
158                             android:port="string"
159                             android:scheme="string" />
160                     </intent-filter> -->
161             <meta-data />           <!-- 用于存储预定义数据 -->
162         </activity>
163         
164         <activity-alias>                <!-- Activity组件别名的声明标签,简单来说就是Activity的快捷方式, -->
165                                         <!-- Activity别名也是一个独立的Activity,可以拥有自己的<intent-filter>和<meta-data>元素 -->
166             <!-- 语法范例 -->
167             <!-- <activity-alias android:enabled=["true" | "false"]     别名开关
168                     android:exported=["true" | "false"]
169                     android:icon="drawable resource"
170                     android:label="string resource"
171                     android:name="string"                           Activity别名名称
172                     android:permission="string"                     权限控制
173                     android:targetActivity="string" >               其相关的Activity名-->
174             <intent-filter> . . . </intent-filter>
175             <meta-data />           <!-- 用于存储预定义数据, -->
176                 <!-- 和<intent-filter>类似,<meta-data>也可以放在<activity>、<activity-alias>、<service>和<receiver>这四个元素标签中。
177                         Meta数据一般会以键值对的形式出现,个数没有限制,而这些数据都将被放到一个Bundle对象中,
178                         程序中我们则可以使用ActivityInfo、ServiceInfo甚至ApplicationInfo对象的metaData属性中读取。
179                         假设我们在一个Activity中定义了一个<meta-data>元素,相关示例用法如下。
180                         
181                         <activity...>
182                             <meta-data android:name="testData" android:value="Test Meta Data"></meta-data>
183                         </activity>
184                         
185                         ActivityInfo info = this.getPackageManager()
186                             .getActivityInfo(getComponentName(), PackageManager.GET_META_DATA);
187                         String testData = info.metaData.getString("testData");
188                         System.out.println("testData:" + testData); -->
189         </activity-alias>
190         
191         <!-- Service 配置 -->
192         <service>               <!-- Service服务组件的声明标签,用于定义与描述一个具体的Android服务, -->
193             <intent-filter> . . . </intent-filter>
194             <meta-data/>
195         </service>
196             <!-- 语法范例 -->
197             <!-- <service android:enabled=["true" | "false"]    服务开关
198                     android:exported=["true" | "false"]
199                     android:icon="drawable resource"        服务图标
200                     android:label="string resource"         服务描述
201                     android:name="string"               Service服务类名
202                     android:permission="string"
203                     android:process="string" > -->
204         
205         <!-- Receiver 配置 -->
206         <receiver>              <!-- Boardcast Receiver广播接收器组件的声明标签,用于定义与描述一个具体的Android广播接收器 -->
207             <intent-filter> . . . </intent-filter>
208             <meta-data />
209         </receiver>
210             <!-- 语法范例 -->
211             <!-- <receiver android:enabled=["true" | "false"]   接收器开关
212                     android:exported=["true" | "false"]
213                     android:icon="drawable resource"            接收器图标
214                     android:label="string resource"             接收器描述
215                     android:name="string"                   Boardcast Receiver接收器类名
216                     android:permission="string"
217                     android:process="string" > -->
218         
219         <!-- Provider 配置 -->
220         <provider>              <!--  Content Provider内容提供者的声明标签 -->
221             <grant-uri-permission />
222             <meta-data />
223         </provider>
224             <!-- 语法范例 -->
225             <!-- <provider android:authorities="list"           内容提供者标识名称
226                     android:enabled=["true" | "false"]
227                     android:exported=["true" | "false"]
228                     android:grantUriPermissions=["true" | "false"]      对指定URI授予权限标识
229                     android:icon="drawable resource"
230                     android:initOrder="integer"
231                     android:label="string resource"
232                     android:multiprocess=["true" | "false"]
233                     android:name="string"
234                     android:permission="string"
235                     android:process="string"
236                     android:readPermission="string"             读权限
237                     android:syncable=["true" | "false"]
238                     android:writePermission="string" >          写权限-->
239         <!-- 所需类库配置 -->
240         <uses-library />
241 
242     </application>
243 
244 </manifest>

 

posted @ 2014-08-17 17:43  四点水这  阅读(730)  评论(0编辑  收藏  举报