我的项目正在迁移到ViewBinding,但是在查看构建日志时,这个警告会分散注意力
警告:“kotlin-android-extensions”Gradle插件已弃用。请使用此迁移指南(https://goo.gle/kotlin-android-extensions-deprecation)开始使用视图绑定(https://developer.android.com/topic/libraries/view-binding)和“kotlin-parcelize”插件。
如何禁用它?
我的项目正在迁移到ViewBinding,但是在查看构建日志时,这个警告会分散注意力
警告:“kotlin-android-extensions”Gradle插件已弃用。请使用此迁移指南(https://goo.gle/kotlin-android-extensions-deprecation)开始使用视图绑定(https://developer.android.com/topic/libraries/view-binding)和“kotlin-parcelize”插件。
如何禁用它?
5条答案
按热度按时间lokaqttq1#
我最近也面临这个问题,并发现。
在Kotlin1.4.20-M2中,JetBrains弃用了Kotlin Android Extensions编译器插件,转而支持视图绑定,并且Google正在推动模块化,但合成属性不能跨模块工作。
因此,要修复此警告,请删除
build.gradle
文件中的apply plugin: 'kotlin-android-extensions'
注意:如果使用打包。
不要忘记Kotlin中的Parcelize特性是kotlin-android-extensions编译器插件的一部分,因此删除该插件将导致所有依赖Parcelize注解的Parcelable类无法编译。
JetBrains**extracted**从KotlinAndroid扩展包到新插件
kotlin-parcelize
首先,您需要将kotlin-parcelize插件添加到您的项目
build.gradle
文件中。然后将旧的import语句从
import kotlinx.android.parcel.Parcelize
到
import kotlinx.parcelize.Parcelize
如需了解更多信息,我建议您阅读此博客Migrating the deprecated Kotlin Android Extensions compiler plugin
nukf8bse2#
您只需从Gradle中删除这一行:
sulc1iza3#
希望对未来的读者有所帮助。
构建版本.gradle(:应用程序):
将其添加到Kotlin-plot。因为它执行“kotlin-android-extensions”提供的功能。
必须将minifyEnabled设置为True
主要活动.kt
qacovj5a4#
请按照以下步骤操作:
1.* * kotlin-android-extensions已弃用,因此请从kotlin-parcelize替换它
1.如果模型类使用了@Parcelize注解,则必须将其从kotlinx. android. parcelize. Parcelize的导入替换为导入kotlinx. parcelize. Parcelize**
2hh7jdfx5#
报告是一个警告,你正在使用一个过时的插件,我不明白为什么你会想禁用它,因为迟早我预计编译将失败,你可能不记得为什么。
文章说:"如果您的应用不使用Parcelize功能,请删除启用Kotlin Android扩展的行:(又名,只是删除行应用插件:'kotlin-android-extensions')。结果可能是您不需要该插件,很难说,因为您没有指明是否正在使用该已弃用插件提供的任何功能。
如果您正在使用"Parcelable"注解任何类,那么您需要做一些工作,如本文所述。
编辑:视图合成(允许你不使用所有这些"findViewById"的功能)也消失了。这是(IMO)更大的损失,我还没有移植我的应用程序,所以我不能评论移动它所需的工作量。
在不久的将来,我选择了等待并在以后实现新代码,但您需要自己决定何时适合从已弃用的插件中迁移。