Appearance
培训视频
APP安全问题指导与注意事项
1. 漏洞修复
1.1. 高风险
1.1.1. Java代码被反编译风险
使用360专业软件对APK
进行应用加固
1.1.2. C/C++代码被恶意调试风险
使用360专业软件对APK
进行应用加固
1.1.3. 程序进程被动态注入风险
使用360专业软件对APK
进行应用加固
1.1.4. 程序内存数据被Dump风险
使用360专业软件对APK
进行应用加固
1.1.5. 程序被二次打包/盗版风险
使用360专业软件对APK
进行应用加固
1.1.6. 数据库SQL注入漏洞
- 使用360专业软件对
APK
进行应用加固 - 修改
AndroidManifest.xml
文件,将android:exported
设置为false
1.1.7. WebView File域同源策略绕过漏洞
使用360专业软件对
APK
进行应用加固将
manifest.json
配置文件中minSdkVersion
数值改为20,也就是将支持的Android
版本升级到4.4及以上,如图
1.1.8. HTTP传输数据风险
- 将应用的
http
换成https
链接地址 - 若其中有调用第三方接口的链接地址,为
http
协议,无法保证该项数据风险
1.1.9. 动态注册Broadcast Receiver风险
使用360专业软件对APK
进行应用加固
1.1.10. “应用克隆”漏洞攻击风险
使用360专业软件对
APK
进行应用加固将
manifest.json
配置文件中minSdkVersion
数值改为20,也就是将支持的Android
版本升级到4.4及以上在
uniapp
项目manifest.json
中"app-plus
"->"ssl
"节点下配置"untrustedca
"为"refuse
",表示拒绝非受信任证书,停止访问,如图:
1.2. 中风险
1.2.1. C/C++代码被反编译风险
使用360专业软件对APK
进行应用加固
1.2.2. 程序进程被动态注入风险
系统时间加速时应用未停止运行,主要出现于游戏应用,当前使用APP
无此问题
1.2.3. XML存储明文数据风险
应用程序未使用XML
存储数据
1.2.4. SQLite存储明文数据风险
- 去除第三方无用
SDK
- 当前程序并未使用
SQLite
存储数据,路径下无db
文件
1.2.5. 敏感符号泄漏风险
使用360专业软件对APK
进行应用加固
1.2.6. 外部存储使用检测
- 未有敏感信息或升级包存储在外置卡
Uniapp sdk
引起的漏洞问题,开发者无法修复,需等待官方优化
1.2.7. HTTPS证书弱校验漏洞
- 在应用启动时进行加入签名证书校验
- 使用
360
专业软件对APK
进行应用加固
1.2.8. 屏幕截取攻击风险
加入禁止用户对APP
页面进行截屏与录屏屏蔽功能。
1.2.9. Service组件导出风险
去除无用的第三方SDK
,无需访问外部组件
1.2.10. Activity组件导出风险
修改AndroidManifest.xml
文件,将不必要导出设置为 android:exported=”false”
1.2.11. PendingIntent不安全使用风险
Uniapp sdk
引起的漏洞问题,开发者无法修复,需等待官方优化
1.2.12. Intent隐式调用漏洞
Uniapp sdk
引起的漏洞问题,开发者无法修复,需等待官方给出解决方案
1.2.13. WebView系统隐藏接口未移除漏洞
Uniapp sdk
引起的漏洞问题,开发者无法修复,需等待官方优化
1.2.14. 初始化IvParameterSpec函数错误漏洞
去除第三方无用SDK
,且还有一部分为Uniapp sdk
引起的漏洞问题,开发者无法修复,需等待官方优化
1.2.15. Zip文件目录遍历漏洞
程序中并未有解压zip
的操作代码
1.2.16. 下载任意APK漏洞
- 修改
AndroidManifest.xml
文件,将不必要导出设置为android:exported=”false”
1.2.17. StrandHogg漏洞
在manifest.json
中配置hasTaskAffinity
为true
1.2.18. Activity绑定Browserable与自定义协议漏洞风险
Uniapp sdk
引起的漏洞问题,开发者无法修复,需等待官方给出解决方案
1.3. 低风险
1.3.1. JavaScript代码被反编译风险
使用360专业软件对APK
进行应用加固
1.3.2. ROOT环境运行检测
使用360专业软件对APK
进行应用加固
1.3.3. Logcat日志函数调用风险
使用360专业软件对APK
进行应用加固
1.3.4. Print日志函数调用风险
- 使用360专业软件对
APK
进行应用加固 - 删除无必要输出函数
1.3.5. URL信息检测
多处都需调用第三方http
链接或接口,无法保证该数据风险项
1.3.6. Hash摘要算法不安全使用风险
增大密码复杂度降低被破解风险
1.3.7. 设备ID伪造风险
使用360专业软件对APK
进行应用加固
1.3.8. 反射调用不安全使用风险
- 尽量不使用反射调用代码
- 部分由
Uniapp sdk
引起的漏洞问题,开发者无法修复,需等待官方优化
1.3.9. 动态加载Dex文件风险
使用360专业软件对APK
进行应用加固
1.3.10. 未使用编译器堆栈保护技术风险
使用360专业软件对APK
进行应用加固
1.3.11. 不安全的浏览器调用漏洞
- 客户端并无浏览器调用操作
- ~引起的漏洞问题,开发者无法修复,需等待官方优化
2. 隐私权限
为了修复Uniapp
打包后产生的一些漏洞问题,以及对一些隐私权限的修改,需要对APK
安装包进行反编译,拿到其中的 AndroidManifest.xml
配置文件,对其进行一些修改,再打包回APK
。有关操作如下。
2.1. 反编译与回编译
主要是用到了 apktool
这个工具。
APKTool
为google
提供官方APK
编译工具,同时安装反编译系统APK
所需要的framework-res
框架,清理上次反编译文件夹等功能。需要java
支持,使用命令行进行操作。
提供网址:
https://ibotpeaches.github.io/Apktool/install/
2.1.1. APK反编译
操作说明:
在
apktool.bat
所在目录打开cmd
,输入命令使用。查看是否可用命令:
cmdapktool -version
反编译命令:
cmd
apktool d -o 输出文件夹 apk文件
如可以输入命令:
cmd
apktool d -o outDir __UNI__33AD83D__20221111172236.apk
【注】反编译的时候,有可能会出现以下错误:
Exception in thread "main" org.jf.dexlib2.dexbacked.DexBackedDexFile$NotADexFile: Not a valid dex magic value: cf 77 4c c7 9b 21 01 cd
// 由于非法 dex,这是因为 apk 里有加密过后的 dex 文件,比如有些 apk 的 assets 目录下有加密后的 dex 文件
在命令中添加 –only-main-classes
参数即可
cmd
apktool d -o outDir __UNI__33AD83D__20221111172236.apk –only-main-classes
2.1.2. 回编译
在
apktool.bat
所在目录打开cmd
,输入命令使用。回编译命令(重新打包为
apk
):
cmd
apktool b -o apk文件 反编译文件夹
如可以输入以下命令:
cmd
apktool b -o apk_result.apk outDir
【注】若回编译失败,则需先执行以下命令,再进行回编译命令:
cmd
java -jar apktool.jar empty-framework-dir
2.2. AndroidManifest.xml 文件权限修改
对 AndroidManifest.xml
文件进行修改主要原因是:
Uniapp
打包后会自动加上一些权限,有些是在APP
使用时并没有用到的,在检测中很容易被查出- 为了修补 1.2.10. Activity组件导出风险 需要修改一些属性
2.1.1. APP所需权限
以下为APP
的所需要的权限,权限说明详见 4. 附录
xml
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<!-- INSTALL_PACKAGES与REQUEST_INSTALL_PACKAGES必要,无这两项无法实现在线更新安装apk功能 -->
<uses-permission android:name="android.permission.INSTALL_PACKAGES"/>
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
<uses-feature android:name="android.hardware.camera"/>
<uses-feature android:name="android.hardware.camera.autofocus"/>
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE"/>
<uses-permission android:name="com.vivo.notification.permission.BADGE_ICON"/>
2.1.2. 修补Activity组件导出风险配置
主要是在 application
标签中加入 android:exported="false"
配置
xml
<application android:exported="false" android:allowBackup="false" android:allowClearUserData="true" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:debuggable="false" android:extractNativeLibs="true" android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name" android:largeHeap="true" android:name="io.dcloud.application.DCloudApplication" android:supportsRtl="true" android:usesCleartextTraffic="true">
...
</application>
2.3. 关于使用权限申请与收集使用个人信息行为
2.3.1. 隐私权限政策
APP
需要通过“弹窗、功能菜单、文本链接”等方式向用户提供明示收集使用个人信息规则的隐私政策。
主要做法是新增一个androidPrivacy.json
文件来提供隐私政策框,具体做法参考官方文档:
https://uniapp.dcloud.net.cn/tutorial/app-disagreemode.html
参考json内容:
json
{
"version" : "1",
"prompt" : "template",
"title" : "隐私政策",
"message" : " 请你务必审慎阅读、充分理解“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。<br/> 你可阅读<a href=\"http://xxx/privacy.html\">《隐私政策》</a>了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。",
"buttonAccept" : "同意并接受",
"buttonRefuse" : "暂不同意并退出应用",
"hrefLoader" : "system|default",
"disagreeMode" : {
"support" : false,
"loadNativePlugins" : false,
"visitorEntry" : true
},
"styles" : {
"backgroundColor" : "#ffffff",
"borderRadius" : "5px",
"title" : {
"color" : "#000000"
},
"buttonAccept" : {
"color" : "#55aaff"
},
"buttonRefuse" : {
"color" : "#ff0000"
},
"buttonVisitor" : {
"color" : "#00ffff"
}
}
}
2.3.2. 收集使用个人信息的目的、方式和范围
这块主要是修改AndroidManifest.xml
文件中的权限来达到目的,详情请看 2.2
节
3. 打包加固
在经过隐私权限中反编译与回编译的操作之后,拿到的APK
是没有经过签名与加固的状态,所以需要用专业的软件对APK
进行签名加固。
这里使用的是 360加固保 来进行APK
的加固操作。
- 进入到
jiagu.jar
所在目录,打开cmd
,输入以下命令打开加固保:
cmd
.\java\bin\java -jar jiagu.jar
- 输入360的账号密码登录加固保,可以看到以下界面
3.1. 应用加固
- 首先要对签名进行设置。
输入正确信息将签名加入即可,如下图。
- 其次点击【添加应用】按钮,就可以对应用进行加固
【注】
- 账号免费的情况下,一天只能加固两次。
3.2. 安全扫描
选择【安全扫描】项,即可选择对应的APK
包对其进行扫描,并可在结束后查看评分与内容。
4. 附录
4.1. Android权限列表
名称 | 权限 | 描述 | 分类 |
---|---|---|---|
访问登记属性 | ACCESS_CHECKIN_PROPERTIES | 允许读取或写入登记check-in数据库属性表的权限 | 普通权限 |
获取错略位置 | ACCESS_COARSE_LOCATION | 允许通过无线网络或移动基站的方式获取用户的经纬度信息 | 危险权限 |
获取精确位置 | ACCESS_FINE_LOCATION | 允许通过GPS接收卫星的定位信息 | 危险权限 |
访问定位额外命令 | ACCESS_LOCATION_EXTRA_COMMANDS | 允许程序访问额外的定位提供者指令 | 普通权限 |
获取模拟定位信息 | ACCESS_MOCK_LOCATION | 允许获取模拟定位信息,一般用于帮助开发者调试应用 | 普通权限 |
获取网络状态 | ACCESS_NETWORK_STATE | 允许获取网络信息状态 | 普通权限 |
访问通知策略 | ACCESS_NOTIFICATION_POLICY | 允许访问通知策略的应用程序的标记许可 | 普通权限 |
获取WiFi状态 | ACCESS_WIFI_STATE | 允许获取当前WiFi接入的状态以及WLAN热点的信息 | 普通权限 |
账户管理 | ACCOUNT_MANAGER | 允许程序通过账户验证方式访问账户管理ACCOUNT_MANAGER相关信息 | 普通权限 |
验证账户 | AUTHENTICATE_ACCOUNTS | 允许一个应用程序添加语音邮件系统 | 普通权限 |
允许接听来电 | ANSWER_PHONE_CALLS | 允许接听来电 | 普通权限 |
电量统计 | BATTERY_STATS | 允许获取电池电量统计信息 | 普通权限 |
只有系统可以绑定到accessibilityservice | BIND_ACCESSIBILITY_SERVICE | 请求accessibilityservice服务,以确保只有系统可以绑定到它 | 普通权限 |
绑定小插件 | BIND_APPWIDGET | 允许应用程序告诉AppWidget服务应用程序可以访问AppWidget的数据 | 普通权限 |
绑定设备管理 | BIND_DEVICE_ADMIN | 请求系统管理员接收者receiver,只有系统才能使用 | 普通权限 |
绑定输入法 | BIND_INPUT_METHOD | 请求InputMethodService服务,只有系统才能使用 | 普通权限 |
只有系统绑定到HostApduService或OffHostApduService | BIND_NFC_SERVICE | 由HostApduService或OffHostApduService,必须确保只有系统绑定到它 | 普通权限 |
只有系统绑定到NotificationListenerService | BIND_NOTIFICATION_LISTENER_SERVICE | 必须要求由NotificationListenerService,以确保只有系统可以绑定到它 | 普通权限 |
只有系统可以绑定PrintService | BIND_PRINT_SERVICE | 必须要求由PrintService,以确保只有系统可以绑定到它 | 普通权限 |
绑定RemoteView | BIND_REMOTEVIEWS | 必须通过RemoteViewsService,服务来请求,只有系统才能用 | 普通权限 |
只有系统可以绑定到TextService | BIND_TEXT_SERVICE | 必须要求TextService,以确保只有系统可以绑定到它 | 普通权限 |
确保只有系统可以绑定到VpnService | BIND_VPN_SERVICE | 必须要求VpnService,以确保只有系统可以绑定到它 | 普通权限 |
绑定壁纸 | BIND_WALLPAPER | 必须要求WallpaperService,以确保只有系统可以绑定到它 | 普通权限 |
使用蓝牙 | BLUETOOTH | 允许应用程序连接到蓝牙设备配对 | 普通权限 |
蓝牙管理 | BLUETOOTH_ADMIN | 允许程序进行发现和配对新的蓝牙设备 | 普通权限 |
设置蓝牙设备不需要交互 | BLUETOOTH_PRIVILEGED | 允许应用程序对蓝牙设备,不需要用户交互 | 普通权限 |
使用的传感器来测量 | BODY_SENSORS | 允许应用程序访问用户使用的传感器来测量 | 危险权限 |
应用删除时广播 | BROADCAST_PACKAGE_REMOVED | 允许应用程序广播通知应用程序包被移除后 | 普通权限 |
收到短信时广播 | BROADCAST_SMS | 允许程序当收到短信时触发一个广播 | 普通权限 |
连续广播 | BROADCAST_STICKY | 允许程序收到广播后快速收到下一个广播 | 普通权限 |
WAP PUSH广播 | BROADCAST_WAP_PUSH | 允许应用程序播放一个WAP推收到通知 | 普通权限 |
拨打电话 | CALL_PHONE | 允许程序从非系统拨号器里拨打电话 | 危险权限 |
通话权限 | CALL_PRIVILEGED | 允许程序拨打电话,替换系统的拨号器界面 | 普通权限 |
拍照权限 | CAMERA | 允许程序访问摄像头进行拍照 | 危险权限 |
捕获音频输出 | CAPTURE_AUDIO_OUTPUT | 允许应用程序捕获音频输出 | 普通权限 |
获取安全的视频输出 | CAPTURE_SECURE_VIDEO_OUTPUT | 允许应用程序获取安全的视频输出 | 普通权限 |
捕获视频输出 | CAPTURE_VIDEO_OUTPUT | 允许一个应用程序来捕获视频输出 | 普通权限 |
改变组件状态 | CHANGE_COMPONENT_ENABLED_STATE | 允许一个应用程序改变组件是否启用状态 | 普通权限 |
改变配置 | CHANGE_CONFIGURATION | 允许应用程序修改当前配置 | 普通权限 |
改变网络状态 | CHANGE_NETWORK_STATE | 允许应用程序改变网络连接状态 | 普通权限 |
改变WiFi多播状态 | CHANGE_WIFI_MULTICAST_STATE | 允许应用程序进入无线多播模式 | 普通权限 |
改变WiFi状态 | CHANGE_WIFI_STATE | 允许应用程序改变wifi连接状态 | 普通权限 |
清除应用缓存 | CLEAR_APP_CACHE | 允许应用程序清除所有已安装的 应用程序缓存 | 普通权限 |
清除用户数据 | CLEAR_APP_USER_DATA | 允许应用程序清除用户数据 | 普通权限 |
控制定位更新 | CONTROL_LOCATION_UPDATES | 允许程序获得移动网络定位信息改变 | 普通权限 |
删除缓存文件 | DELETE_CACHE_FILES | 允许应用程序删除缓存文件 | 普通权限 |
删除应用 | DELETE_PACKAGES | 允许应用程序删除应用 | 普通权限 |
电源管理 | DEVICE_POWER | 允许低级访问电源管理 | 普通权限 |
应用诊断 | DIAGNOSTIC | 允许应用程序RW诊断资源 | 普通权限 |
禁用键盘锁 | DISABLE_KEYGUARD | 允许应用程序禁用键盘锁 | 普通权限 |
转存系统信息 | DUMP | 允许程序获取系统dump信息从系统服务 | 普通权限 |
状态栏控制 | EXPAND_STATUS_BAR | 允许应用程序展开或折叠状态栏 | 普通权限 |
工厂测试模式 | FACTORY_TEST | 允许程序运行工厂测试模式 | 普通权限 |
使用闪光灯 | FLASHLIGHT | 允许访问的闪光灯 | 普通权限 |
强制后退 | FORCE_BACK | 允许应用程序强制操作任何事情 | 普通权限 |
访问账户Gmail列表 | GET_ACCOUNTS | 允许访问的帐户的Gmail列表服务 | 危险权限 |
获取应用大小 | GET_PACKAGE_SIZE | 允许一个程序获取任何package占用空间容量 | 普通权限 |
获取任务信息 | GET_TASKS | 允许应用程序获取当前的信息 或最近运行的任务 | 普通权限 |
获取私人信息 | GET_TOP_ACTIVITY_INFO | 允许应用程序获取私人信息 | 普通权限 |
允许全局搜索 | GLOBAL_SEARCH | 允许程序允许全局搜索 | 普通权限 |
硬件测试 | HARDWARE_TEST | 允许访问硬件辅助设备 | 普通权限 |
注射事件 | INJECT_EVENTS | 允许访问本程序的底层事件,获取按键、轨迹球的事件流 | 普通权限 |
安装定位提供 | INSTALL_LOCATION_PROVIDER | 允许程序安装定位提供 | 普通权限 |
安装应用程序 | INSTALL_PACKAGES | 允许程序安装应用 | 普通权限 |
快捷方式 | INSTALL_SHORTCUT | 允许应用程序快捷方式 | 普通权限 |
内部系统窗口 | INTERNAL_SYSTEM_WINDOW | 允许程序打开内部窗口,不对第三方应用程序开放此权限 | 普通权限 |
访问网络 | INTERNET | 允许程序访问网络连接,可能产生GPRS流量 | 普通权限 |
结束后台进程 | KILL_BACKGROUND_PROCESSES | 允许一个应用程序调用killBackgroundProcesses()方法结束后台进程 | 普通权限 |
使用定位功能的硬件 | LOCATION_HARDWARE | 允许一个应用程序中使用定位功能的硬件,不使用第三方应用 | 普通权限 |
管理账户 | MANAGE_ACCOUNTS | 允许程序管理AccountManager中的账户列表 | 普通权限 |
管理程序引用 | MANAGE_APP_TOKENS | 管理创建、摧毁、Z轴顺序,仅用于系统 | 普通权限 |
管理文件访问 | MANAGE_DOCUMENTS | 允许程序管理文件的访问允许程序执行软格式化,删除系统配置信息 | 普通权限 |
软格式化 | MASTER_CLEAR | 允许程序执行软格式化,删除系统配置信息 | 普通权限 |
知道什么是播放和控制其内容 | MEDIA_CONTENT_CONTROL | 允许一个应用程序知道什么是播放和控制其内容 ,不能被第三方应用使用 | 普通权限 |
修改声音设置 | MODIFY_AUDIO_SETTINGS | 允许程序修改声音设置信息 | 普通权限 |
修改电话状态 | MODIFY_PHONE_STATE | 允许程序修改电话状态 | 普通权限 |
格式化文件系统 | MOUNT_FORMAT_FILESYSTEMS | 允许程序格式化可移动文件系统 | 普通权限 |
挂载文件系统 | MOUNT_UNMOUNT_FILESYSTEMS | 允许程序挂载、反挂载外部文件系统 | 普通权限 |
允许NFC通讯 | NFC | 允许程序执行NFC近距离通讯操作 | 普通权限 |
永久Activity | PERSISTENT_ACTIVITY | 允许程序创建一个永久的Activity,该功能标记为将来将被移除 | 普通权限 |
处理拨出电话 | PROCESS_OUTGOING_CALLS | 允许程序监视,修改或放弃播出电话 | 危险权限 |
读取日程提醒 | READ_CALENDAR | 允许应用程序读取用户的日程信息 | 危险权限 |
读取通话记录 | READ_CALL_LOG | 允许应用程序读取用户的通话记录 | 危险权限 |
读取联系人 | READ_CONTACTS | 允许应用程序读取用户的联系人信息 | 危险权限 |
读取设备外部存储空间的文件 | READ_EXTERNAL_STORAGE | 允许应用程序读取设备外部存储空间的文件 | 危险权限 |
屏幕截图 | READ_FRAME_BUFFER | 允许程序读取帧缓存用于屏幕截图 | 普通权限 |
读取收藏夹和历史记录 | READ_HISTORY_BOOKMARKS | 允许应用程序读取浏览器收藏夹和历史记录 | 普通权限 |
读取输入状态 | READ_INPUT_STATE | 读取当前键的输入状态,仅用于系统 | 普通权限 |
读取系统日志 | READ_LOGS | 允许应用程序读取系统底层日志 | 普通权限 |
读取电话状态 | READ_PHONE_STATE | 允许程序访问电话状态 | 危险权限 |
读取用户的个人资料信息 | READ_PROFILE | 允许应用程序读取用户的个人资料信息 | 普通权限 |
读取短信内容 | READ_SMS | 允许应用程序读取短信内容 | 危险权限 |
读取同步设置 | READ_SYNC_SETTINGS | 允许应用程序读取同步设置,读取Google在线同步设置 | 普通权限 |
读取同步状态 | READ_SYNC_STATS | 允许程序读取同步状态,获得Google在线同步状态 | 普通权限 |
读取用户字典 | READ_USER_DICTIONARY | 允许应用程序读取用户字典 | 普通权限 |
重启设备 | REBOOT | 允许能够重新启动设备 | 普通权限 |
开机自动允许 | RECEIVE_BOOT_COMPLETED | 允许程序开机自动运行 | 普通权限 |
接收彩信 | RECEIVE_MMS | 允许程序接收彩信 | 危险权限 |
接收短信 | RECEIVE_SMS | 允许程序接收短信 | 危险权限 |
接收Wap Push | RECEIVE_WAP_PUSH | 允许程序接收WAP PUSH信息 | 危险权限 |
录音 | RECORD_AUDIO | 允许程序录制声音通过手机或耳机的麦克 | 危险权限 |
排序系统任务 | REORDER_TASKS | 允许程序重新排序系统Z轴运行中的任务 | 普通权限 |
结束系统任务 | RESTART_PACKAGES | 允许程序结束任务通过restartPackage(String)方法,该方式将在外来放弃 | 普通权限 |
来电时候用进行即时短信息回复 | SEND_RESPOND_VIA_MESSAGE | 允许用户在来电的时候用你的应用进行即时的短信息回复 | 普通权限 |
发送短信 | SEND_SMS | 允许程序发送短信 危险权限 | |
设置Activity观察其 | SET_ACTIVITY_WATCHER | 设置Activity观察器一般用于monkey测试 | 普通权限 |
设置闹铃提醒 | SET_ALARM | 允许程序设置闹铃提醒 | 普通权限 |
设置总是退出 | SET_ALWAYS_FINISH | 允许程序设置程序在后台是否总是退出 | 普通权限 |
设置动画缩放 | SET_ANIMATION_SCALE | 允许程序设置全局动画缩放 | 普通权限 |
设置调试程序 | SET_DEBUG_APP | 允许程序设置调试程序,一般用于开发 | 普通权限 |
设置屏幕方向 | SET_ORIENTATION | 设置屏幕方向为横屏或标准方式显示,不用于普通应用 | 普通权限 |
设置不能被第三方应用获取 | SET_POINTER_SPEED | 系统权限,不能被第三方应用获取 | 普通权限 |
设置应用参数 | SET_PREFERRED_APPLICATIONS | 允许程序设置应用的参数 | 普通权限 |
设置进程限制 | SET_PROCESS_LIMIT | 允许程序设置最大的进程数量的限制 | 普通权限 |
设置系统时间 | SET_TIME | 允许程序设置系统时间 | 普通权限 |
设置系统时区 | SET_TIME_ZONE | 允许程序设置系统时区 | 普通权限 |
设置桌面壁纸 | SET_WALLPAPER | 允许程序设置桌面壁纸 | 普通权限 |
设置壁纸建议 | SET_WALLPAPER_HINTS | 允许程序设置壁纸建议 | 普通权限 |
发送一个永久的进程信号 | SIGNAL_PERSISTENT_PROCESSES | 允许程序发送一个永久的进程信号 | 普通权限 |
状态栏控制 | STATUS_BAR | 允许程序打开、关闭、禁用状态栏 | 普通权限 |
访问订阅内容 | SUBSCRIBED_FEEDS_READ | 允许应用程序访问已订阅的数据库 | 普通权限 |
写入订阅内容 | SUBSCRIBED_FEEDS_WRITE | 允许应用程序写入或修改订阅内容的数据库 | 普通权限 |
显示系统窗口 | SYSTEM_ALERT_WINDOW | 允许程序显示系统窗口 | 普通权限 |
使用设备的红外发射器 | TRANSMIT_IR | 允许使用设备的红外发射器,如果可用 | 普通权限 |
删除快捷方式 | UNINSTALL_SHORTCUT | 删除快捷方式 | 普通权限 |
更新设备状态 | UPDATE_DEVICE_STATS | 允许程序更新设备状态 | 普通权限 |
使用证书 | USE_CREDENTIALS | 允许应用程序请求验证AccountManager | 普通权限 |
使用SIP视频 | USE_SIP | 允许程序使用SIP视频服务 | 危险权限 |
使用振动 | VIBRATE | 允许程序振动 | 普通权限 |
唤醒锁定 | WAKE_LOCK | 允许程序在手机屏幕关闭后后台进程仍然运行 | 普通权限 |
写入GPRS接入点设置 | WRITE_APN_SETTINGS | 允许程序写入网络GPRS接入点设置 | 普通权限 |
写入日程提醒 | WRITE_CALENDAR | 允许程序写入日程,但不可读取 | 危险权限 |
写入联系人数据 | WRITE_CALL_LOG | 允许程序写入联系人数据,但不可读取 | 危险权限 |
写入联系人 | WRITE_CONTACTS | 允许程序写入联系人,但不可读取 | 危险权限 |
写入外部存储 | WRITE_EXTERNAL_STORAGE | 允许程序写入外部存储 危险权限 | |
写入Google地图数据 | WRITE_GSERVICES | 允许应用程序修改谷歌地图服务 | 普通权限 |
写入收藏夹和历史记录 | WRITE_HISTORY_BOOKMARKS | 允许应用程序写入浏览器历史记录或收藏夹,但不可读取 | 普通权限 |
编写用户的个人资料信息 | WRITE_PROFILE | 允许应用程序编写用户的个人资料信息,但不可读取 | 普通权限 |
读写系统敏感设置 | WRITE_SECURE_SETTINGS | 允许应用程序读取或写入安全系统设置 | 普通权限 |
读写系统设置 | WRITE_SETTINGS | 允许应用程序读取或写入系统设置 | 普通权限 |
编写短信 | WRITE_SMS | 允许应用程序编写短信 | 普通权限 |
写入在线同步设置 | WRITE_SYNC_SETTINGS | 允许应用程序编写Google在线同步设置 | 普通权限 |
编写用户字典 | WRITE_USER_DICTIONARY | 允许应用程序编写用户字典 | 普通权限 |