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

App permissions are shown in app setting after removing from Manifest

Phone 状态和读取、写入 SD 卡权限 在从 AndroidManifest.xml[=23 中删除后显示在应用程序设置中=].

我也在 android studio 中使缓存无效并多次卸载应用程序。

如何解决此类问题?

查看下面的参考资料:

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

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

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

最后,您可以通过

检查您的应用请求的所有权限
aapt dump badging build\outputs\apk\foo-release.apk

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

这些权限可能来自您使用的库。 例如,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

所以在这个例子中,你可以看到相机权限是由zxing-android-embedded库导入的。