每当我尝试构建我的cordova应用程序时,我都会收到此错误:
:mergeArmv7DebugAssets UP-TO-DATE :createXwalkCommandLineFileArmv7Debug :generateArmv7DebugResValues UP-TO-DATE :generateArmv7DebugResources UP-TO-DATE :mergeArmv7DebugResources :processArmv7DebugManifest :processArmv7DebugResources :generateArmv7DebugSources :compileArmv7DebugJava :preDexArmv7Debug :dexArmv7Debug
意外的顶级例外情况: com.android.dex.DexException:多个dex文件定义Lcom / google / ads / AdRequest $ ErrorCode; 在com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596) 在com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554) 在com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535) 在com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171) 在com.android.dx.merge.DexMerger.merge(DexMerger.java:189) 在com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454) 在com.android.dx.command.dexer.Main.runMonoDex(Main.java:303) 在com.android.dx.command.dexer.Main.run(Main.java:246) 在com.android.dx.command.dexer.Main.main(Main.java:215) 在com.android.dx.command.Main.main(Main.java:106)
:dexArmv7Debug FAILED
失败:构建因异常而失败。
出了什么问题: 任务':dexArmv7Debug'的执行失败。 com.android.ide.common.internal.LoggedErrorException:无法运行命令: /Users/sombriks/Library/Android/sdk/build-tools/22.0.1/dx --dex --no-optimize --output / Users / sombriks / git / g4l-taxi / platforms / android / build / intermediates / dex / armv7 / debug --input-list = / Users / sombriks / git / g4l-taxi / platforms / android / build / intermediates / tmp / dex / armv7 / debug / inputList.txt 错误代码: 2 输出:
意外的顶级例外情况: com.android.dex.DexException:多个dex文件定义Lcom / google / ads / AdRequest $ ErrorCode; 在com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596) 在com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554) 在com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535) 在com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171) 在com.android.dx.merge.DexMerger.merge(DexMerger.java:189) 在com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454) 在com.android.dx.command.dexer.Main.runMonoDex(Main.java:303) 在com.android.dx.command.dexer.Main.run(Main.java:246) 在com.android.dx.command.dexer.Main.main(Main.java:215) 在com.android.dx.command.Main.main(Main.java:106)
尝试: 使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。
建立失败
总时间:27.511秒
/Users/sombriks/git/g4l-taxi/platforms/android/cordova/node_modules/q/q.js:126 扔掉; ^
命令的错误代码1:/ Users / sombriks / git / g4l-taxi / platforms / android / gradlew with args:cdvBuildDebug,-b,/ Users / sombriks / git / g4l-taxi / platforms / android / build。 gradle这个,-Dorg.gradle.daemon =真 ERROR构建其中一个平台:错误:/ Users / sombriks / git / g4l-taxi / platforms / android / cordova / build:命令失败,退出代码为8 您可能没有构建此项目所需的环境或操作系统 错误:/ Users / sombriks / git / g4l-taxi / platforms / android / cordova / build:命令失败,退出代码为8
在ChildProcess.whenDone上(/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:134:23) 在ChildProcess.emit(events.js:98:17)
在maybeClose(child_process.js:756:16)
在Process.ChildProcess._handle.onexit(child_process.js:823:5)
[sombriks @ eiko g4l-taxi] $
这是我的插件列表:
[sombriks @ eiko g4l-taxi] $ cordova插件列表
cordova-plugin-admobpro 2.8.1“AdMob Plugin Pro”
cordova-plugin-crosswalk-webview 1.2.0“Crosswalk WebView Engine”
cordova-plugin-extension 1.1.4“Cordova插件扩展”
cordova-plugin-googleplayservices 19.0.1“适用于Android的Google Play服务”
cordova-plugin-whitelist 1.0.0“Whitelist”
org.apache.cordova.console 0.2.13“控制台”
只有android构建显示此问题,ios构建编译并运行。
某些other posts建议修改我的build.gradle,但到目前为止它没有效果。
如果有人此前遇到过此类问题,请提供帮助。
提前致谢。
修改
创建一个新项目并只添加crosswalk plugin给我一个工作项目,包括android和ios。我会添加更多插件,看看会发生什么。
答案 0 :(得分:3)
cordova-plugin-googleplayservices 19.0.1"适用于Android的Google Play服务"
删除此插件,已弃用,不再需要。
请参阅常见问题解答3:https://github.com/floatinghotpot/cordova-admob-pro/wiki/Difference-of-Plugin-IDs
答案 1 :(得分:0)
好的,如果有其他人遇到这类问题,请按照以下方式解决问题:
问题已经消失,似乎与这个项目的时代有关。我已经面对一两个cordova versios更新,没有说明每个插件有多少更新。
最后,保持环境更新,清洁可以解决它。