AndroidManifest.xml文件相关属性名称详解

manifest根节点的属性

属性 介绍
package 指定应用的包名,每个应用的包名是唯一的
android:versionCode 指定应用的版本号,对用户不可见,对开发人员可用,可通过比较版本号进行应用版本升级。
android:versionName 指定应用的版本名称,对用户可见,用户可以到设置里查看版本名称。
android:sharedUserId 用于多个应用之间共享userid,多个应用如果将此属性设为同一个值,那么这些应用就可以共享资源了,详情见另一篇文章https://blog.csdn.net/qq_41716624/article/details/96006198
android:installLocation 应用的安装位置,有三种选择,auto、internalOnly 和preferExternal。
android:sharedUserLabel 为sharedUserId属性指定标签,只能是用@string引用,不能直接用字符串。

Application节点属性

属性 介绍
android:name 自定义Application时,需要在此指定
android:theme 应用的主题样式
android:label 应用描述,此描述会在设置、应用管理里给用户看的,不是桌面的app名字,也不是应用中默认的ActionBar的title,桌面上应用的名称是主Activity的label描述的
android:icon 此图标就是设置、应用管理里的应用描述图标,同时也是桌面上的图标,如果不设置就会默认使用系统自带的机器人图标(不是项目自带的机器人,是系统原始的图标)
android:logo 应用的logo,是所有的Activity的Actionbar上的Logo,不是桌面的启动图标,也不是设置中应用程序的描述图标。如果不设置此属性,就会默认使用icon属性的图标,如果icon也没有设置就会使用系统自带的图标
android:permission 设置权限许可,如果此属性有设置,并且其下的各组件也设置了的就会被覆盖
android:process 应用程序的进程名,如果不设置就会默认为package名
android:taskAffinity 设置Activity任务栈的名称
android:allowTaskReparenting 表示是否允许Activity的task栈迁移,详情见:https://blog.csdn.net/qq_41716624/article/details/96006817
android:hasCode 如果为false表示程序中没有任何的java代码,那么系统就不会尝试去加载相关的类,通常当将项目作出libary库时可以使用此属性
android:persistent 该应用程序是否应该在任何时候都保持运行状态,默认为false。
android:requiredForAllUsers 指定此应用是否需要对所有用户可用
android:hardwareAccelerated 是否启用应用加速,在此节点上加入此属性的话会对整个应用都使用硬件加速,Activity、View也有此属性设置,查看:https://blog.csdn.net/qq_41716624/article/details/96007069
android:vmSafeMode 此属性用于控制是否使用JIT编译器,如果你觉得JIT会导致你的程序发生异常你可以关闭他。系统默认是false,也就是默认的就是使用JIT编译器来提高性能的
android:debuggable 只有此属性为true时才允许在手机上进行调试
android:manageSpaceActivity 此属性相当有用啊,可以控制不让用户删除应用数据,我们可以通过此属性指定到程序员自己编写的类去清除指定的数据。指定的Activity也需要注册见:https://blog.csdn.net/qq_41716624/article/details/96007627
android:allowClearUserData 是否允许用户到应用管理里手动清除数据,我测试过貌似没啥效果
android:backupAgent 这个属性用于定义应用程序备份代理的实现类的名称,这个类是BackupAgent类的一个子类。它的属性值应该是完整的Java类的名称(如,com.example.project.MyBackupAgent)
android:allowBackup 是否允许备份数据,此属性存在安全风险,如果设为true,当任意一个usb连接时就可以通过adb获取备份数据,见:https://blog.csdn.net/qq_41716624/article/details/96007968
android:supportsRtl 此属性是支持布局从左到右的布局,主要是方便开发者去支持阿拉伯语/波斯语等阅读习惯是从右往左的
android:uiOptions 如果ActionBar的控件不够就将Actionbar分离开来,将ActionBar放在底部,而不是手机顶部了
android:largeHeap 申请最大内存使用量,但是不是无限的大,他会收到Dalvik的设置限制,至少这个属性设为true后比不设置的内存限制要大。
android:neverEncrypt 如果设备的文件系统加密是可以用的,那么此属性可以指定是否为用户数据进行加密

Activity节点属性

属性 介绍
android:name Activity名称
android:label Activity的ActionBar的title
android:theme Activity的主题
android:launchMode Activity启动模式:standard、singTop、singTask、singInstance,这四种模式
android:screenOrientation 屏幕方向:landscape横向、portrait、sensor随着重力感应而改变方向(此时即使在设置中关闭自动旋转此属性依旧有效)、unsensor不随着重力感应而改变方向,用户当前首选方向、竖向,其它不常用就不说了。
android:configChanges 指定一个或多个配置变化事件,指定了配置变化之后Activity就会执行onConfigChanged()方法去处理相应的代码(用户自己去实现),自从Android 3.2(API 13),在设置Activity的android:configChanges="orientation
android:multiprocess 指定当组件在不同的进程中执行时是否允许有多个实例
android:process Activity的这个属性我发现没什么卵用啊
android:taskAffinity 关于此属性的用法,这篇文章说的很详细:https://blog.csdn.net/qq_41716624/article/details/96008835
android:allowTaskReparenting 允许Activity从Task栈中转移
android:finishOnTaskLaunch 是否关闭已打开的activity当用户重新启动这个任务的时候
android:finishOnCloseSystemDialogs 当“关闭系统窗口”请求出现时是否销毁Activity,true为销毁
android:clearTaskOnLaunch 当从home界面启动时是否要将该Activity的task栈清空,意思就是:当我们队A设置此属性为true,然后在A中启动B,在B显示的时候按Home键,再从桌面点击应用图标就会显示的是A了。
android:noHistory 表示此Activity不在Stack中有任何记录,比如对A(假设A是MainActivity)设置此属性为true,然后在A启动B,再按返回就回到桌面了。
android:excludeFromRecents 设为true时,此Activity就不会显示在最近任务列表中。
发布了30 篇原创文章 · 获赞 23 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_41716624/article/details/96003749
今日推荐