2020这一年转眼过去了,很久时间没有写博文了,一个是过去的这一年相对较忙,有3个APP并行开发并且还有一些SDK要开发,还有一些其他的事情;再一个就是比较懒,于是乎拖着拖着就拖到了现在。现在年末了,稍微闲了下来了就想着把之前一直需要升级因为赶项目怕升级遇到坑耽误时间而没升级的,该升级的升级一下,于是就遇到了接下来的一些问题,就在这里记录一下防止忘记了,也给后来人少踩坑。
升级的内容:
- AndroidStudio从3.6.2升级到4.1.2
- 将项目Android Gradle plugin 从3.6.2升级到4.1.2
- 项目Gradle从5.6.4升级到6.5
- 项目target sdk version 从29升级到30,build-tools升级到30.0.2
- Jenkins服务器上Gradle从5.6.4升级到6.5
- Jenkins服务器增加Android SDK platform 30同时增加SDK build-tools 30.0.2
- Jenkins服务器增加NDK 21.3.6528147(原来为16.1.4479499)
- Jenkins服务器增加CMake对应版本
- 升级Jenkins版本(从2.153升到2.278)及相关插件
下面来说说升级遇到的问题
1、本地项目升级后总体影响不大:
- BuildConfig.VERSION_NAME之类的不能用了,这个Google官方在4.1.0之后将其移除了,可以手动通过在build.gradle中自定义变量的形式或者去通过代码获取,具体可以自行查询
官方参考链接:https://developer.android.google.cn/studio/releases/gradle-plugin#4.1-io.fabric-deprecated
- ViewBinding开启方式的变动:
Android Studio 3.6到Android Studio 4.2:
android { ... viewBinding { enabled = true } } }
Android Studio 4.2及以后:
android { ... buildFeatures{ viewBinding true } }
- ndk.dir 警告提示已废弃,因为我这local.proerties中指定了ndk的路径和版本
这个官方也有说明,参考链接:https://developer.android.com/studio/releases?utm_source=android-studio#4-0-0-ndk-dir