【问题标题】:cordova plugins conflict on android platformandroid平台上的cordova插件冲突
【发布时间】:2015-07-08 23:37:12
【问题描述】:

每当我尝试构建我的科尔多瓦应用程序时,我都会收到此错误:

:mergeArmv7DebugAssets 最新 :createXwalkCommandLineFileArmv7Debug :generateArmv7DebugResValues 最新 :generateArmv7DebugResources 最新 :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 失败

FAILURE:构建失败并出现异常。

  • 出了什么问题: 任务“: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 扔 e; ^

命令的错误代码 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=true 错误构建平台之一:错误:/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)

在可能关闭时 (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 插件专业版”

cordova-plugin-crosswalk-webview 1.2.0 “Crosswalk WebView 引擎”

cordova-plugin-extension 1.1.4 “Cordova 插件扩展”

cordova-plugin-googleplayservices 19.0.1“Android 版 Google Play 服务”

cordova-plugin-whitelist 1.0.0“白名单”

org.apache.cordova.console 0.2.13 “控制台”

只有 android build 显示此问题,ios build 编译并运行。

一些other posts 建议修改我的build.gradle,但到目前为止没有效果。

如果有人遇到过这样的问题,请帮忙。

提前致谢。

编辑:

创建一个新项目并仅添加 crosswalk plugin 为我提供了一个工作项目,包括 android 和 ios。我会添加更多插件,看看会发生什么。

【问题讨论】:

    标签: android cordova cordova-plugins


    【解决方案1】:

    cordova-plugin-googleplayservices 19.0.1“Android 版 Google Play 服务”

    删除这个插件,它已被弃用,不再需要。

    请参阅常见问题解答 3:https://github.com/floatinghotpot/cordova-admob-pro/wiki/Difference-of-Plugin-IDs

    【讨论】:

      【解决方案2】:

      好的,如果其他人遇到此类问题,这是我的解决方案:

      1. 备份您的 www 文件夹
      2. 更新 npm
        • sudo yum 更新 npm
      3. 更新科尔多瓦
        • sudo npm -g install cordova
      4. 创建一个全新的项目
        • codrova create MyFolder my.namespace "My Title"
      5. 恢复您的 www 文件夹
      6. 重新添加所有插件:
        • cordova 插件添加 cordova-plugin-console
        • cordova 插件添加 cordova-plugin-crosswalk-webview
        • cordova-plugin-admobpro
      7. 重新添加您的平台:
        • cordova 平台添加 android
        • cordova 平台添加 ios

      问题消失了,似乎与这个项目的年龄有关。我遇到过一两次cordova 版本更新,不知道每个插件有多少更新。

      最后,保持环境更新和清洁可以解决它。

      【讨论】:

        猜你喜欢
        • 2015-07-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-14
        • 1970-01-01
        • 2015-12-18
        • 2019-10-31
        • 1970-01-01
        相关资源
        最近更新 更多