我有Android应用程序,我想检查Manifest中提到的每个权限是否是必需的?
基本上我想删除不需要的权限。
我该怎么办?
提前致谢
user370305给出的答案通常是正确的。您的第三方代码应该充分记录它需要的权限 - 将其与您自己的代码所需的权限相结合,并且您应该设置。
如果您觉得这不够,那么:
步骤#1:编写单元测试套件。
步骤2:向套件添加测试,直到您有完整的语句覆盖率。
步骤3:获取在单元测试套件中传递的所有测试。
步骤#4:删除权限并查看测试是否失败。恢复导致测试套件故障的权限。重复您不确定的所有权限。
对于Android Studio:
1)查找添加的权限(app \ build \ intermediates \ manifests)
2)使用工具添加这些权限:node =“remove”
例:
我发现我有不受欢迎的许可:
uses-permission android:name =“android.permission.WRITE_EXTERNAL_STORAGE”
我通过将其添加到我的应用清单中删除了它:
uses-permission android:name =“android.permission.WRITE_EXTERNAL_STORAGE”工具:node =“remove”
您可以删除权限并检查lint结果。如果结果是干净的,则不使用权限。
Analyse -> Run Inspection by Name -> Type "Missing Permissions" -> Run
Android studio版本:3.0.1
您应该知道在您的应用程序中使用哪个功能和组件。在该组件的需要基础上,您只需添加这些权限。不是全部。 Jusi通过手动从清单中检查并删除其他权限。