簡體   English   中英

在android平台上的cordova插件沖突

[英]cordova plugins conflict on android platform

每當我嘗試構建我的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.mergeClassDefs上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中的com.android.dx.merge.DexMerger.merge(DexMerger.java:189)。 dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)位於com.android.dx.com上的com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)。在com.android.dx.command.Main.main(Main.java:106)的com.android.dx.command.dexer.Main.main(Main.java:215)運行(Main.java:246)

: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.mergeClassDefs上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中的com.android.dx.merge.DexMerger.merge(DexMerger.java:189)。 dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)位於com.android.dx.com上的com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)。在com.android.dx.command.Main.main(Main.java:106)的com.android.dx.command.dexer.Main.main(Main.java:215)運行(Main.java:246)

  • 嘗試:使用--stacktrace選項運行以獲取堆棧跟蹤。 使用--info或--debug選項運行以獲取更多日志輸出。

建築失敗

總時間:27.511秒

/Users/sombriks/git/g4l-taxi/platforms/android/cordova/node_modules/q/q.js:126 throw 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 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引擎”

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構建顯示此問題,ios構建編譯並運行。

其他一些帖子建議修改我的build.gradle,但到目前為止它沒有效果。

如果有人以前遇到過這樣的問題,請幫忙。

提前致謝。

編輯:

創建一個新項目並添加crosswalk插件給了我一個工作項目,包括android和ios。 我將添加更多插件,看看會發生什么。

cordova-plugin-googleplayservices 19.0.1“適用於Android的Google Play服務”

刪除此插件,它已被棄用,不再需要。

請參閱常見問題解答3: https//github.com/floatinghotpot/cordova-admob-pro/wiki/Difference-of-Plugin-IDs

好的,如果有其他人遇到這樣的問題,這是我的解決方案:

  1. 備份您的www文件夾
  2. 更新npm
    • sudo yum update npm
  3. 更新cordova
    • sudo npm -g install cordova
  4. 創建一個全新的項目
    • codrova創建MyFolder my.namespace“我的標題”
  5. 帶回你的www文件夾
  6. 添加所有插件:
    • cordova插件添加cordova-plugin-console
    • cordova插件添加cordova-plugin-crosswalk-webview
    • 科爾多瓦-插件,admobpro
  7. 添加您的平台:
    • cordova平台添加android
    • cordova平台添加ios

這個問題已經消失,似乎與這個項目的時代有關。 我遇到過一個或兩個cordova versios更新,沒有說明每個插件有多少更新。

最后,保持環境更新,清潔可以解決它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM