如何从 android 平台构建中删除不必要的使用权限?

How to remove unnecessary uses permission from android platform build?

我开发了一个 Cordova 跨平台移动应用程序,并在其中为 Android 和 IOS 构建了两个包。

但在安全扫描期间,发现 Android 平台的 AndroidManifest.xml 文件中存在 3 个不必要的使用权限。

以下:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

为了解决这个问题,我从 AndroidManifest 文件中删除了权限,然后通过 Jenkins 构建重新构建平台文件夹。但是在每次构建之后,权限都会重新出现在 android 平台文件夹中的清单文件中。

问题:

如何从 android 平台构建中删除不必要的使用权限? 也许可以在 Cordova config.xml 文件中将权限设置为 false。

这是项目的文件结构:

lvl1:Cordova 根文件夹

lvl 2:平台文件夹

lvl 3:android 平台文件夹

Cordova 插件添加了额外的权限。查看每个插件文件夹中的 plugin.xml 文件,找出哪个插件添加了此权限。

如果不需要这些插件,您可以删除它们,否则您可能必须保留权限才能使这些插件正常工作。例如,要使用 Cordova 文件插件,您需要 read/write 外部存储权限。

从 AndroidManifest.xml 文件中删除权限不会删除它,因为在每次构建期间,您委托的行将再次从相应的插件中复制。

删除此行

  1. 打开插件文件夹
  2. 打开一个特定的插件,例如。文件路径
  3. 在该插件中,在记事本中打开其 plugin.xml 文件
  4. 现在注释如下图所示的行

  1. 在此之后构建时,这些行将不会显示在 AndroidManifest.xml 文件中
  2. 对所有具有这些行的插件执行此操作。