Phonegap Android权限、config.xml和插件

Phonegap Android权限、config.xml和插件,android,permissions,cordova,config,Android,Permissions,Cordova,Config,我有一个Phonegap应用程序,目前正在为Android开发和测试。问题是,当我发布到设备时,Android清单中充满了我没有要求的权限请求 我已经发现Phonegap插件(见“添加功能”)与此有关。如果你安装了像Camera这样的插件,那么PhoneGap会自动将相关权限添加到AndroidManifest中。因此,我卸载了所有我不需要的Phonegap插件,这些权限消失了 到目前为止还不错 问题是,我的Android清单(以及项目/Plugins目录中名为“Android.json”的文件

我有一个Phonegap应用程序,目前正在为Android开发和测试。问题是,当我发布到设备时,Android清单中充满了我没有要求的权限请求

我已经发现Phonegap插件(见“添加功能”)与此有关。如果你安装了像Camera这样的插件,那么PhoneGap会自动将相关权限添加到AndroidManifest中。因此,我卸载了所有我不需要的Phonegap插件,这些权限消失了

到目前为止还不错

问题是,我的Android清单(以及项目/Plugins目录中名为“Android.json”的文件)仍然包含许多不需要的特性:

<uses-permission android:name="android.permission.RECORD_VIDEO" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

因为我的应用程序是关于预算的,“录制视频”权限会向任何理智的用户暗示,这是一个邪恶的、偷偷摸摸的应用程序,试图破坏他们的隐私

如何摆脱这些功能请求?我已经试过了

  • 添加到config.xml
  • 卸载所有相关的Phonegap插件。我甚至卸载了一个插件AudioHandler,它似乎是在我创建项目时预装的

  • 当然,在发布最终版本之前,我可以手动从AndroidManifest.xml中删除这些内容。但我想要一个更结构化的解决方案,因为我使用“cordova run android”在设备上进行测试,这将覆盖对AndroidManifest.xml和android.json的所有更改。

    您确定删除了所有插件吗?(
    使用phonegap插件列表
    )查看有哪些插件

    我不确定是否有任何区别,但我使用

    phonegap run android
    
    代替

    cordova run android
    
    根据文档,run命令执行清理和构建。。。所以应该进行清洁。。(实际上,我使用-V命令获取一些额外的调试信息)

    顺便说一下,我也遇到了很多麻烦,请看:

    从一个空的platforms文件夹开始是我的尝试之一。。。。然后您应该确保它完全重建您的清单文件

    编辑2014年1月29日


    顺便说一句,关于此CLI和phonegap 3.x问题的最佳解释可以在此处找到:

    更奇怪的是,录制视频权限不会显示在应用程序的设备设置中,但访问粗略位置和访问精细位置确实会显示在那里。从清单文件中删除它们,这是正确的方法。eclipse有一个很好的界面,或者在卸载插件后清理您的项目tooA注意:我在config.xml文件中尝试了[preference name=“permissions”value=“none”]设置,它工作正常。