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節的內容,

相關文章
相關標籤/搜索