kotlin-android-extensions插件被废弃--解决办法
Posted LQS_Android
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kotlin-android-extensions插件被废弃--解决办法相关的知识,希望对你有一定的参考价值。
The ‘kotlin-android-extensions’ Gradle plugin is deprecated......解决!
Kotlin扩展插件 kotlin-android-extensions是干什么的?
说明:
kotlin-android-extensions这个插件,可以直接使用布局中的控件id来操作view控件, 不用再findViewById。但是很可惜,在as升级到4.0之后,新建的Android项目中便被抛弃了。
今天在看教程的时候发现还有办法可以实现,也来分享给大家。
需要在项目根目录的build.gradle(project:xxx)添加kotlin-android-extensions插件:
buildscript
ext.kotlin_version = "1.5.20"
repositories
google()
jcenter()
dependencies
classpath "com.android.tools.build:gradle:4.1.0"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
//添加kotlin-android-extensions插件,就可以直接在代码中使用布局文件组件的id来访问组件,而不需要findViewById()
classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
需要在app/build.gradle(Module)中通过id调用kotlin-android-extensions
插件:
plugins
id 'com.android.application'
id 'kotlin-android'
//记得调用
id 'kotlin-android-extensions'
据说这样就可以了。这几天正好我在Android studio Bumblebee 中新建了一个项目,按照上述方式配置调用是可以成功的。
下面是第一行代码第三版的作者郭霖的原话:
Google明确地告诉我们,kotlin-android-extensions插件已被废弃,现在推荐使用ViewBinding来进行替代。
对于Google的这种技术迭代频率我是有点生气的,如果kotlin-android-extensions插件是Google主推的技术,理应拥有更长的生命周期,不然的话就不该作为默认插件集成到Android Studio当中。要知道,去年我才刚刚出版的新书《第一行代码 第3版》里还大量使用了这个技术。
不过,好在ViewBinding并不复杂,从kotlin-android-extensions插件切换到ViewBinding也是比较容易的,那么本篇文章就作为《第一行代码 第3版》的另外一篇DLC,向大家介绍一下,如何使用ViewBinding来替代kotlin-android-extensions插件。
以上是关于kotlin-android-extensions插件被废弃--解决办法的主要内容,如果未能解决你的问题,请参考以下文章
在 Fragment 当中使用 Kotlin-Android-Extensions 需要注意的
将数据绑定从 kotlin-android-extensions 替换为 kotlin-kapt
Android Studio——[The ‘kotlin-android-extensions‘ Gradle plugin is deprecated.]解决方案