当前位置: 代码网 > it编程>App开发>Android > android studio 清单配置文件androidmainfest.xml详细解读

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

2024年06月01日 Android 我要评论
androidmanifest是什么?androidmanifest官方解释是应用清单(manifest意思是货单),每个应用的根目录中都必须包含一个,并且文件名必须一模一样。这个文件中包含了app的

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解读内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com