<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="android.game.tank" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".android.game.tank" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="7" /> </manifest>
以上就是最简单的一个AndroidManifest.xml,文件内包含了该项目所使用到的Activity,Service,Receiver....除了能声明程序中的Activities, ContentProviders, Services, 和Intent Receivers,还能指定permissions和instrumentation(安全控制和测试),可以说它就是该项目的概述,可以一目了然的看到该项目轮廓。
那么我们就来逐个看看这些标签都有什么功能。
1.首先看根标签<manifest></manifest>, 这个是跟节点,描述了该package内的所有内容.
属性一:xmlns:android, 包含命名空间的声明,使得android中各种标准属性能在文件中使用,提供了大部分元素中的数据。
属性二:Package, 声明应用的程序包
属性三:android:versionCode, Code的版本
属性四:android:versionName: 该程序的版本号
2.第二个标签<application></application>, 包含package中application级别组件声明的根节点,此元素也可以包含application的一些全局和默认的属性,如标签,icon,主题,必要的权限等等,一个<manifest></manifest>标签中只能0个或者1个此标签(不能大于一个哦~)
属性一:android:icon, 应用程序的图标
属性二:android:label, 应用程序的名字
3.第三个标签<activity></activity>,用来与用户交互的主要工具,activity是用户打开应用程序的初始界面,大部分的其他的页面也是有activity实现的,并且声明在另外的activity标签中,注意:每一个activity只有一个<activity>标签与它对应,如果在src中定于编写了activity,但是没有在manifest.xml文件中标记此activity,它是不能工作的。另外为了支持运行时查找activity,可能包含一个或者多个<intent-filter>标签来描述activity所支持的操作。
属性一:android:name, 应用程序默认启动的activity,也就是activity的名字,注意:这里package+android:name,正好能组成完整activity的路径。
属性二:android:label,就是启动这个activity时,titleBar上面显示的activity的名字。
4.第四个标签<intent-filter></intent-filter>, filter顾名思义是过滤器的意思,前缀在一起连起来就是intent的过滤器,也就是这个activity所支持的intent的值,除了能在这个元素下指定不同类型的值,属性也能放在这里进行描述一个操作所需的唯一标签、icon和其他信息。
包含的标签一:<action>, 组件所支持的Intent Action
包含的标签二:<category>,策略标签,组件所支持的Intent Category,这里指定了应用程序默认启动的activity
5.第五个标签<uses-sdk> 该应用程序所应用的sdk版本
这是我第一次写这种技术类的博客,想想我从10年4月份开始接触android开发, 到现在也有一年半的时间了,这段时间也写过一些android项目,参加过android比赛,写过android自动化测试框架,但是从来没有好好的总结过,从今天开始,每天都坚持总结一点,相信我会有很大的收获的。看过himi的博客,让我很震撼,他比我小两岁但是成就不知比我多多少。废话少说,坚持总结吧~~~祝大家天天好心情。。。。。。。。。。。