【问题标题】:Using Meteor, Cordova and Facebook for multiple dex使用 Meteor、Cordova 和 Facebook 进行多个 dex
【发布时间】:2016-06-11 02:09:33
【问题描述】:

我正在使用 Meteor 和 Cordova 开发一个 Android 应用程序。使用 Mac OS El Capitan,最新的 Meteor (1.2.1)。

我在尝试将应用程序构建到 Android 时遇到错误,我设法看到错误是由于我正在使用的 Facebook 连接插件造成的。 我正在使用这个版本的插件:

com.phonegap.plugins.facebookconnect@https://github.com/Wizcorp/phonegap-facebook-plugin/tarball/c0f8da97a1d65397ada73e958dafed3aeef2e491

我得到这个错误:

执行 Cordova 命令时出错:
在使用选项 --device 为平台 Android 运行 Cordova 应用程序时:错误: 命令失败: /Users/maor/dev/EDD/everydamnday/.meteor/local/cordova-build/platforms/android/cordova/run --device 注意:某些输入文件使用或覆盖已弃用的 API。注意:使用 -Xlint:deprecation 重新编译以获取详细信息。注:有些 输入文件使用或覆盖已弃用的 API。注意:重新编译 -Xlint:deprecation 了解详情。注意:某些输入文件使用或覆盖已弃用的 API。注意:使用 -Xlint:deprecation 重新编译 详情。注意:某些输入文件使用或覆盖已弃用的 API。注意:使用 -Xlint:deprecation 重新编译以获取详细信息。笔记: 一些输入文件使用或覆盖已弃用的 API。注意:重新编译 使用 -Xlint:deprecation 了解详细信息。注意:一些输入文件使用 未经检查或不安全的操作。注意:重新编译 -Xlint:详细信息未选中。 意外的顶级异常:com.android.dex.DexException:多个 dex 文件定义 Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl; 在 com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:579)
在 com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:535)
在 com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:517)
在 com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:164) 在 com.android.dx.merge.DexMerger.merge(DexMerger.java:188) 在 com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:504) 在 com.android.dx.command.dexer.Main.runMonoDex(Main.java:334) 在 com.android.dx.command.dexer.Main.run(Main.java:277) 在 com.android.dx.command.dexer.Main.main(Main.java:245) 在 com.android.dx.command.Main.main(Main.java:106)

   FAILURE: Build failed with an exception.
   * What went wrong:    Execution failed for task ':dexDebug'.

com.android.ide.common.internal.LoggedErrorException:无法运行命令:/Users/maor/Library/Android/sdk/build-tools/23.0.2/dx --dex --no-optimize --output /Users/maor/dev/EDD/everydamnday/.meteor/local/cordova-build/platforms/android/build/intermediates/dex/debug --input-list=/Users/maor/dev/EDD/everydamnday/.meteor/local/cordova-build/platforms/android/build/intermediates/tmp/dex/debug/inputList.txt 错误代码:2 输出: 意外的顶级异常:com.android.dex.DexException:多个 dex 文件定义 Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl; 在 com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:579)
在 com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:535)
在 com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:517)
在 com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:164) 在 com.android.dx.merge.DexMerger.merge(DexMerger.java:188) 在 com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:504) 在 com.android.dx.command.dexer.Main.runMonoDex(Main.java:334) 在 com.android.dx.command.dexer.Main.run(Main.java:277) 在 com.android.dx.command.dexer.Main.main(Main.java:245) 在 com.android.dx.command.Main.main(Main.java:106)

   * Try:    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
   /Users/maor/dev/EDD/everydamnday/.meteor/local/cordova-build/platforms/android/cordova/node_modules/q/q.js:126

投掷e; ^ 命令的错误代码 1: /Users/maor/dev/EDD/everydamnday/.meteor/local/cordova-build/platforms/android/gradlew 带参数:
cdvBuildDebug,-b,/Users/maor/dev/EDD/everydamnday/.meteor/local/cordova-build/platforms/android/build.gradle,-PcdvBuildArch=arm,-Dorg.gradle.daemon=true 在 ChildProcess.exitCallback (/tools/utils/processes.js:137:23) 在 ChildProcess.emit (events.js:98:17) 在 Process.ChildProcess._handle.onexit (child_process.js:820:12)

退出代码:

我什么都试过了。所有关于 android-support.v4.jar 与其他插件冲突的问题都不起作用。我试图做流星重置。我试图删除平台并再次添加它,但没有任何效果。只有当我关闭 Facebook 连接插件时它才会起作用!

【问题讨论】:

    标签: cordova meteor phonegap-facebook-plugin


    【解决方案1】:

    运行时遇到同样的问题:

    meteor build ...
    

    在以下位置找到了修复:

    https://github.com/Wizcorp/phonegap-facebook-plugin/issues/1234

    当我在 android studie 中打开我的项目时,在 Gradle Scripts 下添加文件

    build-extras.gradle 
    

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

    我现在可以使用 Android Studio 成功构建。

    【讨论】:

      猜你喜欢
      • 2023-04-11
      • 1970-01-01
      • 2013-03-20
      • 1970-01-01
      • 2018-03-15
      • 1970-01-01
      • 2014-03-14
      • 1970-01-01
      相关资源
      最近更新 更多