8

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

我已经发现 Phonegap 插件(请参阅“添加功能”下的此文档页面)与它有关。如果你安装了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" />

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

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

  1. 添加<preference name="permissions" value="none" />到 config.xml。
  2. 卸载所有相关的 Phonegap 插件。我什至卸载了一个插件 AudioHandler,它似乎是在我创建项目时预装的。

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

4

1 回答 1

0

你确定你删除了所有插件?( use phonegap plugin list) 查看有哪些插件。

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

phonegap run android

代替

cordova run android

根据文档,运行命令同时进行清理和构建...所以应该进行清理..(实际上我使用 -V 命令来获取一些额外的调试信息)

顺便我也遇到了很多麻烦,见:升级到phonegap 3.3.0

从一个空的平台文件夹开始是我的尝试之一......比你应该确保它完全重建你的清单文件......

编辑 29-1-2014

顺便说一句,这个 CLI 和 phonegap 3.x 问题的最佳解释可以在这里找到:http: //devgirl.org/2013/09/05/phonegap-3-0-stuff-you-should-know/

于 2014-01-06T15:36:37.287 回答