续上一篇Android 版本升级到现在快2年时间了,时间过得真快,技术更新的更快。
附上一篇Android api升级链接:https://www.jianshu.com/p/fcd54cd559a7
我目前的Android项目版本如下:
打算升级到最新版本36,有了上次的经验,这次升级还是比较顺利的,先打开官方文档,一步步跟着操作就好了。
附官方文档:https://developer.android.google.cn/about/versions/16/setup-sdk?hl=zh-cn&authuser=3
目前最新的就是Android 16,根据官方提示:
第一步:先升级Android sutdio开发工具。下载地址:https://developer.android.google.cn/studio?authuser=3&hl=zh-cn
我是下载了最新的版本,然后启动Android studio ,界面变化还是挺大的:
第二步:改build.gradle版本
compileSdk = 36
targetSdk = 36
classpath 'com.android.tools.build:gradle:8.11.1'
distributionUrl=https://services.gradle.org/distributions/gradle-8.14.3-bin.zip
线上下载比较难,我是下载到本地:下载地址:https://gradle.org/releases/
Android gradle 插件地址:
https://developer.android.google.cn/build/releases/gradle-plugin?hl=zh-cn
第三步:JDK版本为17
JDK下载:在设置,gradle JDK 下载:
第四步:运行项目
报错是预想到的,查了资料:ButterKnife库早早就已经停止更新了,最高能兼容JDK11。参考:https://ask.csdn.net/questions/8062812
然后我打开cursor工具,问下AI:
好吧,只能按照推荐的方案,移除ButterKnife插件,用ViewBinding代替。只是老的项目计划都是用ButterKnife插件的,替换其他真的是一件大工程。于是我参数让AI工具帮我来做这份替换的工作。
重要事情说三遍:一定要先备份项目,备份项目,备份项目
ViewBinding的使用用例可以参考一下这篇文章:https://zhuanlan.zhihu.com/p/443842754
担心AI给我乱改项目,我先把基类先写好了,让AI帮我写子类。
替换butterKnife其实没啥技术含量,就是重复工作。但是@OnClick注解方法改为setOnClickListener写法是不优雅的,这个点击事件我重新找了个框架来写,可以参考:https://gitee.com/liys666666/LOnClickMe
注意:我下在github下载最新版本的LOnClickMe的写法跟用例是不一样的了,不能跟着用例来写
把ButterKnife替代完,基本就可以运行项目了,如果还有问题,那就是Android版本更新了一些api,适配一下。最终版本: