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

时间:2017-01-12 16:37:15

标签: cordova android-manifest android-permissions

我开发了一个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:root Cordova文件夹 enter image description here

lvl 2:平台文件夹

enter image description here

lvl 3:android平台文件夹

enter image description here

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

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

删除此行

enter image description here

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

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