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 中新建了一个项目,按照上述方式配置调用是可以成功的。

 buildscript和allprojects的作用和区别是什么? - 简书在Android Studio的Project的build.gradle中, 那么buildscript中的repositories和allprojects的reposito...https://www.jianshu.com/p/ee57e4de78a3

 下面是第一行代码第三版的作者郭霖的原话:

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插件也被废弃了?扶我起来_guolin的博客-CSDN博客_kotlin-android-extensions废弃kotlin-android-extensions插件可能算得上是我最喜欢的一个Kotlin在Android上的特性了。这么说并不夸张,因为以前在使用Java开发Android程序时,我们总是要写一大堆的findViewById,枯燥又没什么意义。虽然也有一些诸如ButterKnife之类的第三方库,专门用于对findViewById的用法进行简化,但是ButterKnife还是要通过注解来让控件与资源id之间进行绑定,并不算是非常方便。而kotlin-android-extensions插件的https://guolin.blog.csdn.net/article/details/113089706?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_default&utm_relevant_index=1

以上是关于kotlin-android-extensions插件被废弃--解决办法的主要内容,如果未能解决你的问题,请参考以下文章

在 Fragment 当中使用 Kotlin-Android-Extensions 需要注意的

将数据绑定从 kotlin-android-extensions 替换为 kotlin-kapt

Android Studio——[The ‘kotlin-android-extensions‘ Gradle plugin is deprecated.]解决方案

使用 kotlin-android-extensions 从子模块导入视图时未解析的引用

android ViewBinding

android ViewBinding