kotlin.jvm.internal.FunctionReference与Kotlin-kapt插件使用
来源:互联网 发布:linux命令view 编辑:程序博客网 时间:2024/05/18 01:46
1. 项目开发配置(展示):
AndroidStudio 2.3.2
Koltin 版本
ext.kotlin_version = '1.1.3-2'
Gradle 版本
com.android.tools.build:gradle:2.3.2
,gradle-3.3-all.zip
2. 使用过程:
在Kotlin 编写的项目使用Glide 的Generated API特性,需要在项目中通过kapt引入Glide的注解。
在项目中的Gralde中添加Glide v4和注解库的依赖:
//kapt添加的kotlinkapt { generateStubs true}dependencies { //Glide v4 compile 'com.github.bumptech.glide:glide:4.0.0-RC0' //在Kotlin中Glide的注解,kapt是 Kotlin内置的注解处理器 kapt 'com.github.bumptech.glide:compiler:4.0.0-RC1'}
3. 运行结果:
配置完成后,运行项目,给报错了,出现以下提示kotlin.jvm.internal.FunctionReference.
。
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.> kotlin.jvm.internal.FunctionReference.<init>(ILjava/lang/Object;)V
查询资料才知道,kapt3不在允许使用kapt {generateStubs true}
,而是使用kapt插件方式。
4. 解决方式:
通过过添加kapt插件的方式来使用Kapt3.
在Gradle的中添加kotlin-kapt
插件。
apply plugin: 'com.android.application'apply plugin: 'kotlin-android'apply plugin: 'kotlin-android-extensions'//扩展插件apply plugin: 'kotlin-kapt'//kapt3插件dependencies { //Glide v4 compile 'com.github.bumptech.glide:glide:4.0.0-RC0' //在Kotlin中Glide的注解,kapt是 Kotlin内置的注解处理器 kapt 'com.github.bumptech.glide:compiler:4.0.0-RC1'}
当然,需要去掉kapt {generateStubs true}
这行代码。
在Kotlin编程中,如何使用Glide v4,请阅读 Glide V4与OkHttp3自定义集成(Kotlin编程)。
Kotlin Kapt插件介绍
Java编程:
使用
annotationProcessor
引入注解处理库.例如:在Gralde中引入Glide v4的注解包。
repositories { mavenCentral()}dependencies { annotationProcessor 'com.github.bumptech.glide:compiler:4.0.0-RC1'}
Kotlin编程:
在Kotlin中使用Kapt引入注解处理库。
例如: 在Gralde中引入Glide v4的注解包:
kapt 'com.github.bumptech.glide:compiler:4.0.0-RC1'
注意点,使用Kapt还需要添加kotlin-kapt插件。
因此,使用kapt引入Glide v4完整代码如下:
apply plugin: 'kotlin-kapt'//kapt3插件dependencies { kapt 'com.github.bumptech.glide:compiler:4.0.0-RC1'}
Kotlin-kapt插件:
以下一些使用的注意事项。
不要同时使用kapt 和annotationProcessor。
若是项目中包含java代码,只使用kapt依旧会兼容到他们。不使用
kapt { generateStubs true }
,它在Kapt3中不支持。使用
apply plugin: 'kotlin-kapt'
方式来添加kapt3。若是项目中以前使用
android-apt 插件
,需要从build.gradle
移除。
参考资源:
stackoverflow上解答:https://stackoverflow.com/questions/44769417/project-wont-build-with-kotlin-1-1-3
koltin官网中Kapt介绍: https://www.kotlincn.net/docs/reference/kapt.html
- kotlin.jvm.internal.FunctionReference与Kotlin-kapt插件使用
- Kotlin配置与使用
- KotLin的简单使用 KotLin入门基础 AndroidStudio中配置KotLin插件 新建KotLin工程
- Kotlin使用
- 使用kotlin
- Android Studio安装并使用Kotlin插件
- Android Studio安装Kotlin插件及使用
- Android Studio Kotlin插件的简单使用
- Android Studio安装并使用Kotlin插件
- Android Studio安装Kotlin插件和使用
- 使用 eclipse 和 插件 开发 Kotlin
- Kotlin
- Kotlin
- Kotlin
- Kotlin
- kotlin
- kotlin
- Kotlin
- echarts路径
- 类似cout<<a[len1--]<<endl;这样子的表达形式探秘
- bzoj 1412
- Developer Notification (set struts.devMode to false to disable this message)报错
- 实验吧奇怪的字符串
- kotlin.jvm.internal.FunctionReference与Kotlin-kapt插件使用
- spring boot之端口设置和contextpath的配置
- 让java从Mysql返回多个ResultSet
- 欧拉线性筛模板
- 用邻接矩阵求无向图的连同分支数
- mysql数据库存储过程(细)-------游标的应用
- html css伪元素选择器
- 从输入网址到返回页面经过了这些过程
- Professional JS(13.4.7HTML5 /device/Touch/Gesture Event/Memory&Performance/Simulating Events/Canvas)