Cordova离子 - 谷歌分析集成。 AdvertisingIdClient $ Info exception

时间:2015-12-16 23:08:23

标签: android cordova google-analytics ionic-framework ionic

我有一个离子项目,我想添加谷歌分析,我使用ionic plugin add cordova-plugin-google-analytics命令添加它。

它对ios很好,但是当我为android构建它时,它会抛出下面的异常。

我的cordova版本为5.4.1。其他插件列表如下:

"cordova-plugin-contacts",
"cordova-plugin-camera",
"cordova-plugin-device",
"cordova-plugin-console",
"cordova-plugin-whitelist",
"cordova-plugin-transport-security",
"cordova-plugin-inappbrowser",
"com.ionic.keyboard",
"com.google.playservices"

错误:

UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$Info;
        at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:579)
        at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:535)
        at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:517)
        at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:164)
        at com.android.dx.merge.DexMerger.merge(DexMerger.java:188)
        at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:504)
        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)

 FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':dexArmv7Debug'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
        /Users/fatih/Library/Android/sdk/build-tools/23.0.2/dx --dex --no-optimize --output /development/workspace/mobile/app-mobile/platforms/android/build/intermediates/dex/armv7/debug --input-list=/development/workspace/mobile/app-mobile/platforms/android/build/intermediates/tmp/dex/armv7/debug/inputList.txt
  Error Code:
        2
  Output:

        UNEXPECTED TOP-LEVEL EXCEPTION:
        com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/ads/identifier/AdvertisingIdClient$Info;
                at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:579)
                at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:535)
                at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:517)
                at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:164)
                at com.android.dx.merge.DexMerger.merge(DexMerger.java:188)
                at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:504)
                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)

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。通过从构建的平台手动删除google-play-services.jar来管理解决它(即,在我运行cordova platform add android之后)。

JAR位于platforms/android/libs

希望这会有所帮助!