AndroidManifest.xml到底是什么?

2020-06-28  本文已影响0人  一介书生_坚持一定很酷

每个安卓应用项目必须在根目录中加入 AndroidManifest.xml 文件,它到底是什么,到底有什么作用?

作用:

一个清单文件,向 Android 构建工具、Android 操作系统和 Google Play(应用市场) 描述应用的基本信息。

  1. 声明应用的软件包名称,应用的ID。
    构建项目时,构建工具会使用软件包名称代码实体的位置;
    编译完成后,package 属性还可表示应用的通用唯一应用 ID
    ,用作系统和 Google Play 上的唯一应用标识符。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myapp" >
    ...
</manifest>
  1. 声明应用的组件( Activity、Service、BroadcastReceiver和内ContentProvider)
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myapp" >
    <application
            android:name=".MyApplication">
           <activity android:name=".MyActivity" />
           <service android:name=".MyService" />
           <receiver android:name=".MyReceiver" />
           <provider android:name=".MPprovider" />
   </application>
</manifest>
  1. 声明权限,包括应用为访问系统或其他应用的受保护部分所需的权限,以及其他应用想要访问此应用其必须拥有的权限。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myapp" >
// 该应用所需要/申请的权限
    <uses-permission android:name="android.permission.SEND_SMS"/>
// 访问该应用所需要的权限
    <permission android:name="android.permission.MINE"/>
</manifest>
  1. 声明应用需要的硬件和软件功能。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myapp" >
    <uses-feature
        android:name="android.hardware.sensor.compass"
        android:required="true" />
</manifest>
  1. 声明设备兼容性(Android版本要求)。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myapp" >
    <uses-sdk
        android:maxSdkVersion="29"
        android:minSdkVersion="21"
        android:targetSdkVersion="28" />
</manifest>
  1. 声明一些其他资源或属性,如应用/组件的主题,图标和标签等;组件的一些特性和功能等。
<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:versionCode="1"
    android:versionName="1.0"
    package="com.example.test">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>
上一篇下一篇

猜你喜欢

热点阅读