Closed q947721485 closed 7 months ago
什么情况下出现此问题?打包后?把module结构,及RxHttp依赖配置截图发出
在Java还是kotlin环境中调用?依赖的kotlin版本又是多少
在kotlin 环境下调用的,kotlin版本为1.9.20 。在调试环境下,运行后调用rxhttp请求网络时出现的
把kotlin版本改为1.9.10
,ksp改为1.9.10-1.0.13
再试试,还是不行话,加我微信 ljx-studio
好的我先试一下再过来回复
你好,还是不行加你微信了
问题已找到,原因是,rxhttp-compiler
的kapt注解处理器
跟hilt
有点冲突,即使使用ksp
依赖rxhttp-compiler
,hilt依然会调用rxhttp-compiler
的kapt注解处理器去生成Java版本的RxHttp类,而
ksp依赖
rxhttp-compiler,又会生成一份kotlin版本
RxHttp`类,如下图所示:
导致在代码合并时,把kotlin版本的RxHttp类丢失了,而Java版本的RxHttp类,是没有RxHttp$Companion
变量的,所以就报错了,下个版本会规避这个问题
在已使用ksp依赖rxhttp-compiler
的情况下,复现步骤如下
1、在项目的build.gradle文件中添加一下代码
buildscript {
dependencies {
classpath 'com.google.dagger:hilt-android-gradle-plugin:2.48.1'
}
}
plugins {
id("com.google.devtools.ksp") version "1.9.10-1.0.13" apply false
}
2、在module的build.gradle文件中添加以下代码
plugins {
id 'dagger.hilt.android.plugin'
}
dependencies {
implementation "com.google.dagger:hilt-android:2.48.1"
ksp "com.google.dagger:hilt-android-compiler:2.48.1" //kapt或ksp一样有问题
}
3、使用hilt
任一注解,如:
@HiltAndroidApp
public class AppHolder extends Application {
//省略部分代码
}
项目同步成功后,rebuild一下项目,此时就会出现两个RxHttp类
注:使用kapt依赖rxhttp-compiler
没有此问题
环境 使用ksp编译 版本3.2.3 ksp版本 1.9.20-1.0.14 无多module依赖 在compose 目前不知道具体问题在什么地方