如何在Android应用中查找权限的来源?

时间:2018-07-25 00:08:31

标签: android android-manifest android-permissions

我的用户抱怨我的应用程序现在需要根据Google Play上的列表的“启动时运行”权限。我不需要此权限,因此想将其从我的应用中删除。我认为它必须来自我使用的图书馆,但是哪个图书馆?在“合并清单”中,与“启动”或“启动”无​​关。我只有这些:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

我该如何追踪?我的用户的行为就像我是获得此额外权限的反基督主义者,而我却因不知道为什么而显得愚蠢(也许准确地说)。另外,在某处是否有一个列表显示了哪些权限对应于Play商店说明页面上的哪些文本?

我想解决有关删除权限的评论。我了解这是怎么做的,这不是我要的。我需要知道如何找到许可。否则,如果您不知道是什么,该如何删除?另外,我可能想保留许可,但需要向最终用户解释它的用途。

@Mike关于WorkManager API可能是正确的。问题仍然是他是怎么发现的?为什么Android Studio不在合并清单中显示权限?

此外,甚至更奇怪的是,我已经删除了WorkManager API,因此该权限应该消失了。我确实签出了已发布版本的代码,并且没有剩余的对WorkManager的引用。

1 个答案:

答案 0 :(得分:0)

最简单的方法是使用Android Studio。首先构建您的应用程序。然后从构建菜单中选择分析APK。从那里您可以看到完整的AndroidManifest。

https://developer.android.com/studio/build/apk-analyzer

在我的情况下,权限未显示在“合并的清单”选项卡中。可能是一个错误。我认为发生的事情是我在Beta测试期间使用了一个库。删除了使用库但仍然在build.gradle中具有引用的代码。这为已发布的APK清单中添加了权限。