我有一个Phonegap应用程序,我正在开发和测试Android。问题是,当我发布到设备时,Android Manifest充满了我没有要求的权限请求。
我已经发现Phonegap插件(请参阅“添加功能”下的this docs page)与它有关。如果您安装了像Camera这样的插件,那么PhoneGap会自动将相关权限添加到AndroidManifest。所以我已经卸载了我不需要的所有Phonegap插件,这些权限就消失了。
到目前为止一切顺利。
麻烦的是,我的Android Manifest(以及项目的/ 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" />
由于我的应用程序是关于预算的,因此“录制视频”权限会向任何理智的用户建议这是一个试图摧毁他们隐私的恶意欺诈应用。
如何摆脱这些功能请求?我已经试过......
<preference name="permissions" value="none" />
添加到config.xml。当然,我可以在发布最终版本之前从AndroidManifest.xml中手动删除这些内容。但我想要一个更具结构性的解决方案,因为我使用“cordova run android”来测试设备,这会覆盖对AndroidManifest.xml和android.json的所有更改。
答案 0 :(得分:0)
您确定删除了所有插件吗? (use phonegap plugin list
)看看有什么插件。
我不确定是否有任何区别,但我使用
phonegap run android
代替
cordova run android
根据文档,run命令同时执行清理和构建...所以应该进行清理..(实际上我使用-V命令来获取一些额外的调试信息)
顺便说一句,我也遇到了很多麻烦,请参阅:Upgrade to phonegap 3.3.0
从空平台文件夹开始是我的尝试之一......而不是你应该确保它完全重建你的清单文件....
编辑29-1-2014
顺便说一下,这个CLI和phonegap 3.x问题的最佳解释可以在这里找到:http://devgirl.org/2013/09/05/phonegap-3-0-stuff-you-should-know/