代码之家  ›  专栏  ›  技术社区  ›  VIKAS SHARMA

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

  •  1
  • VIKAS SHARMA  · 技术社区  · 6 年前

    电话状态和读、写SD卡权限 从中删除后显示在应用程序设置中 androidmanifest.xml文件 .

    我还多次在Android Studio中执行了使缓存失效和卸载应用程序。

    如何解决这个问题?

    查看以下参考:

    Reference of issue

    2 回复  |  直到 6 年前
        1
  •  1
  •   Daniel Zolnai    6 年前

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

        2
  •  1
  •   Karan Mer    6 年前

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

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

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

    最后,您可以检查应用程序请求的所有权限

    aapt dump badging build\outputs\apk\foo-release.apk
    

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