我有一段时间收集应用详情。 My site同时涵盖大约13k个应用,并且有list of permissions with explanations。几个星期前,我开始录制“未知权限”(即权限应用程序正在请求,但我的列表未涵盖这些权限)。现在分析(主要是应用程序特定的(<package_name>.*
)或制造商特定的(例如三星的com.sec.*
,com.htc.
,com.sonyericsson.
等)权限),我找到了一个非常奇怪的列表经常要求的权限 - 这些都没有记录。
这里有什么见解吗?我将按照最常用的顺序列出它们,并对我现在想到的内容进行评论 - 希望你能给我一些关于其中至少一些的更多细节:
WRITE_INTERNAL_STORAGE
:从WRITE_EXTERNAL_STORAGE
ACCESS_GPS
:pre-Android-1.0且已过时ACCESS_LOCATION
:pre-Android-1.0且已过时STORAGE
:也是1.0之前的遗骸 - 或者选择权限组而不是??? (由例如com.yuilop
)READ_INTERNAL_STORAGE
:从READ_EXTERNAL_STORAGE
NETWORK
:也是1.0之前的遗骸 - 或者选择权限组而不是??? (例如:com.koushikdutta.backup
)PERMISSION_NAME
:copy-pasta?LOCATION
:no such permission(或者还是1.0之前 - 或者选择了权限组?)SYSTEM_OVERLAY_WINDOW
:这是SYSTEM_ALERT_WINDOW
允许的:使用叠加层;)RECORD_VIDEO
:错误地从RECORD_AUDIO推断出来,应该是CAMERA
?另请参阅here ACCESS_COURSE_LOCATION
:绝对是一个错字。如果没有人注意到,ACCESS_COARSE_LOCATION
(这意味着)很可能是不需要的。)READ_APN_SETTINGS
:错误地从WRITE_APN_SETTINGS
??? BROADCAST_PACKAGE_REPLACED
:可能是从BROADCAST_PACKAGE_ADDED
和BROADCAST_PACKAGE_REMOVED
??? GET_CLIPS
/ READ_CLIPS
/ WRITE_CLIPS
:???显然是指剪贴板动作,但我从未听说过这些动作。 Developers manual on copy paste未提及此任何许可。尽管如此,this blog article中的 AppOps 的屏幕截图清楚地显示了“阅读剪贴板”权限。WRITE_LOGS
:可能是从READ_LOGS
BROADCAST_PACKAGE_CHANGED
:可能是从BROADCAST_PACKAGE_ADDED
和BROADCAST_PACKAGE_REMOVED
??? CHANGE_WIFI_AP_STATE
:??? 还有几个(总共超过100个),但这些是多个应用程序使用的。请注意,在受影响的应用的清单中,它们的前缀为android.permission.
(例如android.permission.WRITE_INTERNAL_STORAGE
)。有线索吗?
人们从哪里得到这些想法,当搜索明确的名称没有发现任何东西时,我想...最令人困惑的是,上面的几个甚至是在这里建议解决问题 - 尽管在其他帖子中被提及为绝对不存在。
编辑:要求命名一些示例应用:
*_INTERNAL_STORAGE
:
SYSTEM_OVERLAY_WINDOW
:
READ_APN_SETTINGS
:
为了确保这些应用宣布这些权限,我选择了一些.apk
个文件(MyBackup,GPS HUD)并针对它们运行aapt d badging
。找不到单个声明,全部仅由uses-permission:
命名。
PS:我通常会查询来源以查找权限的详细信息,包括Google搜索旁边的a.o. Github,Android Source,Android Cross Reference,Android Developers等等。我没有上述运气。