目前Android的APP需要做升级适配,原本是打算升级到34,即Android14的,但是看到35 即Android 15 beta出来了, 想着一步到位,就处理了。
先说结论,IDE要升级到2024.1.2 或更高版本,我之前是2024.1.1,反复折腾,都无法build,报错【failed to load include path platforms\android-35\android.jar】,查找文件,确实是存在的。查询官方文档,需要升级IDE。
参考:https://developer.android.google.cn/about/versions/15/setup-sdk?authuser=3&hl=zh-cn#groovy
升级之后,需要有几个调整的地方:
1、AGP升级到8.6.0
2、gradle升级到了8.7
3、JDK升级到了17
前面2条,在project structure里的project设置。
第3条在settings里设置。
设置完之后,可能会因为网路问题,无法下载gradle.zip,手动修改 gradle-wrapper.properties 文件,指定阿里云的代理,调整,如果你是其他版本,自行调整,可以现浏览器试试能不能下载:
distributionUrl=https://services.gradle.org/distributions/gradle-8.7-bin.zip
下载各种依赖的也可能有问题,分别调整工程和模块下的 build.gradle 文件,在buildscript下的repositories里,和allprojects下的repositories里增加以下内容,放在最前面:
maven {
url 'https://maven.aliyun.com/repository/public/'
}
一共2个文件,4个地方。
其他地方的修改,就和之前一直,修改SDK的版本。
另外就是,我这边手动处理更新,因此会获取VERSIONCODE和VERSIONNAME,之前是之前取配置文件,升级之后,配置文件无法自行生成,所以修改为PackageManager方式获取。
另外,因为引用了大量的第三方依赖,如JPUSH、微信SDK、支付宝SDK、QQSDK、bugly、OSS存储等,这个可能会因为升级引发问题。
建议1:引入依赖的时候,指定版本,而不要用最新版本。防止第三方升级SDK,而本APK没有适配,引发的问题。
建议2:如果引入依赖有问题,需要上第三方SDK查看文档,看看需要升级到什么版本。有些SDK的升级,是需要同步调整配置的。如无问题,建议不要随意升级第三方SDK。