升级小计
下载了最新的Flamingo运行项目,遇到了不少问题,记录下来方便其他人遇到类似问题解决
- JDK 版本问题
- 升级AGP从7.0升级到7.4
- 版本依赖问题
- viewmodel版本依赖冲突
- 编译版本
JDK版本
使用最新的Android Studio版本,自带的JDK17.运行项目,不能跑起来。我使用了比较简单的方案,先降级到 jdk11。
- 下载开源的openjdk 11
- 解压到本地目录
- 配置相应的PATH
- 在Android Studio中的设置中的gradle中可以修改相应的jdk目录。修改为自己的目录
替换成功后,可以项目可以正常运行。
升级AGP
运行项目后,最新的版本一直会提醒升级AGP到7.4.可以使用他的向导来完成升级
主要也就是修改这个版本号
运行后,需要做不少修改才能跑通项目
- viewModel版本冲突
- when else限制
viewModel版本冲突
Duplicate class androidx.lifecycle.ViewModelLazy found in modules jetified-lifecycle-viewmodel-ktx-2.3.1-runtime (androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1) and lifecycle-viewmodel-2.4.0-runtime (androidx.lifecycle:lifecycle-viewmodel:2.4.0)
编译总是遇到这个问题,但是有没有办法定位到具体哪些位置冲突了。
使用了命令
./gradlew dependencies
查看应用viewmodel的版本
最终将下面的版本同时修改为2.5.1以后,冲突解决了
lifecycle-runtime = "androidx.lifecycle:lifecycle-runtime-ktx:2.5.1"
lifecycle-viewmodel-ktx = "androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1"
修改代码问题
升级到新的AGP以后。else检查好像是比较严格了。需要补全以前没有提示的else没有写的问题。 这个比较简单。
希望以上对其他升级的用户有帮助。
结论
使用了一段时间后,感觉升级以后,编译速度快多了。以前cache不稳定,经常修改很小时,感觉进入了全量编译,新版本除了第一次以外基本上能明显感觉是增量编译。