我有一个 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" />
由于我的应用程序是关于预算的,因此“录制视频”权限会向任何理智的用户暗示这是一个试图破坏他们隐私的邪恶偷偷摸摸的应用程序。
如何摆脱这些功能请求?我已经试过了...
- 添加
<preference name="permissions" value="none" />
到 config.xml。 - 卸载所有相关的 Phonegap 插件。我什至卸载了一个插件 AudioHandler,它似乎是在我创建项目时预装的。
当然,我可以在发布最终版本之前从 AndroidManifest.xml 中手动删除这些内容。但我想要一个更结构化的解决方案,因为我使用“cordova run android”在设备上进行测试,这会覆盖对 AndroidManifest.xml 和 android.json 的所有更改。