【设置方式】
Android 权限设置在 Plugins/Android/AndroidManifest.xml 文件中,一般由各插件设置生成。
在打包APK时,最终 AndroidManifest.xml 由各插件目录中 AndroidManifest.xml 合并(Merge)生成。
【常用权限】
<uses-permission android:name="android.permission.INTERNET" />
网络访问
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
获取 Wifi 连接状态
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
获取网络连接状态
<uses-permission android:name="android.permission.WAKE_LOCK" />
阻止进入休眠状态
<uses-permission android:name="com.android.vending.BILLING" />
Google Play 结算服务
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
读取存储空间的内容
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
写入存储空间的内容
<uses-permission android:name="android.permission.VIBRATE" />
控制振动
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
大致定位信息
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
精确定位信息
【权限修改】
在权限后增加 tools:node="remove",可以删除第三方SDK中申请的权限。如:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" tools:node="remove" />
将会移除第三方SDK中申请的 ACCESS_COARSE_LOCATION 权限。
其它选项
【权限查询】
打包 APK 成功后,可以通过 aapt 查询确认包内的权限需求。
aapt一般在 android sdk
的 build-tools
中对应文件夹里面。
1) aapt l[ist] [-v] [-a] file.{zip,jar,apk}
aapt l xxx.apk 查看 apk 目录
aapt l -a xxx.apk 详细列出apk内容
aapt l -v xxx.apk 以 table 的形式输出目录
2) aapt d[ump] [-values] WHAT file.{apk}
aapt d badging xxx.apk 显示标签、图标和应用程序的相关描述
aapt d permissions xxx.apk 显示apk所具有的系统权限
aapt d resources xxx.apk 查看apk资源
aapt d configurations xxx.apk 查看apk配置
aapt d xmltree xxx.apk res/design.xml 查看xml的树形结构
aapt d xmlstrings xxx.apk res/design.xml 查看xml中所有string