成都网站建设 外包,网站备案加链接代码,企业网站建设成本,灵犀科技 高端网站建设背景图APP 要上google play#xff0c;Android SDK 版本要升级到32#xff1b;接了一个第三方SDK#xff0c;不巧的是这个SDK引用appcompat是1.5.1#xff0c;顺手把appcompat 包升级到1.5.1#xff0c;这草率的一升#xff0c;带来的不止一地鸡毛#xff0c;还有精神上被残忍…APP 要上google playAndroid SDK 版本要升级到32接了一个第三方SDK不巧的是这个SDK引用appcompat是1.5.1顺手把appcompat 包升级到1.5.1这草率的一升带来的不止一地鸡毛还有精神上被残忍无情的蹂躏心情上躁动不安以及快要上线的APP给心理上带来的惴惴不安再次吐槽android这种碎片化的诟病当时RN SDK升级的痛苦仿佛瞬间又要扑面而来而且这一次来的貌似更猛烈些。一时的心血来潮androidx.appcompat 版本 1.3.1 --- 1.5.1在https://developer.android.google.cn/jetpack/androidx/releases/appcompat?hlzh-cn查询到 1.5.1 会有如下依赖好家伙Lifecycle 版本也要升级到 2.5.1再查同时修改项目依赖版本到 2.5.1可以在Maven上面继续查询一下androidx.appcompat 的依赖如下把对应的项目中依赖修改成对应版本例如我的场面逐渐失控 本以为版本升级到此结束编译轻轻click起身打水品一口我的西湖龙井回来一看我去新的报错appcompat-1.5.1-api.jar!/META-INF/appcompat_release.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.7.1, expected version is 1.5.1截图如下顿时感觉不妙啊这是要升级kotlin版本呐思前想后一番纠结之后都折腾到这份上了也不能停啊于是开始了 kotlin 版本升级 1.5.20 ---- 1.7.10Sync 之后果然果然代码里出现各种语法错误提示查看kotlin 官方文档https://book.kotlincn.net/text/whatsnew17.html 看到了好多新语法特性此时灰头土脸的还来不及细品这些此间不小心看到了看到Gradle的字眼瞬间感觉不太妙编译报错gradle 版本过低仔细一看好家伙果然要升级Gradle我的Android Studio好久没更新了既然要gradle 7.0那我就升级到最新版本Android Studio免得好多kotlin 代码有语法高亮提示错误一顿操作猛如虎升级到了最新版本Android Studio在官网https://developer.android.google.cn/studio/releases/gradle-plugin?hlzh-cn#kts查了一下Grandle对应插件版本于是把gradle版本升级到了7.1.2过程中还有gradle 要求运行java版本为11自行搜索修改了一下Studio 设置至此 Kotlin、 Android Studio、Gradle 都做了升级语法错误高亮提示少了许多点击运行依旧会提示语法错误那就是苦力活了各种when必须添加else分支、一些个判空操作的lamda表达式需要修改柳暗花明看着几十上百个kotlin语法错误无法编译when必须添加else分支、一些个判空操作的lamda表达式语法糖需要修改剩下的就是苦力活了不断地修改语法错误编译再修改再编译花了半天功夫总算是可以顺利编译通过了再次短期我的茶杯此时那茶已然凉透了倒掉再泡一杯。。。总结 代码虽然都修改完了也能顺利运行起来但如此大动干戈的修改代码带来的不只是架构上的风险业务层代码也进行了很多修改虽然都是些语法适配修改但毕竟是动了代码作为码农我们敢拍胸脯保证百分之百的正确吗我心里是惴惴不安的这个样的改动测试同学是不是又能全部覆盖呢我想测试同学也是惶恐万分我们开发是不是能把每一处修改都覆盖测试以及交付测试时能够准确的告诉测试范围呢对于这样的疑问我大底是要沉默了的。我想这样的改动若是最终引发了线上故障怕也只有开发去默默地背起这口锅了。 Android 的碎片化每过一段时间就会给我们带来一次阵痛也许一个简单API升级就会引发一系列的升级改造我想不只是Android、Kotlin、RN、Flutter、Swift; 其实这种升级的兼容性是难以避免的因为这是思想的变化、技术的革新我们能做的就是拥抱变化追随技术时代的步伐不断学习新的架构不断升级调整我们代码这样我们才能始终守护住自己的那份麦田。Thats All