从清单中移除后,应用权限会显示在应用设置中

时间:2019-01-09 06:34:03

标签: android android-permissions

AndroidManifest.xml 中删除

电话状态和读取,写入SD卡权限后,它们会显示在应用设置中。

我还多次使Android Studio中的缓存无效并卸载应用程序。

如何解决此问题?

在下面查看参考:

Reference of issue

2 个答案:

答案 0 :(得分:1)

如果您不更改所有导入模块的targetSdkVersion,它将自动继承一些隐式权限。

此外,添加可能正在使用这些权限的库将列出您的应用正在使用该权限。

您将需要检查您正在使用的模块或库是否未请求这些权限。

最后,您可以通过

查看应用程序正在请求的所有权限
aapt dump badging build\outputs\apk\foo-release.apk

这会打印出应用程序使用的权限列表。

答案 1 :(得分:1)

这些权限可能来自您使用的库。 例如,zxing-android库的清单中包含摄像机权限,然后将其合并到您自己的应用清单中。

要检测权限来自何处,请查看清单合并日志。 该文件位于<module>/build/outputs/logs/manifest-merger-<flavor>-<build type>-report.txt

此文件将在成功构建后创建。您可以使用任何文本编辑器甚至在Android Studio中打开它。

打开文件后,使用文件名在文件中搜索权限。要获得“相机”权限,应为android.permission.CAMERA

您会发现这样的一行:

uses-permission#android.permission.CAMERA
    ADDED from [com.journeyapps:zxing-android-embedded:3.6.0] /Users/username/.gradle/caches/transforms-1/files-1.1/zxing-android-embedded-3.6.0.aar/1757efe0137484c73d2ca6008406df96/AndroidManifest.xml:22:5-65

因此,在此示例中,您可以看到Camera权限是由zxing-android-embedded库导入的。