作者:陈陈 | 来源:互联网 | 2023-01-05 11:54
我在gitlab ci上构建了这个项目
./gradlew assembleDebug --stacktrace
有时它会抛出一个错误:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:transformClassesWithDexBuilderForDebug'.
> com.android.build.api.transform.TransformException: java.lang.IllegalStateException: Dex archives: setting .DEX extension only for .CLASS files
在我的本地电脑上它正常工作.
kotlin版本是1.2
multidex已启用
这个错误的原因是什么?
1> mixel..:
./gradlew clean
为我修复了同样的错误.
或者在cordova项目中使用`cordova clean`
在cordova项目中使用`./platforms/android/gradlew clean`
2> Zl3n..:
对于Cordova开发人员,
如果您在项目中遇到此构建错误,如PierrickMartellière在此答案的评论中所述,请在项目文件夹中使用:
cordova clean
立即进行清洁和修整
是的,这是Cordova项目的解决方案。您还可以通过在该命令末尾添加`android`来清理android端。
3> m.myalkin..:
我似乎找到了解决方案.在构建时刻,gradle正在向我显示警告:
Configuration 'compile' in project ':app' is deprecated. Use 'implementation' instead.
app: 'androidProcessor' dependencies won't be recognized as kapt annotation processors. Please change the configuration name to 'kapt' for these artifacts: 'com.arello-mobile:moxy-compiler:1.5.3' and apply the kapt plugin: "apply plugin: 'kotlin-kapt'".
我做了一个拼写错误,忘记删除库中不必要的annotationProcessor:
annotationProcessor "com.arello-mobile:moxy-compiler:$moxyVersion"
kapt "com.arello-mobile:moxy-compiler:$moxyVersion"
所以我删除了第一行.
之后我应用了kapt插件apply plugin: 'kotlin-kapt'
并在代码之后修复了一些构建错误.
毕竟我意识到我忘compile
了implementation
在某些地方更换.这很奇怪,但没有它,构建不起作用.
此更改修复了我的错误构建.
4> 小智..:
简单的解决方案
对于离子和Cordove项目
cordova clean