我想设置orroids权限以在config.xml中使用地理位置。
我不想使用cordova-plugin-geolocation ,这会将这些设置设置为副作用,因为我定位的网页浏览(人行横道)支持开箱即用的GeoLocation。插件只是臃肿软件。
我不想直接在AndroidManifest.xml 中编写它,因为我使用cordova prepare
来阻止在我的存储库中包含任何特定于平台的内容。目前,每个人都可以从头开始构建平台,而不需要我们的git-repo提供任何特定于平台的内容。
我看了一下cordova-plugin-geolocation,看看他们将如何实现这一目标。
<platform name="android">
<config-file target="AndroidManifest.xml" parent="/*">
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
</config-file>
</platform>
这将在我的构建阶段
中返回以下内容Error: Command failed: /bin/sh -c cordova build android
/Users/sven/.../cordova/platforms/android/build/intermediates/res/armv7/debug/xml/config.xml:34: error: Error parsing XML: unbound prefix
我不确定为什么“rob-from-cordova-plugin-geolocation&#39”-approach无法正常工作,但也许只是将上面的内容添加到新的插件中会有所帮助?值得一试吗?
答案 0 :(得分:1)
您的错误是“未绑定的前缀”,您是否在“android:name”中提供了“android”前缀的定义?
查看cordova-plugin-geolocation plugin.xml,您可能需要将其添加到XML中:
xmlns:android="http://schemas.android.com/apk/res/android"
这样就定义了android命名空间。
答案 1 :(得分:0)
您可以直接从CLI的config.xml添加权限(以及许多其他额外的配置操作),方法是将插件cordova-custom-config
添加到您的环境中。它将在您的应用程序中不添加任何内容,仅包含一组Cordova挂钩。
因此,只需在config.xml
(<config-file...
)中添加XML浏览器,并在其答案中添加@SimonPrickett所说的内容。