最近在学习第一行代码,IED 是当前最新版,找的 demo 工程是 22 年的,与当前 android 版本差异较大,在打开项目时候不能直接开箱即用,根据规律记录了一些插件升级步骤,希望可以帮助到需要打开旧工程的开发朋友
打开旧项目
版本相关信息
IDE 软件版本
项目版本信息
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip
ext.kotlin_version = '1.3.72'
classpath 'com.android.tools.build:gradle:3.6.3
配置步骤
必读:
需要先更新项目跟路径中 build.gradle 文件,properties 文件 gradle 相关版本,然后更新 app 路径中 build.gradle 项目相关配置
版本参考表
Android Gradle 插件 8.6 版本说明 | Android Studio | Android Developers
Configure a Gradle project | Kotlin Documentation
图1 gradle 插件与 gradle 版本对照
图 2 软件与 gradle 插件版本对照
图3 kotlin 版本对照
更改项目的 gradle 及对应插件版本,注意 gradle 与插件版本格式有差异
ctrl +shift + alt + s 打开配置面板或在项目路径打开
对应在项目中的位置是
gradle 插件
ext.kotlin_version = '2.0.20'
classpath 'com.android.tools.build:gradle:8.4.0'
gradle 自身
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip
我这里选择的是 8.10 gradle 版本,插件为 8.4.0,选用版本注意依据官方给的版本对照表,首先根据 图2 确认软件对应的 gradle 插件版本,然后图1 根据插件版本找到对应 gradle 版本
kotilin 插件
旧的 kotlin 插件编译会提示以上问题,表明不再支持kotlin-android-extensions插件,建议迁移到View Binding和kotlin-parcelize插件。
官方也有迁移教程,但是是视频 视图绑定 | Android Developers
The 'kotlin-android-extensions' Gradle plugin is no longer supported. Please use this migration guide (goo.gle/kotlin-andr…) to start working with View Binding (developer.android.com/topic/libra…) and the 'kotlin-parcelize' plugin.
去除 apply plugin: 'kotlin-android-extensions',替换为 kotlin-parcelize 插件:
增加 andorid 配置启用 viewBinding
apply plugin: 'kotlin-parcelize' // 新增的插件
android {
viewBinding {
enabled = true
}
}
然后重新构建项目,自此项目配置升级完成
build.gradle 改动
更改 kotlin 插件,jvm 版本, namespace 声明,sdk 声明
apply plugin: 'kotlin-parcelize' // 新增的插件
viewBinding {
enabled = true // 确保 View Binding 已启用
}
kotlinOptions {
jvmTarget = "17"
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
defaultConfig {
namespace "com.homurax.broadcastbestpractice" //namespace 声明
applicationId "com.homurax.broadcastbestpractice"
minSdkVersion 21
compileSdk 34 // sdk 声明
----
}