AndroidManifest.xml配置文件对于Android应用开发来说是非常重要的基础知识,通过配置文件可以大概的了解整个项目。

<manifestxmlns:android="http://schemas.android.com/apk/res/android"package="net.oschina.designapp"android:versionCode="29"android:versionName="1.0.0.4"></manifest>

<manifest>
AndroidManifest.xml配置文件的根元素,必须包含一个<application>元素并且指定xlmns:android和package属性。xlmns:android指定了Android的命名空间,默认情况下是“http://schemas.android.com/apk/res/android”;而package是标准的应用包名,也是一个应用进程的默认名称,即“net.oschina.designapp” 就是一个标准的Java应用包名,我们为了避免命名空间的冲突,一般会以应用的域名来作为包名。当然还有一些其他常用的属性需要注意一下,比如android:versionCode是给设备程序识别版本用的,必须是一个整数值代表app更新过多少次;而android:versionName则是给用户查看版本用的,需要具备一定的可读性,比如“1.0.0”这样的。

<uses-sdkandroid:minSdkVersion="7"android:targetSdkVersion="14"/>

<uses-sdk>

指定app所需要的android sdk的版本,通常有个最低版本号,目标版本号。最高版本号可不写。

<uses-permissionandroid:name="android.permission.INTERNET"/><uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"/><uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permissionandroid:name="android.permission.SYSTEM_ALERT_WINDOW"/><uses-permissionandroid:name="android.permission.RESTART_PACKAGES"/><uses-permissionandroid:name="android.permission.RECORD_AUDIO"/><uses-permissionandroid:name="android.permission.VIBRATE"/><uses-permissionandroid:name="android.permission.CAMERA"/><uses-permissionandroid:name="android.permission.FLASHLIGHT"/>

<uses-permission> 声明应用所使用的权限。在android中,必须声明权限,才能使用相应的功能。

<permission>

权限声明标签,定义了供给<uses-permission>使用的具体权限,通常情况下我们不需要为自己的应用程序声明某个权限,除非需要给其他应用程序提供可调用的代码或者数据,这个时候你才需要使用<permission>标签。该标签中提供了android:name权限名标签,权限图标android:icon以及权限描述android:description等属性,另外还可以和<permission-group>以及<permission-tree>配合使用来构造更有层次的、更有针对性权限系统。

<uses-configuration>与<uses-feature>
这两个标签都是用于描述应用所需要的硬件和软件特性,以便防止应用在没有这些特性的设备上安装。<uses-configuration>标签中,比如有些设备带有D-pad或者Trackball这些特殊硬件,那么android:reqFiveWayNav属性就需要设置为true;而如果有一些设备带有硬件键盘,android:reqHardKeyboard也需要被设置为true。另外,如果设备需要支持蓝牙,我们可以使用<uses-feature android:name="android.hardware.bluetooth" />来支持这个功能。这两个标签主要用于支持一些特殊的设备中的应用。

<supports-screens>
对于一些应用或者游戏来说,只能支持某些屏幕大小的设备或者在某些设备中的效果比较好,我们就会使用<supports-screens>标签来指定支持的屏幕特征。其中比较重要的属性包括:屏幕自适应属性android:resizeable,小屏(android:smallScreens)、中屏(android:normalScreens)、大屏(android:largeScreens)和特大屏(android:xlargeScreens)支持属性,按屏幕渲染图像属性android:anyDensity以及最小屏幕宽度属性android:requiresSmallestWidthDp等。

<application>
应用配置的根元素,位于<manifest>下层,包含所有与应用有关配置的元素,其属性可以作为子元素的默认属性,常用的属性包括:应用名android:label,应用图标android:icon,应用主题android:theme等。

<activity>
Activity活动组件(即界面控制器组件)的声明标签,Android应用中的每一个Activity都必须在AndroidManifest.xml配置文件中声明,否则系统将不识别也不执行该Activity。<activity>标签中常用的属性有:Activity对应类名android:name,对应主题android:theme,加载模式android:launchMode(详见2.1.3.4节),键盘交互模式android:windowSoftInputMode等,其他的属性用法大家可以参考Android SDK文档学习。另外,<activity>标签还可以包含用于消息过滤的<intent-filter>元素,当然还有可用于存储预定义数据的<meta-data>元素。

<service>
Service服务组件的声明标签,用于定义与描述一个具体的Android服务,主要属性有:Service服务类名android:name,服务图标android:icon,服务描述android:label以及服务开关android:enabled等。关于Service服务组件的概念和用法请参考2.1.4.2节的内容。

<receiver>
Boardcast Receiver广播接收器组件的声明标签,用于定义与描述一个具体的Android广播接收器,其主要属性和<service>标签有些类似:Boardcast Receiver接收器类名android:name,接收器图标android:icon,接收器描述android:label以及接收器开关android:enabled等。关于Boardcast Receiver广播接收器组件的概念和用法请参考2.1.4.3节的内容,

更多相关文章

  1. android控件之GridView
  2. Error running app: Instant Run requires 'Tools | Android(安
  3. android设置Webview的滚动条属性
  4. android textview属性
  5. android 动画分类
  6. Android(安卓)PackageInstaller:安装应用的应用
  7. 源码编译Android(安卓)4.1.2的Camera应用(Android(安卓)Studio1.
  8. Android应用最上层悬浮窗实现不依赖于Activity的弹框
  9. android 动画

随机推荐

  1. 关闭android应用程序
  2. Android浏览器如何打开网页
  3. Android(安卓)MaterialDesign中颜色
  4. IntentService 和ResultReceiver
  5. 自定義Dialog去除背景陰影
  6. Android(安卓)利用ClipDrawable 自定义进
  7. Android按键拦截处理最佳实践范例(以Back
  8. Android跳转到系统Wifi界面的方式
  9. Android中全屏无标题设置
  10. Android自定义相机镂空遮罩