我是一名前端开发人员,我正在为一家科技公司开发应用程序。因为我主要做前端html / css / js的工作,所以当有一些人不熟悉cordova无法构建时该做什么,虽然我通常通过搜索来解决它,但我无法找到解决问题的方法。任何帮助表示赞赏!
当我尝试运行应用程序时,我收到一个控制台错误,通知我需要安装ai.api.apiai插件,所以我通过命令行安装它,它出现在config.xml文件中。
这就是我的麻烦所在。
当我在命令行中运行它时:
cordova build
我收到此错误:
:transformClassesWithDexForDebug FAILED
建立失败
失败:构建因异常而失败。
出了什么问题:任务'执行失败':transformClassesWithDexForDebug'。
com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException:com.android.dex.DexException: 多个dex文件定义 Landroid /支撑/ V4 / accessibilityservice / AccessibilityServiceInfoCompat;
尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。总时间:15.9秒(节点:6184)UnhandledPromiseRejectionWarning:未处理的承诺 rejection(拒绝ID:1):错误:cmd:命令失败,退出代码 1错误输出:FAILURE:构建失败,但有例外。
出了什么问题:任务'执行失败':transformClassesWithDexForDebug'。
com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException:com.android.dex.DexException: 多个dex文件定义 Landroid /支撑/ V4 / accessibilityservice / AccessibilityServiceInfoCompat;
尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。 (节点:6184)[DEP0018]弃用警告:不推荐使用未处理的拒绝承诺。在 未来,未经处理的承诺拒绝将终止 Node.js使用非零退出代码进行处理。
现在我尝试了几次尝试,比如在我的gradle文件中添加这行代码:
defaultConfig{
multiDexEnabled true
}
但是这会在构建过程中造成另一个错误,所以我摆脱了这行代码。
答案 0 :(得分:0)
如果不存在,请在build.gradle
- >中添加此依赖项。 compile 'com.android.support:multidex:1.0.0'