2011-11-24 77 views
5

我有Android应用程序,我想检查在清单中提到的每个权限是否需要?从清单中删除额外的不需要的权限android

基本上我想删除不需要的权限。

我该怎么办?

在此先感谢

+1

产品/欺骗:清理未使用的Android权限(http://stackoverflow.com/questions/18362305/clean-up-unused-android - 许可) – blahdiblah

回答

4

user370305给出的答案通常是正确的答案。您的第三方代码应充分记录所需的权限 - 将其与您自己的代码所需的权限相结合,并且应该设置。

如果你觉得这还不够,那么:

第1步:写单元测试套件。

步骤#2:将测试添加到套件,直到您有完整的语句覆盖。

步骤3:获取单元测试套件中传递的所有测试。

步骤#4:删除权限,看看测试是否失败。恢复导致测试套件失败的权限。重复您不确定的所有权限。

1

你应该知道哪些功能和组件是在应用程序中使用。在该组件的需求基础上,您只需添加这些权限。不是全部。 Jusi通过手动清单检查并删除其他权限。

+0

有些时候,我们采用开源,完成我们的任务,并有可能我们不知道。并手动删除权限,它可能会发生错误,我删除需要的一个,它会产生异常。 –

5

对于Android Studio中:

1)找到添加有权限(表观\构建\中间体\舱单)

2)添加这些权限的工具:节点= “去除”

例如:

我发现我有不需要的权限:

使用许可权的android:NAME = “android.permission.WRITE_EXTERNAL_STORAGE”

我加入这对我的应用清单,删除它:

使用许可权的android:NAME =“android.permission.WRITE_EXTERNAL_STORAGE “tools:node =”remove“

1

您可以删除权限并检查lint结果。 如果结果很干净,那么权限没有被使用。

Analyse -> Run Inspection by Name -> Type "Missing Permissions" -> Run

的Android Studio版本:3.0.1