清单文件

AndroidManifest.xml 文件用于指定APP的运行配置信息, 它是一个XML文件


一、code:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools"
          package="cn.smile.client">

    <!-- 粗略定位授权 -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <!-- 精细定位授权 -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <!-- 网络权限 -->
    <uses-permission android:name="android.permission.INTERNET" />
    <application
            android:allowBackup="true"
            android:dataExtractionRules="@xml/data_extraction_rules"
            android:fullBackupContent="@xml/backup_rules"
            android:icon="@drawable/ic_launcher_icon"
            android:label="GPS定位系统"
            android:roundIcon="@drawable/ic_launcher_icon"
            android:supportsRtl="true"
            android:theme="@style/Theme.Client"
            tools:targetApi="31">
        <activity
                android:name=".view.LocationActivity"
                android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>

</manifest>

二、属性说明

AndroidManifest.xml 的跟节点为 manifest, 它的 package 属性指定了该APP的包名。

1 uses-permission

uses-permission 节点, 用于向安卓系统申请需要使用到的权限;

2 application

application 节点, application 属性具体说明如下:

  • android:allowBackup 是否允许应用备份。允许用户备份系统应用和第三方应用的apk安装包和应用数据, 以便在刷机或者数据丢失后恢复应用, 用户即可通过adb backup和adb restore来进行对应用数据的备份和恢复。true表示允许, flase表示不允许。
  • android:icon 指定APP在手机屏幕上显示的图标
  • android:label 指定APP在手机屏幕上显示的名称
  • android:roundIcon 指定APP的圆角图标
  • android:supportsRtl 是否支持阿拉伯语/波斯语这种从右往左的文字排列顺序。true表示支持, flase表示不支持
  • android:theme 指定APP的现实风格

2.1 activity

activity 节点是活动页面的注册声明, 只有 AndroidManifest.xml 中正确配置了 activity 节点, 才能在运行时访问对应的活动页面。初始配置的 MainActivity 是APP的默认主页, 之所以说该页面是APP的主页, 是因为它的
activity 节点内部还配置了以下过滤信息:

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

其中 action 节点设置的 ‘android.intent.action.MAIN’ 表示该页面是APP的入口页面, 启动APP时会最先打开该页面。而 category 节点设置的 ‘android.intent.category.LAUNCHER’ 决定了是否在手机屏幕上显示APP图标, 如果同时有两个 action 节点内部都设置了 ‘android.intent.category.LAUNCHER’, 那么桌面会显示两个APP图标。