AndroidManifest文件標(biāo)簽總結(jié)

AndroidManifest.xml文件與build.gradle在Android項(xiàng)目中都是兩大靈魂人物,在項(xiàng)目中的地位舉足輕重。熟練掌握AndroidManifest文件的配置,就能在整個(gè)項(xiàng)目的開發(fā)中有更強(qiáng)大的把控力。

  • manifest標(biāo)簽:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.example.dev">

package 聲明包名;
xmlns 命名空間的聲明,使得各種Android系統(tǒng)級(jí)的屬性能讓我們使用。
installLocation 程序的安裝位置,
有三個(gè)值可以選擇:internalOnly、auto、preferExternal
分別為只能裝內(nèi)置內(nèi)存中、可相互轉(zhuǎn)移,優(yōu)先裝入SD卡中。

uses-configuration標(biāo)簽

這個(gè)屬性用于指定該應(yīng)用程序所需要的硬件和軟件功能。

<uses-configuration android:reqFiveWayNav=["true" | "false"] 
                    android:reqHardKeyboard=["true" | "false"]
                    android:reqKeyboardType=["undefined" | "nokeys" | "qwerty" | "twelvekey"]
                    android:reqNavigation=["undefined" | "nonav" | "dpad" | "trackball" | "wheel"]
                    android:reqTouchScreen=["undefined" | "notouch" | "stylus" | "finger"] />

supports-screens標(biāo)簽

聲明應(yīng)用支持的分辨率類型

    <supports-screens
        android:anyDensity="true"
        android:largeScreens="true"
        android:normalScreens="true"
        android:resizeable="true"
        android:smallScreens="true"
        android:xlargeScreens="true" />

resizeable 是否可以調(diào)整尺寸,增加屏幕適配的兼容性
anyDensity 是否包含了能夠適用于任何屏幕密度的資源。

uses-permission標(biāo)簽

應(yīng)用所需權(quán)限的聲明,常用權(quán)限聲明

    <!-- 用于進(jìn)行網(wǎng)絡(luò)定位 -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <!-- 用于訪問GPS定位 -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <!-- 獲取運(yùn)營商信息,用于支持提供運(yùn)營商信息相關(guān)的接口 -->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <!-- 用于訪問wifi網(wǎng)絡(luò)信息,wifi信息會(huì)用于進(jìn)行網(wǎng)絡(luò)定位 -->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <!-- 這個(gè)權(quán)限用于獲取wifi的獲取權(quán)限,wifi信息會(huì)用來進(jìn)行網(wǎng)絡(luò)定位 -->
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <!-- 用于訪問網(wǎng)絡(luò),網(wǎng)絡(luò)定位需要上網(wǎng) -->
    <uses-permission android:name="android.permission.INTERNET" />
    <!-- 用于讀取手機(jī)當(dāng)前的狀態(tài) -->
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
    <!-- 寫入擴(kuò)展存儲(chǔ),向擴(kuò)展卡寫入數(shù)據(jù),用于寫入緩存定位數(shù)據(jù) -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <!-- 撥打電話 -->
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <!-- 調(diào)用相機(jī) -->
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
    <!-- 調(diào)用閃光燈 -->
    <uses-permission android:name="android.permission.FLASHLIGHT" />
    <!-- 震動(dòng)器 -->
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <!-- 讀取通訊錄 -->
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />

application標(biāo)簽

設(shè)置應(yīng)用整體屬性

name 設(shè)置Application
label 設(shè)置應(yīng)用名
icon 啟動(dòng)圖標(biāo)
theme 應(yīng)用統(tǒng)一theme
largeHeap 請求開辟更大的應(yīng)用內(nèi)存
hardwareAccelerated 全局開啟硬件加速。不推薦在application中開啟,非要開可以在單獨(dú)使用的activity標(biāo)簽中開,避免過大內(nèi)存開銷。
debuggable 指定應(yīng)用程序是否能夠被調(diào)試

process 這個(gè)屬性用于定義一個(gè)進(jìn)程名稱

activity標(biāo)簽

screenOrientation 設(shè)置當(dāng)前Activity固定屏幕方向
configChanges 配置的內(nèi)容變化是否重啟生命周期
launchMode 設(shè)置當(dāng)前Activity啟動(dòng)模式
exported 設(shè)置該activity是否可以被其他應(yīng)用啟動(dòng),設(shè)置為true也可以直接啟動(dòng)就進(jìn)入該activity
windowSoftInputMode 共9個(gè)屬性,可以分別為軟鍵盤設(shè)置始終隱藏,始終顯示,大小調(diào)整等類型
taskAffinity 指定在任務(wù)棧的標(biāo)識(shí)
hardwareAccelerated 開啟硬件加速

meta-data標(biāo)簽

這個(gè)元素用name-value對的格式給其父組件提供任意可選的數(shù)據(jù)。
比如各種第三方sdk設(shè)置key使用的方式。

       <!-- 友盟Key配置 -->
        <meta-data
            android:name="UMENG_APPKEY"
            android:value="" />
        <meta-data
            android:name="UMENG_CHANNEL"
            android:value="${UMENG_CHANNEL_VALUE}" />

        <!-- 高德地圖 -->
        <meta-data
            android:name="com.amap.api.v2.apikey"
            android:value="" />
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容