Android:找出哪个第三方图书馆正在申请许可?

Jon*_*Jon 3 performance android adb android-manifest android-permissions

我的一个项目有多个第三方库,其中一个库正在请求我在Manifest中没有定义的权限.如何找出哪些库请求许可?

如果我执行命令:

adb shell dumpsys package [mypackagename]
Run Code Online (Sandbox Code Playgroud)

然后我将权限视为"已请求",但正如我所提到的,它在我的项目中不存在.有很多第三方库.

Dha*_*raj 8

您可以在合并清单文件中找到您的最终权限

应用程序/编译/中间体/舱单/全/调试/ AndroidManifest.xml中

你可以摆脱这个

只需使用工具声明主Manifest中的有罪权限:node ="remove"

喜欢:

<uses-permission android:name=”android.permission.RECORD_AUDIO” tools:node=”remove” />
Run Code Online (Sandbox Code Playgroud)

即使另一个第三方库要求此特定权限,构建也将被强制不将其合并到您的最终Manifest文件中.

  • app/build/outputs/logs/manifest-merger-debug-report.txt在这里你可以找到所需的信息...如果你有你的答案,请投票:) (4认同)
  • 谢谢。有没有办法知道哪个图书馆正在请求许可?这将帮助我调查他们是否真的有必要进行测试,以确保应用程序仍然正常工作 (3认同)
  • 要查看合并的清单文件,您还可以转到 Android 清单并选择底部的“合并清单” (2认同)