电话状态和读取,写入SD卡权限后,它们会显示在应用设置中。
我还多次使Android Studio中的缓存无效并卸载应用程序。
如何解决此问题?
在下面查看参考:
答案 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
库导入的。