AndroidManifest.xml配置文件详解

AndroidManifest.xml配置文件对于Android应用开发来讲是很是重要的基础知识,经过配置文件能够大概的了解整个项目。java

<manifest xmlns: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”这样的。
android

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

 <uses-sdk>web

 指定app所须要的android sdk的版本,一般有个最低版本号,目标版本号。最高版本号可不写。app

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

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

<permission>ui

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

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

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

 

<application>
应用配置的根元素,位于<manifest>下层,包含全部与应用有关配置的元素,其属性能够做为子元素的默认属性,经常使用的属性包括:应用名android:label,应用图标android:icon,应用主题android:theme等。 
xml

 

<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节的内容,

相关文章
相关标签/搜索