如何在 Android 应用程序中查找权限来源?
How to find source of a permission in an Android app?
根据 Google Play 上的列表,我的用户抱怨说我的应用现在需要 "run at startup" 许可。我不需要此权限,因此想将其从我的应用程序中删除。我假设它一定来自我使用的图书馆,但哪个图书馆?在 "Merged Manifest" 中没有关于 "boot" 或 "startup" 的内容。我只有这些:
<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 的引用。
简单的方法来自 Android Studio。首先构建您的应用程序。然后从构建菜单 select 分析 APK。从那里您可以看到完整的 AndroidManifest。
https://developer.android.com/studio/build/apk-analyzer
在我的例子中,权限没有显示在“合并的清单”选项卡中。可能是一个错误。我认为发生的事情是我在 Beta 测试期间使用了一个库。删除了使用库但在 build.gradle 中仍有引用的代码。这将权限添加到已发布的 apk 的清单中。
根据 Google Play 上的列表,我的用户抱怨说我的应用现在需要 "run at startup" 许可。我不需要此权限,因此想将其从我的应用程序中删除。我假设它一定来自我使用的图书馆,但哪个图书馆?在 "Merged Manifest" 中没有关于 "boot" 或 "startup" 的内容。我只有这些:
<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 的引用。
简单的方法来自 Android Studio。首先构建您的应用程序。然后从构建菜单 select 分析 APK。从那里您可以看到完整的 AndroidManifest。
https://developer.android.com/studio/build/apk-analyzer
在我的例子中,权限没有显示在“合并的清单”选项卡中。可能是一个错误。我认为发生的事情是我在 Beta 测试期间使用了一个库。删除了使用库但在 build.gradle 中仍有引用的代码。这将权限添加到已发布的 apk 的清单中。