cordova-plugin-mauron85-background-geolocation插件和PhoneGap Build

时间:2016-02-13 15:29:19

标签: cordova geolocation phonegap-build

我尝试在PhoneGap项目中使用此插件并在PhoneGap Build上构建它: 科尔多瓦 - 插件 - mauron85背景,地理位置 我在config.xml中添加了这个首选项:

 <gap:plugin name="cordova-plugin-mauron85-background-geolocation-phonegapbuild" source="npm"/>

不幸的是,我在Android版本上有编译错误。我阅读了本网站上的说明:https://www.npmjs.com/package/cordova-plugin-mauron85-background-geolocation并且它无效。

我在config.xml中添加了这个首选项:

<preference name="android-build-tool" value="gradle" /> 

我还删除了所有其他插件,以确保没有依赖项问题。

我也尝试更改此偏好:

 <preference name="android-minSdkVersion" value="22"/>

到14,18,21,22,我得到了相同的结果。

这是我在PhoneGap Build日志中遇到的错误:

UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/actions/ReserveIntents;
    at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
    at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
    at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
    at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
    at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
    at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:502)
    at com.android.dx.command.dexer.Main.runMonoDex(Main.java:334)
    at com.android.dx.command.dexer.Main.run(Main.java:277)
    at com.android.dx.command.dexer.Main.main(Main.java:245)
    at com.android.dx.command.Main.main(Main.java:106)

有没有人遇到同样的问题并有解决方案?

2 个答案:

答案 0 :(得分:0)

发生此错误,如果你/插件,请尝试安装多个Google服务。

适用于我的解决方案是在Android Studio中的build.gradle(Module Android)文件的顶部包含以下行:

apply plugin: 'com.android.application'

configurations {
    all*.exclude group: 'com.android.support', module: 'support-v4'
    all*.exclude group: 'com.google.android.gms', module: 'play-services'
}

答案 1 :(得分:0)

我是该插件的维护者。 Phonegap Build最近做了一些更改(它支持config.xml中的框架声明)所以你不必使用cordova-plugin-mauron85-background-geolocation-phonegapbuild(我昨天已经弃用了它)。

现在,您可以安全地将cordova-plugin-mauron85-background-geolocation与PhoneGap Build一起使用。只需将其添加到confix.xml中即可。

<gap:plugin name="cordova-plugin-mauron85-background-geolocation" source="npm"/>