1、需求
由于最近在整理项目,做一些公共基础组件Maven仓库封装,由于之前项目jar包和kotlin版本很老,kotlin版本1.3.72版本 Gradle使用5.4.1 Android Studio版本是2023.2.1,分别依次顺序如下图所示。
如下图所示
2、分析编译报错日志
由于公共基础组件库封装差不多,这时候需要讲之前一些代码删除,于是我兴高采烈导入之前项目到As版本,我还用了翻墙梯子,为了加快gradle版本快速构建。哈哈,此时等待5-10分钟,忽然天下大雨 ,我是谁,我在那里?突然想起昨天小米Su7发布会一个段子,那天晚上,大雨滂沱,一辆众泰SR9和一辆小米su7砰的一声相撞了,但两车的车主却迟迟不敢下车,双方都以为撞了保时捷,最后发现真相,二人相拥而泣,相见恨晚,遂引为知音。如有雷同纯属巧合。此时出现这样一个不和谐画面,如下图所示。请看大屏幕。
啥情况,兄弟们,这怎么看起来这么熟悉,添加依赖jar包冲突?还是说kotlin版本不兼容。上面日志说当前是1.7.1 ?你很会打吗?会打有个屁用,出来混必须有背景有实力,我叫阿杰。
接着我又换回之前as 版本 我不信邪
然后有sync now 一下 出现下面的非静止画面 如下图所示
于是去网上复习下kotlin与gradle插件 以及jdk对应版本 如下图
3、修改Gradle和KotIin版本
开始尝试修改 kotin1.7.10 Gradle7.2 版本 AGP Gradle插件版本 4.1.2 以及版本gradle路径
然后再Sync now一下,我再build尝试打包如下图所示。
此时我的心情,谁能懂,苏喂苏喂。此时已经凌晨3点多了。完全没有睡意。干就完了。
啥情况,兄弟们搞了这么久,就是kotlin与Gradle版本不匹配,那我走?
4、总结
1、移植旧项目一定要考虑依赖jar包冲突(尝试使用exclude关键字)具体自行百度
2、Gradle版本 Gradle插件AGP/JDK/NDK/Kotlin版本都要认真检查 了解下如何搭配的,特别重要哈
3、学会使用交叉验证多个不同as版本都验证下排除编译环境问题
4、多尝试多找StackOverFlow文章,还是有含金量,英文看不懂就建议找个英语老师学习哈
到这里踩坑基本结束 总而言之要细心,这种一般都不是技术问题(搞到凌晨三点才解决的,不怕大家笑话),找到问题根源,不要逃避问题,需要就是耐心!耐心!耐心!
感谢
https://www.jianshu.com/p/4042fd18f9fa
Android Gradle 插件 8.3 版本说明 | Android Studio | Android Developers
Kotlin 的新特性 · Kotlin 官方文档 中文版
转载请注明出处Android Studio 2023.2.1版本 kotlin编译报错踩坑-CSDN博客,谢谢!