应用的声明。包含应用组件的声明和对组件有相关影响的属性声明。php
<application android:allowTaskReparenting=["true" | "false"] android:allowBackup=["true" | "false"] android:allowClearUserData=["true" | "false"] android:backupAgent="string" android:backupInForeground=["true" | "false"] android:banner="drawable resource" android:debuggable=["true" | "false"] android:description="string resource" android:directBootAware=["true" | "false"] android:enabled=["true" | "false"] android:extractNativeLibs=["true" | "false"] android:fullBackupContent="string" android:fullBackupOnly=["true" | "false"] android:hasCode=["true" | "false"] android:hardwareAccelerated=["true" | "false"] android:icon="drawable resource" android:isGame=["true" | "false"] android:killAfterRestore=["true" | "false"] android:largeHeap=["true" | "false"] android:label="string resource" android:logo="drawable resource" android:manageSpaceActivity="string" android:name="string" android:networkSecurityConfig="xml resource" android:permission="string" android:persistent=["true" | "false"] android:process="string" android:restoreAnyVersion=["true" | "false"] android:requiredAccountType="string" android:resizeableActivity=["true" | "false"] android:restrictedAccountType="string" android:supportsRtl=["true" | "false"] android:taskAffinity="string" android:testOnly=["true" | "false"] android:theme="resource or theme" android:uiOptions=["none" | "splitActionBarWhenNarrow"] android:usesCleartextTraffic=["true" | "false"] android:vmSafeMode=["true" | "false"] >
. . .
</application>复制代码
name:Application子类(自定义Application)的全名,此Application子类会在全部组件以前进行初始化。此项为可选项,通常可不设置,此时会使用默认的Application类。android
taskAffinity:指定APP中全部的Activity所属的任务栈的名字,除了那些设置了不一样taskAffinity值的Activity。若是不设置此项,默认为包名。而且默认状况下,全部Activity都共享同一个taskAffinity。正则表达式
allowTaskReparenting:若是此属性设置了true,则会出现以下的状况。容许某个ActivityX从打开它的那个任务栈移动到它原本所属的taskAffinity任务栈的最上面。而且对全部未设置allowTaskReparenting值的Activity都生效。具体的详见下面的元素项。安全
allowBackup:是否容许使用adb backup和adb restore进行数据的备份和恢复。true:能够;false,不能够。默认值为true。此项设置为true可能会有安全风险,可参考这里网络
allowClearUserData:是否容许应用重置用户数据。默认值为true。非系统应用是不能包含此项到manifest文件中的,只有系统应用才能够。app
backupAgent:用来设置备份代理。须要指定BackupAgent子类的全名,如com.example.project.MyBackupAgent。没有默认值,须要的话必须指定。BackupAgent的说明和使用能够参考这里dom
backupInForeground:在allowBackup设置为true的前提下,自动备份(Auto Backup)操做是否在APP运行在前台的时候进行数据备份。true为能够,false为不能够。默认为false。Android6.0以上才添加的,把数据备份到Google Drive上,有25M的空间。ide
banner:可在和中设定。用在AndroidTV主页上的Activity(可以处理CATEGORY_LEANBACK_LAUNCHER intent的Activity),用来轮播图布局
debuggable:是否容许APP进入调试模式。通常不设置此值,由编译器自动打包对其进行赋值。true:可调试。false:不可调试。此属性可不用特地指定,发布debug包的时候会自动设置为true,release包的时候会设置为false。测试
label:用户可读的此APP的标签
description:关于此APP的详细描述。
directBootAware:Android7.0引入的新特性,是否能够能够在Direct Boot模式下运行。true:能够,false:不能够。默认为false若是此项设置了,而其余组件没设置,其余组件此项的值和application的同样
enabled:是否让系统对application中的组件进行实例化。true为能够,false为不能够。当false时,须要本身手动最组件进行实例化。默认此项为true。当application设置此项时,全部组件的此项的值必须和application保持一致。
extractNativeLibs:Android6.0引入的。安装APK包时是否对其中的.so文件提取出来。设置为false时.so文件必须为page aligned 和 未压缩过的,此时.so文件直接在运行的时候从apk包中加载进来。默认值为true。
fullBackupContent:Android6.0引入。配合自动备份,用一个XML文件指明备份数据的规则。XML文件以下:
<application ... android:fullBackupContent="@xml/my_backup_rules">
</app>复制代码
res/xml/my_backup_rules.xml
<!-- 规则 -->
<full-backup-content>
<include domain=["file" | "database" | "sharedpref" | "external" | "root"] path="string" />
<exclude domain=["file" | "database" | "sharedpref" | "external" | "root"] path="string" />
</full-backup-content>
<!-- 示例 -->
<?xml version="1.0" encoding="utf-8"?>
<full-backup-content>
<include domain="sharedpref" path="."/>
<exclude domain="sharedpref" path="device.xml"/>
</full-backup-content>复制代码
fullBackupOnly:当自动备份(Auto Backup)可使用的时候的时候,是否开启。true为开启,而且6.0以上使用自动备份,如下使用 Key/Values Backups。默认为false。
hasCode:APP是否包含代码。true表示包含,false表示不包含,在APP加载组件的时候系统不会load任何代码。默认值为true。
hardwareAccelerated:是否为全部的Activity和View进行硬件加速渲染。当minSdkVersion和targetSdkVersion为14以上时,默认值为true,不然为false。
icon:APP的桌面显示的图标。
isGame:是否游戏,用来和其余应用区分开来。默认为false。
killAfterRestore: 当系统恢复出厂设置,APP的设置信息被重置时,改APP是否应该被杀死。默认值为true。
largeHeap:APP是否须要更大的内存空间。大部分APP不须要此属性。要在运行时查询可用的内存大小,可使用 getMemoryClass() 或getLargeMemoryClass() 方法。
label:APP桌面显示的名称。若是不指定,则桌面名称为包名。
logo:actionBar或toolBar上显示的图标
manageSpaceActivity:Activity子类的全名。当用户清楚此APP数据时跳转到此Activity,用户将按照此APP的设置进行操做清除。
networkSecurityConfig:指向XML配置文件,此XML配置文件为网络安全配置文件。API 24引入。
格式以下:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config>
<trust-anchors>
<certificates src="..."/>
...
</trust-anchors>
</base-config>
<domain-config>
<domain>android.com</domain>
...
<trust-anchors>
<certificates src="..."/>
...
</trust-anchors>
<pin-set>
<pin digest="...">...</pin>
...
</pin-set>
</domain-config>
...
<debug-overrides>
<trust-anchors>
<certificates src="..."/>
...
</trust-anchors>
</debug-overrides>
</network-security-config>复制代码
permission:设置权限。此处设置,则全部的组件都会继承此权限(也可从新设置)。具体的可查看Manifest上篇中的权限部分。
persistent:是否让此APP持续地保持运行。通常此项不进行设置,此项是专门对一些系统应用进行设置的,好比短信,通话等应用。
process:设置进程名字。每一个组件能够对此项进行覆盖,设置本身的process。默认的进程名为APP的包名。以“:”开头命名的进程名为私有的。以小写字母开头的进程名为公有的,能够共享给其余APP。
restoreAnyVersion:APP能够经过任何版本的备份数据进行数据恢复,即便是高版本备份的数据恢复到低版本中去。设置true容许,false不容许。默认值为false。此项可能会致使数据冲突,设置true后须要当心处理。
resizeableActivity:APP是否设置分屏操做。API24 引入。
supportsRtl:是否支持从右到左布局。须要API17或更高的版本。若是设置为false或targetSdkVersion设置为16或更低版本,则会忽略RTL API。默认值为false。
testOnly:设置此APP是不是用来测试的。AndroidStudio点击运行的时候,会自动把此项设置为true。发布版本此项应该设置为false。
theme:APP的主题。
uiOptions:有none和splitActionBarWhenNarrow两项属性值。none为默认值。通常不多用到此项。
usesCleartextTraffic:API23引入。是否容许网络使用明文传输。默认值为true。
vmSafeMode:API22引入。是否让虚拟机运行在安全模式下。默认值为false。
对Activity的声明,APP中的全部APP必须在Manifest文件中声明才可以显示。
<activity android:allowEmbedded=["true" | "false"] android:allowTaskReparenting=["true" | "false"] android:alwaysRetainTaskState=["true" | "false"] android:autoRemoveFromRecents=["true" | "false"] android:banner="drawable resource" android:clearTaskOnLaunch=["true" | "false"] android:colorMode=[ "hdr" | "wideColorGamut"] android:configChanges=["mcc", "mnc", "locale", "touchscreen", "keyboard", "keyboardHidden", "navigation", "screenLayout", "fontScale", "uiMode", "orientation", "density", "screenSize", "smallestScreenSize"] android:directBootAware=["true" | "false"] android:documentLaunchMode=["intoExisting" | "always" | "none" | "never"] android:enabled=["true" | "false"] android:excludeFromRecents=["true" | "false"] android:exported=["true" | "false"] android:finishOnTaskLaunch=["true" | "false"] android:hardwareAccelerated=["true" | "false"] android:icon="drawable resource" android:label="string resource" android:launchMode=["standard" | "singleTop" | "singleTask" | "singleInstance"] android:maxRecents="integer" android:maxAspectRatio="float" android:multiprocess=["true" | "false"] android:name="string" android:noHistory=["true" | "false"] android:parentActivityName="string" android:persistableMode=["persistRootOnly" | "persistAcrossReboots" | "persistNever"] android:permission="string" android:process="string" android:relinquishTaskIdentity=["true" | "false"] android:resizeableActivity=["true" | "false"] android:screenOrientation=["unspecified" | "behind" |复制代码
name:Activity的子类全名。
allowEmbedded:此Activity是否能够做为其余Activity可嵌入的子Activity启动。在可穿戴的开发中此项须要设置为true。默认值为false。
taskAffinity:设置Activity所属任务栈的名称。具备相同taskAffinity的Activity属于同一个任务栈。若是此值不指定,则和<application>中设置的taskAffinity同样。默认状况下同一个APP全部的Activity都属于同一个任务栈,而且任务栈的名字和APP的包名(package name)一致。
allowTaskReparenting:设置为true的时候:若是某个任务栈中的Activity启动了此Activity,则此Activity会移动到它原本所属的taskAffinity任务栈的最上面。好比说有APK1和APK2,其中APK1中有MainActivity1和ActivityX(ActivityX中的Manifest文件中的此项设置了true),APK2中有MainActivity2,而且ActivityX能够被APK2中的MainActivity2启动。此时先在Home页面打开APK1启动MainActivity1,而后按Home键回到Home页面,再打开APK2启动MainActivity2,在MainActivity2中启动ActivityX,启动完成后按Home键回到Home页面,再进入APK1,会发现此时的最上面的Activity不是MainActivity1,而是ActivityX!此时若是再切换到APK2,会发现最上面的页面是MainActivity2。缘由是ActivityX在被APK2启动的时候会被移动到它原来所属的taskAffinity任务栈上,就是APK1中任务栈。因为singleTask和singleInstance启动模式的Activity必须在任务栈的根部,因此这两种启动模式不能设置为true。
alwaysRetainTaskState:是否保持APP任务栈的状态(Activity的打开顺序,保持状态)。true为老是保持,false不保持,默认值为false。对于任务栈根部的Activity(好比设置了MAIN和LAUNCHER的Activity)有意义,其余Activity设置了无心义。当为false,APP退到后台超过了必定时间在此切换到前台时,系统会清除任务栈上除根Activity外的全部Activity。当为true时,则会保持。
autoRemoveFromRecents:当设置了此项的activity所启动的任务栈上的全部activity都关闭时,是否在预览屏幕(overview screen,其实也是最近人物列表)中移除。true为移除,false为不移除。
clearTaskOnLaunch:当APP从桌面(Home Screen)切换回来是,是否移除掉任务栈上除了根Activity外的全部Activity,true为移除,false为不移除,默认值为false。此项只对根Activity起做用。
banner:在AndroidTV主页上的Activity进行轮播图片。
configChanges:默认状况下当Activity的配置在运行时改变时,会被销毁掉并重启,此时一些信息会得不到保存,如输入框的信息,典型的例子就是横竖屏切换。配置此项的相关信息,能够避免配置改变带来的信息遗失,当设置的条件发生时,会触发Activity的onConfigurationChanged()回调方法。此项的值能够设置多种状况,用“|”分开。
directBootAware:Activity是否能够在锁屏的上运行和显示。Direct Boot。默认值为false。
documentLaunchMode:Android 5.0添加。此项属性容许同一个APP可以有多个Activity展示在预览界面上(最近使用过的任务列表)。每次Activity启动时,新实例添加进task的方式。对应四种方式,除了none和never,其它两种方式的launchMode必须设置为standard:
intoExisting:重用现有的Activity,若是最近任务列表中没有Activity启动的任务栈(task),则建立一个;若是有的话则清除掉原来的,并重启,此时会回调onNewIntent(Intent);方法
always:Activity每次启动时建立新的任务栈(task)。等同于标签:FLAG_ACTIVITY_NEW_DOCUMENT和FLAG_ACTIVITY_MULTIPLE_TASK
none:默认值。每次Activity启动,不建立新的任务栈(task),展现在预览界面上的Activity是在任务栈最上面的Activity。可是FLAG_ACTIVITY_NEW_DOCUMENT标签可使Activity每次打开建立新的任务栈。
never:Activity启动,都不会建立新的任务栈,即便设置了FLAG_ACTIVITY_NEW_DOCUMENT和FLAG_ACTIVITY_MULTIPLE_TASK标签。
enabled:Activity是否设置为系统进行实例化。默认值为true。必须和application此项的属性值保持一致。当为false时,activity不能实例化。
excludeFromRecents:以此Activity为根Activity的任务栈(task)是否从最近人物列表上移除,true为移除,false为包含。默认值为false。
exported:设置Activity是否能够被其余APP的组件启动。true能够;false不容许,不论是隐式调用仍是显示调用。默认值为false。
finishOnTaskLaunch:当用户再次启动任务时(例如从预览界面切换),是否finish掉此Activity。默认值为false。当此项和allowTaskReparenting 同时设置为true时,会忽略掉allowTaskReparenting 属性。
hardwareAccelerated:开启硬件渲染加速。true为开启,false不开启。默认值为false。
icon:Activity的图标。做为任务栈的根Activity的icon能够在预览界面显示,而且会覆盖掉application的icon,也能够在intent-filter弹出的多选的activity显示icon。此项缺省的话和application设置的icon同样。
label:显示给用户看的Activity标签名。同icon显示的地方同样,同样会覆盖掉application的label。缺省的话和application设置的icon同样
launchMode:Activity的四种启动模式。
maxRecents:以此Activity启动的任务栈(task)的最大数目,范围为1-50,默认值为16。超过数目会以最近最少使用的原则移除掉。
maxAspectRatio:
multiprocess:是否能够将Activity的实例启动到启动它的那个组件所属的进程中。true为容许,false为不容许。默认值为false。
noHistory:当Activity不可见时,是否将其从任务栈中移除并finish掉。true移除,activity不会留在任务栈内,因此此时onActivityResult()方法不会被调用。false不移除。默认为false。
parentActivityName:向上导航跳转到的Activity类名,必需要和目标Activity的name一致。因为是API 16引入的,因此要支持4-16,须要进行以下操做:
<activity android:name="com.example.app.ChildActivity" android:label="@string/title_child_activity" android:parentActivityName="com.example.app.MainActivity" >
<!-- Parent activity meta-data to support API level 4+ -->
<meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.app.MainActivity" />
</activity>复制代码
permission:对Activity设置权限保护。若是调用方未设置指定权限,则intent不会传递给Activity。若是此项未设置,则继承application的permission项,若是application也没设置,则Activity无权限。
persistableMode:数据持久化。设置任务栈里的Activity在设备重启的时候是否进行数据的持久化处理。当设备重启后启动对应的Activity时可以对数据进行恢复。
API 21引入。
process:设置运行此Activity的进程名字。默认为App建立的进程。以“:”开头命名的进程名为私有的,而且在须要的时候才建立。以小写字母开头的进程名为公有的,能够共享给其余APP。
relinquishTaskIdentity:声明此属性的Activity是否放弃任务标识符而交由其任务栈上面的Activity。true,替换成下一个Activity的Intent的标识。此过程会一致持续,直到遇到某个Activity此属性设置为false。
resizeableActivity:是否支持多窗口展现。API 24引入
screenOrientation:Activity在设备的显示方向。若是是多屏显示,则会忽略此项。有以下值:
stateNotNeeded:Activity在被kill掉的时候是否须要保存相关状态,在重启的时候是否须要回复状态。true不须要,此时在kill掉的时候不会调用onSaveInstanceState() 方法,onCreate()传null值,而不是Bundle。默认值为false
supportsPictureInPicture:是否支持画中画。若是resizeableActivity设置为false则此项会被忽略掉。API 24引入。
theme:Activity的主题设置,若是此项缺省,则继承application的theme
uiOptions:API 14引入。为Activity的UI添加额外的操做,可设置以下两种值:
windowSoftInputMode:Activity 的主窗口与包含屏幕软键盘的窗口的交互方式。主要影响两个方面:
一、当 Activity 成为用户注意的焦点时软键盘的状态 — 隐藏仍是可见。
二、对 Activity 主窗口所作的调整 — 是否将其尺寸调小觉得软键盘腾出空间,或者当窗口部分被软键盘遮挡时是否平移其内容以使当前焦点可见。
有以下值,可进行组合(以state...和ajust...的组合模式,中间用“|”隔开)。
Activity的别名,为目标Activity提供快捷入口
<activity-alias android:enabled=["true" | "false"] android:exported=["true" | "false"] android:icon="drawable resource" android:label="string resource" android:name="string" android:permission="string" android:targetActivity="string" >
. . .
</activity-alias>复制代码
enabled:目标Activity是否可经过别名被系统实例化。默认为true。若是为false,则activity-alias无效。当application的enabled和此项都为true时,才可以对目标activity进行实例化。
exported:其余APP的组件是否可经过此别名来启动目标Activity。true为能够,false为不能够。若是为false,则只能由其所属的APP或相同User ID的APP启动。
icon:展现的图标。
label:展现的名字
name:别名的惟一字符串名字,命名风格和Java类名全路径同样,必须惟一。
permission:经过别名启动目标Activity所须要的权限
targetActivity:目标Activity在Manifest中声明的name。
以键值对的形式为其父级组件元素提供额外的数据,且其父组件能够包含任意多个meta-data元素。父组件元素包括:<application>、<activity>、<activity-alias>、<service>、<receiver>、<provider>。最终meta-data的值都会被封装到Bundle对象放到PackageItemInfo.metaData字段。
<meta-data android:name="string" android:resource="resource specification" android:value="string" />复制代码
name:meta-data的名字,必须具备惟一性。为了确保惟一性,最好用Java风格的规范命名。如:"com.example.my.metadata.name"
value:对应的值。Bundle对相关类型的获取以下:
resource:资源的引用,此处为资源的ID。用Bundle.getInt()方法获取资源ID
value和resource的区别:
<meta-data android:name="zoo" android:value="@string/kangaroo" />复制代码
<meta-data android:name="zoo" android:resource="@string/kangaroo" />复制代码
一样是引用资源@string/kangaroo,value直接获取的是从资源中取出来的值;resource则是资源的引用——ID。
声明一个服务组件。
<service android:description="string resource" android:directBootAware=["true" | "false"] android:enabled=["true" | "false"] android:exported=["true" | "false"] android:icon="drawable resource" android:isolatedProcess=["true" | "false"] android:label="string resource" android:name="string" android:permission="string" android:process="string" >
. . .
</service>复制代码
description:对service作描述的字符串。
directBootAware:是否能够在锁屏的时候运行。默认值为false。
enabled:是否可被系统实例化。true,能够;false,不能够。默认值为true。
exported:是否容许其余APP的组件对其进行调用或交互。true,容许。false,不容许,此时此service只容许其所属的APP或具备相同User ID的APP对其进行调用。
icon:service展现的图标。
isolatedProcess:若是设置为true,则此服务会运行在一个独立的进程中,此进程与系统的其余进程是分开的而且没有本身的权限。惟一可以与此服务通讯的方法是经过服务的API(binding 、starting)
label:展现给用户看的服务名字。不设置的话默认继承application的label。
name:服务子类全名。
permission:对service设置的权限保护。若是调用方未设置指定权限,则 startService(), bindService(), 或 stopService()不会起做用。若是此项未设置,则继承application的permission项,若是application也没设置,则Activity无权限。
process:服务运行所在的进程名,默认为APP运行所在的进程,与包同名。以“:”开头命名的进程名为私有的,而且在须要的时候才建立。以小写字母开头的进程名为公有的,能够共享给其余APP。
声明一个广播接收器(BroadcastReceiver的子类)组件。
<receiver android:directBootAware=["true" | "false"] android:enabled=["true" | "false"] android:exported=["true" | "false"] android:icon="drawable resource" android:label="string resource" android:name="string" android:permission="string" android:process="string" >
. . .
</receiver>复制代码
directBootAware:是否能够在锁屏的时候运行。默认值为false。
enabled:是否可被系统实例化。默认为true
exported:是否可接收其余APP发送的广播消息。
icon:展现的图标。
label:展现给用户看的名字
name:广播接收器子类的全名。
permission:设置保护权限。
process:广播接收器运行所在的进程名,默认为APP运行所在的进程,与包同名。以“:”开头命名的进程名为私有的,而且在须要的时候才建立。以小写字母开头的进程名为公有的,能够共享给其余APP。
声明内容提供者(content provider)组件。
<provider android:authorities="list" android:directBootAware=["true" | "false"] android:enabled=["true" | "false"] android:exported=["true" | "false"] android:grantUriPermissions=["true" | "false"] android:icon="drawable resource" android:initOrder="integer" android:label="string resource" android:multiprocess=["true" | "false"] android:name="string" android:permission="string" android:process="string" android:readPermission="string" android:syncable=["true" | "false"] android:writePermission="string" >
. . .
</provider>复制代码
name:ContentProvider对应的子类的全名。
authorities:指定提供给外部访问的URI标识,能够设置多个,用分号隔开。为了不命名冲突,应该使用Java类的命名规范,而且都是小写,最好是和ContentProvider子类的全名一致。
enabled:是否可被系统实例化。true,能够;false,不行
directBootAware:是否能够在锁屏的时候运行
exported:是否可被其余APP访问。true,能够;false,不行。在API 17或以上,默认值为false。在API 16或如下因为没有引入,其效果至关于设置为true值。
icon:对应展现的图标。
initOrder:多个ContentProvider在同一个进程实例化的顺序,为整数值,大值会优先进行初始化。
label:展现给用户看的名字。
process:设置ContentProvider运行所在的进程名。
multiprocess:若是APP有多个进程在运行,则是否设置多个ContentProvider的实例,每一个实例对应一个进程。true,每一个进程有属于本身的ContentProvider实例对象。false,全部进程共享同一个ContentProvider实例对象。默认值为false。
syncable:是否设置数据同步。true,同步。false,不一样步
permission:链接此ContentProvider并进行读写操做所需的权限。
readPermission:设置客户端链接此ContentProvider进行读操做(查询)所需的权限。
writePermission:设置客户端链接此ContentProvider进行写操做(查询)所需的权限
grantUriPermissions:是否可给日常无权对 Content Provider 数据的访问进行临时受权 ,使之可以对数据进行操做。true,容许,可以对全部数据进行临时受权访问。false,只能受权访问<grant-uri-permission>元素设置的数据子集,若是有设置的话。默认值为false
定义ContentProvider数据子集相关的路径和访问所需权限。
<path-permission android:path="string" android:pathPrefix="string" android:pathPattern="string" android:permission="string" android:readPermission="string" android:writePermission="string" />复制代码
path 用来匹配完整的路径,如:content://example.com/a/b/c,这里的path为“/a/b/c”
pathPrefix 用来匹配路径的开头部分,拿上面的 Uri 来讲,这里将 pathPrefix 的值为“/a”
pathPattern:使用通配符的完整路径,有以下规则:
若是须要用到*号,因为正则表达式的规范,须要使用转义字符 “\\*”。
permission:设置访问所需的权限,读权限和写权限。若是readPermission或writePermissio设置了,则会优先使用readPermission、writePermissio。
readPermission:读权限
writePermissio:写权限
指定父元素对应的ContentProvider的哪些数据子集能够临时受权给那些无权进行访问的访问。若是父元素对应的grantUriPermissions项设置为true的话,能够受权访问任何数据。若是为false的话,就只能访问本元素所设置的数据集。
<grant-uri-permission android:path="string" android:pathPattern="string" android:pathPrefix="string" />复制代码
参考path-permission对path、pathPrefix、pathPattern的描述
定义APP必须连接的公共库, 本元素把程序包的类装载器中须要包含的库代码通知系统。
<uses-library android:name="string" android:required=["true" | "false"] />复制代码
name:代码库的名字。
required:设置为true的话,若是系统没有name声明对应的库,则程序不能安装。设置为false,没有name声明对应的包也容许程序安装,单在APP里要作好对缺乏声明库的相关处理。