侧边栏壁纸
博主头像
Stars-One的杂货小窝博主等级

所有的创作都是有价值的

  • 累计撰写 266 篇文章
  • 累计创建 46 个标签
  • 累计收到 27 条评论

目 录CONTENT

文章目录

记一次Android项目升级Kotlin版本(1.5 -> 1.7)

Stars-one
2023-08-12 / 1 评论 / 0 点赞 / 535 阅读 / 3933 字

由于自己的历史项目Kotlin版本比较老了,之前已经升级过一次了(1.4->1.5),那次升级就比较容易,没遇到什么坑

这次因为要开个新项目,用到了别人的三方库,加了依赖引用后跑项目报错,提示都是要求Kotlin版本需要是1.7,于是便是折腾了下

升级步骤

首先,说下我的开发环境,用的Android Studio Chipmunk版本

1.升级Kotlin版本

我们进入到项目里的setting.gradle,修改kotlin版本为1.7.10即可

为什么知道是1.7.10版本,因为IDE有提示…

2.升级Gradle

改了Kotlin版本跑项目,不出所料报错了

编译的错误说明Gradle版本不对,所以我就先改成了7.2版本(原先是6.6版本)

知道gradle文件夹下的gradle.properties,将里面的地址改为7.2版本

distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip

至于具体的Gradle版本,还得看Android Gradle插件版本(AGP版本)支持,所以看下一节内容说明

3.升级Android Gradle插件版本

这里实际上就是所说的AGP版本

编译出现了下面的错误

Execution failed for task ':app:compileDebugJavaWithJavac'.
> Failed to calculate the value of task ':app:compileDebugJavaWithJavac' property 'options.generatedSourceOutputDirectory'.
   > Querying the mapped value of map(java.io.File property(org.gradle.api.file.Directory, fixed(class org.gradle.api.internal.file.DefaultFilePropertyFactory$FixedDirectory, D:\project\android\xn-music-downloader\app\build\generated\ap_generated_sources\debug\out)) org.gradle.api.internal.file.DefaultFilePropertyFactory$ToFileTransformer@26f5c67c) before task ':app:compileDebugJavaWithJavac' has completed is not supported

编译出现这个问题有所懵逼的,于是问了下万能的Chatgpt,给出了以下建议

想着第三点可能是关键,于是就是尝试去修改了下,之前项目是4.0.0版本,根据ChatGPT的建议改成4.3.0没有起到作用

于是想着是不是要搞高版本,那高版本好应该是多少呢?我们可以去官网上的说明找到下图的说明

Android Gradle 插件版本说明  |  Android 开发者  |  Android Developers

看着我的花栗鼠版本的话,最高支持7.2,但是实际改了之后发现依赖根本找不到,于是版本号尝试加多了个0就可以成功依赖了

我尝试了7.2.0,然后给了提示

然后我们将gradle版本改为7.3.3版本即可完成

最后,由于Gradle版本7.x开始,都需要JDK11才能编译成功,所以我们还得去设置修改下JDK(因为我是从6.x版本升级上来的)

0

评论区