Android 基础教程

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/android-config-file-androidmanifest.html

Android 清单配置文件 AndroidManifest.xml 详解


AndroidManifest.xml 是 Android 应用的清单文件,它包含了应用程序的关键信息,例如应用程序的包名、活动、权限和服务等。

包配置

最外层的配置 manifest,这个配置项定义了应用程序的包名,是应用的唯一标识符,示例如下:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.knowledgedict" 
    android:versionCode="1"
    android:versionName="1.0">
   ...
</manifest>

versionCode 是一个整数,用于表示应用程序的版本号,用于比较不同版本。

versionName 是一个字符串,表示应用程序的版本名称。

第二层配置

权限声明

使用 <uses-permission> 配置项声明应用需要访问的权限,如网络访问、设备硬件等。

示例如下:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.knowledgedict" 
    android:versionCode="1"
    android:versionName="1.0">

    <!--用于进行网络定位-->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <!--用于访问GPS定位-->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <!--用于获取运营商信息,用于支持提供运营商信息相关的接口-->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <!--用于访问wifi网络信息,wifi信息会用于进行网络定位-->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <!--用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <!--用于访问网络,网络定位需要上网-->
    <uses-permission android:name="android.permission.INTERNET" />
    <!--用于读取手机当前的状态-->
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <!--用于写入缓存数据到扩展存储卡-->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <!--用于申请调用A-GPS模块-->
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />

    ...

</manifest>

应用配置项

<application> 配置项在 AndroidManifest.xml 文件中定义了应用程序的全局配置信息,它影响整个应用的行为和特性。

<application android:name=".MyApplication" ...>
   ...
</application>

application 具体配置项

元数据标签

<meta-data> 标签是 AndroidManifest.xml 文件中用于包含与应用程序、组件或权限相关的元数据(metadata)信息的元素。它允许你在清单文件中嵌入一些额外的数据,以供应用程序在运行时访问和使用。

<meta-data android:name="com.amap.api.v2.apikey" android:value="${AMAP_KEY}">
</meta-data>

活动声明

<activity> 配置项用于声明应用的活动,包括活动的名称、启动方式、图标等。

<activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

服务声明

<service> 配置项用于声明应用的后台服务,包括服务的名称、启动方式等。

<service android:name=".MyService" />

广播接收器声明

<receiver> 配置项用于声明应用的广播接收器,包括接收器的名称、过滤器(Intent Filter)等。

<receiver android:name=".MyReceiver">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
    </intent-filter>
</receiver>