一、packageName:作为应用程序的唯一标识
二、组件 Component
Activity
- Service
- BroadCast
- ContentProvider
三、权限 Permission
uses-permission
该App所要使用的权限。在Android 23之前,在此申明的所有权限都必须在应用程序安装时,由用户统一授权;在Android 23及以后,在此申明的权限分为normal和dangerous两类,其中normal类权限与Android23之前使用相同的权限授予机制,而dangerous类权限在运行时由用户授予,如果用户拒绝授权,那么程序无法正常执行。所以开发者必须在需要dangerous类权限的时候采取一系列的措施来确保程序正常执行(具体如何操作可Google:android Runtime Permission;Github上也有一系列的第三方包来帮助开发者去做权限处理,如Dexter、PermissionHelper、RxPermissions)
permission
由开发者自定义的权限。之所以要定义这些权限是为了限制某些内容或组件的访问权限。示例如下:
//自定义权限 <permisson android:name="packagename.permission_name" android:label="I am the desc" android:group="this specify the permission-group" android:level="normal" /> //申请使用该权限 <uses-permission android:name="there is the permission's name that you have defined.比如packageName.permission_name" /> <service android:name=".MyService" android:permission="packagename.permission_name" //申明使用该权限 <intent-filter> ... </intent-filter> />
permission-tree
为一组权限定义一个namespace
//下面的android.permisssion即为android自定义的permission-tree的name <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.READ_PROFILE" /> <uses-permission android:name="android.permission.READ_CONTACTS" />
- Permission-group
将一系列相关的权限划分为一组
四、Instrumentation
五、uses-configuration
六、uses-feature
七、support-screen
八、compatible-screens
九、supports-gl-texture
十、uses-library