android studio 清单配置文件androidmainfest.xml详细解读

 更新时间:2024年04月12日 09:23:01   作者:一贴灵  
AndroidManifest官方解释是应用清单,每个应用的根目录中都必须包含一个,并且文件名必须一模一样,这个文件中包含了APP的配置信息,系统需要根据里面的内容运行APP的代码,显示界面,这篇文章介绍了android studio 清单配置文件androidmainfest.xml解读,需要的朋友可以参考下

AndroidManifest是什么?

AndroidManifest官方解释是应用清单(manifest意思是货单),每个应用的根目录中都必须包含一个,并且文件名必须一模一样。这个文件中包含了APP的配置信息,系统需要根据里面的内容运行APP的代码,显示界面。

AndroidManifest的作用是什么?

上述的功能是非常笼统的解释,具体到细节就是:

  • 为应用的 Java 软件包命名。软件包名称充当应用的唯一标识符。
  • 描述应用的各个组件,包括构成应用的 Activity、服务、广播接收器和内容提供程序。它还为实现每个组件的类命名并发布其功能,例如它们可以处理的 Intent 消息。这些声明向 Android 系统告知有关组件以及可以启动这些组件的条件的信息。
  • 确定托管应用组件的进程。
  • 声明应用必须具备哪些权限才能访问 API 中受保护的部分并与其他应用交互。还声明其他应用与该应用组件交互所需具备的权限
  • 列出 Instrumentation类,这些类可在应用运行时提供分析和其他信息。这些声明只会在应用处于开发阶段时出现在清单中,在应用发布之前将移除。
  • 声明应用所需的最低 Android API 级别
  • 列出应用必须链接到的库

上面是官方的解释。很多东西笔者现在还不能理解,也没有用到,先挑笔者理解的进行解释。

  • 第一条:提供软件包名。这就是我们的apk的名字,通常我们的名字都是类似"com.android.gles3jni"这种,和Java类名类似,目的是确定使其成为一个唯一值。

  • 第二条:描述应用的各个组件。这是用来定义四大组件用的。我们最常用的就是Activity组件。它需要定义组件的表现形式(组件名、主题、启动类型),组件可以响应的操作(例如某个启动意图)等。

  • 第三条、第四条和第五条:还没用到,不做解释。

  • 第五条:声明最低API级别。这个级别在build.gradle文件中也能定义,字段是minSdkVersion。在AndroidManifest.xml文件中定义的情况比较少。

  • 第六条:列出必要的lib库。这东西在3.0以后的Android Studio似乎也没什么功能,因为在3.0以后编译用的是CMakeLists.txt文件,以及build.gradle文件来指定库。

接下来接介绍android studio 清单配置文件androidmainfest.xml解读。

1、注册Activity页面,并指定首页。

  所有的页面文件要在此文件中注册。

  指定是APP的首页:(android:exported="true")和下面的 intent-filter中的两行,;

2、需要的权限要在此文件中指定;

 <uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">
    <!-- Needed only if your app looks for Bluetooth devices.
         If your app doesn't use Bluetooth scan results to derive physical
         location information, you can
         <a href="#assert-never-for-location" rel="external nofollow" >strongly assert that your app
         doesn't derive physical location</a>. -->
    <uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
    <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
    <!-- Needed only if your app makes the device discoverable to Bluetooth
         devices. -->
    <uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />
    <!-- Needed only if your app communicates with already-paired Bluetooth
         devices. -->
    <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <application
        android:allowBackup="true"
        android:dataExtractionRules="@xml/data_extraction_rules"
        android:fullBackupContent="@xml/backup_rules"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.LabelPrint"
        tools:targetApi="31">
        <activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

到此这篇关于android studio 清单配置文件androidmainfest.xml解读的文章就介绍到这了,更多相关androidmainfest.xml解读内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Android照片墙应用实现 再多的图片也不怕崩溃

    Android照片墙应用实现 再多的图片也不怕崩溃

    这篇文章主要为大家详细介绍了Android照片墙应用实现,再多的图片也不怕崩溃,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • Android中dataBinding使用的简单封装

    Android中dataBinding使用的简单封装

    前面一段时间学习了一下Android中的DataBinding,但是只是很简单地实现了一下,DataBinding中最强大的地方还没有认真地学习过,有很多地方还不理解,下面这篇文章主要给大家介绍了关于Android中dataBinding使用的简单封装,需要的朋友可以参考下
    2023-06-06
  • Kotlin协程之Flow异常示例处理

    Kotlin协程之Flow异常示例处理

    这篇文章主要为大家介绍了Kotlin协程之Flow异常处理,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • Android制作微信app顶部menu菜单(ActionBar)

    Android制作微信app顶部menu菜单(ActionBar)

    这篇文章主要为大家详细介绍了Android利用ActionBar制作微信app顶部menu菜单,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • Android中buildToolVersion与CompileSdkVersion的区别

    Android中buildToolVersion与CompileSdkVersion的区别

    今天小编就为大家分享一篇关于Android中buildToolVersion与CompileSdkVersion的区别,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • Flutter调用Android和iOS原生代码的方法示例

    Flutter调用Android和iOS原生代码的方法示例

    这篇文章主要给大家介绍了关于Flutter调用Android和iOS原生代码的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Flutter具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • Android 利用方向传感器实现指南针具体步骤

    Android 利用方向传感器实现指南针具体步骤

    Android利用方向传感器实现指南针功能,听起来还不错吧,下面与大家分享下具体的实现步骤,感兴趣的朋友可以参考下哈
    2013-06-06
  • Android XML数据解析简单示例

    Android XML数据解析简单示例

    这篇文章主要介绍了Android XML数据解析简单示例,本文直接给出了实现代码,需要的朋友可以参考下
    2014-10-10
  • Android开发中如何模拟输入

    Android开发中如何模拟输入

    这篇文章主要介绍了Android开发中如何模拟输入,帮助大家更好的理解和学习使用Android,感兴趣的朋友可以了解下
    2021-03-03
  • Android中关于Notification及NotificationManger的详解

    Android中关于Notification及NotificationManger的详解

    本篇文章小编为大家介绍,Android中关于Notification及NotificationManger的详解。需要的朋友参考下
    2013-04-04

最新评论