关于安卓升级gradle8.0和jdk17的要点

背景

升着玩

思路

把旧项目,gradle7.0+和jdk11,直接升级到gradle8.0和jdk17。

开发环境

win10,as4+,jdk8+

过程

要点

对于安卓targetVersion的升级要点,没什么好说的,提一下核心的改动点。

安卓12,pendingIntent,蓝牙这两块是重点,pendingIntent可以整合一个工具类,统一创建,统一适配。蓝牙,得判断版本,再去申请权限。

安卓13,图片,视频读取权限变更,这里注意适配一下就好了,可能对于某些音频相关的应用,会有比较大的影响。

过程

首先,在targetVersion升级的过程中,会有:
(1)namespace的申明变动,这个cv解决就好了。
(2)会有buildConfig的失效。这个直接在对应的module,进行下面代码的配置即可。

    buildFeatures{
        buildConfig = true
    }

(3)会有compose版本的兼容问题,这里博主配置如下:

    composeRootDp = [
            //platform('androidx.compose:compose-bom:2022.12.00'),
            'androidx.compose:compose-bom:2024.01.00'
    ]
    composeDep = [
            'androidx.compose.material3:material3',
            'androidx.compose.material:material',
            'androidx.compose.foundation:foundation:1.6.0',
            'androidx.compose.ui:ui',
            'androidx.compose.ui:ui-tooling-preview',
            'androidx.compose.ui:ui-tooling',
            'androidx.compose.ui:ui-test-junit4',
            'androidx.compose.ui:ui-test-manifest',
            'androidx.compose.material:material-icons-core',
            'androidx.compose.material:material-icons-extended',
            'androidx.compose.material3:material3-window-size-class',
            'androidx.activity:activity-compose:1.5.1',
            'androidx.lifecycle:lifecycle-viewmodel-compose:2.5.1',
            "androidx.compose.runtime:runtime:1.7.0", // 或者使用最新版本
            "androidx.compose.runtime:runtime-livedata:1.7.0",// 可选
            'androidx.compose.runtime:runtime-rxjava2:1.7.0',
            'androidx.lifecycle:lifecycle-runtime-ktx:2.7.0',
            'com.google.accompanist:accompanist-swiperefresh:0.34.0',
            'com.airbnb.android:lottie-compose:6.1.0',
    ]

关联的编译版本

            compileSdkVersion: 34,
            buildToolsVersion: "34.0.0",
            minSdkVersion    : 24,
            targetSdkVersion : 34,

(4)签名,打包问题。如果升级了jdk版本,在你进行加固包重签名,多渠道(walle)的时候,也必须用上对应的jdk环境进行操作,否则会失败或者应用闪退。

(5)代码兼容低版本方面,代码如下,博主兼容的是jdk8

    compileOptions {
        sourceCompatibility 1.8
        targetCompatibility 1.8
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }

上面就是博主遇到升级gradle8.0和jdk17遇到的要点,有其他的问题欢迎评论区留言。

安卓 Gradle 8.0-bin 是指 Android Gradle 插件的版本为 8.0 的二进制文件。 Gradle 是一款功能强大的项目构建工具,用于自动化构建、测试部署软件。而 Android Gradle 插件则是为了更好地支持在 Android 平台上构建工程而开发的一个插件。 Gradle 8.0-bin 的发布意味着 Android Gradle 插件进行了一些更新改进。这些改进可能包括性能优化、新功能修复了之前版本的一些问题。 在 Android 开发中,Gradle 8.0-bin 可能会带来以下好处: 1. 更快的编译速度:Gradle 8.0-bin 可能优化了构建过程,减少了构建时间,提高了开发效率。 2. 新功能支持:新版本的插件通常会引入一些新的功能工具,使开发更加便捷高效。 3. 修复了之前版本的问题:可能修复了一些之前版本遇到的问题,提高了稳定性可靠性。 为了使用 Gradle 8.0-bin,你需要更新你的 Android Gradle 插件的版本,具体的操作可以参考 Android 官方文档。在更新插件版本之前,务必备份你的项目,以防出现不可预料的问题。 尽管升级到最新版本的插件有很多好处,但也有一些注意事项。新版本可能引入了一些破坏性的改变,可能需要你修改一些代码或配置文件。在升级之前,你应该先了解新版本的变化,确保你的项目能够适配新版本的插件。 总之,Gradle 8.0-bin 是 Android Gradle 插件的一个新版本,带来了一些改进优化,可以提高开发效率项目稳定性。在升级之前,记得备份你的项目并了解新版本的变化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值