多个dex文件定义Lorg/apache/cordova/BuildHelper

我从昨天起就有麻烦了。在实习期间,我遇到了以下构建错误,但我不明白为什么:

$cordova构建android
[...]
失败:生成失败,出现异常。
*出了什么问题:
任务“:transformClassesWithDexForDebug”的执行失败。
&燃气轮机;com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException:java.util.concurrent.ExecutionException:com.android.dex.DexException:多个dex文件定义Lorg/apache/cordova/BuildHelper;
*尝试:
使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。
构建失败
总时间:3.379秒
错误:/home/thor/Projects/App_CDP/platforms/android/gradlew:命令失败,退出代码1错误输出:
注意:某些输入文件使用或覆盖不推荐使用的API。
注意:有关详细信息,请使用-Xlint:deprecation重新编译。
注意:某些输入文件使用未经检查或不安全的操作。
注意:使用-Xlint重新编译:未选中以获取详细信息。
失败:生成失败,出现异常。
*出了什么问题:
任务“:transformClassesWithDexForDebug”的执行失败。
&燃气轮机;com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException:java.util.concurrent.ExecutionException:com.android.dex.DexException:多个dex文件定义Lorg/apache/cordova/BuildHelper;
*尝试:
使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。

以下是cordova插件列表的输出,您可以看到,我没有support-v4/v13冲突:

$cordova插件列表
com.googlemaps.ios 2.2.0-修复了“适用于ios的谷歌地图SDK”
com.moust.cordova.videoplayer 1.0.1“视频播放器”
cordova插件摄像头2.4.1“摄像头”
cordova插件compat 1.1.0“compat”
cordova插件控制台1.0.5“控制台”
cordova插件设备1.1.4“设备”
cordova-plugin-facebook4 1.9.1“Facebook连接”
cordova插件文件4.0.0“文件”
cordova插件文件传输1.6.3“文件传输”
cordova插件地理定位2.4.3“地理定位”
cordova插件谷歌地图1.4.0“phonegap谷歌地图插件”
cordova插件InApp浏览器1.7.1“InApp浏览器”
cordova插件splashscreen 4.0.3“splashscreen”
cordova插件状态栏2.2.2“状态栏”
cordova插件白名单1.3.1“白名单”
爱奥尼亚插件键盘2.2.1“键盘”
{}

这里还有更多信息:

$cordova-v
7.0.1
$IONAL-v
2.1.4

您很可能正在使用最新发布的[email protected],它现在包括BuildHelper.java(如错误消息中所述)和PermissionHelper.java,但您的项目中仍然有不推荐的cordova插件compat,这导致生成失败,因为它还包含这些类

要解决此问题,请从项目中删除cordova plugin compat,以从cordova android平台项目中卸载这些Java文件:

cordova插件rm cordova插件兼容--强制

更新

要保持此更改,请添加cordova插件[email protected]其中包括一个引擎约束,以防止Java文件重新安装到cordova中[email protected]+平台:

cordova插件添加cordova插件[email protected]

另一次更新(从评论中复制粘贴)

删除和添加cordova插件后[email protected],而不是删除和添加整个Android平台,您只能从platforms/Android文件夹中删除BuildHelper.java和PermissionHelper.java文件

发表评论