rxhttp icon indicating copy to clipboard operation
rxhttp copied to clipboard

RxHttp 类没有生成问题

Open liujingxing opened this issue 1 year ago • 15 comments

1、选择适合自己项目的依赖方式

注解处理器rxhttp-compiler支持ksp/kapt/annotationProcessor3种方式依赖,如果你还不清楚这3者的区别,请点击ksp、kapt、annotationProcessor 用法及区别,并选择适合自己项目的依赖方式

2、使用以下6个注解中的任一注解

你得了解下注解处理器的工作原理,在编译期间,它仅会在直接依赖它的module去检索以下5个注解 @DefaultDomain@Doman@Param@Parser@OkClient@Converter 如果一个注解都没检索到,注解处理器就不会工作(ksp方式除外),也就不会生成RxHttp类

3、Rebuild项目

确认以上两步没问题后,Rebuild项目,这是必须的。

4、确认RxHttp是否生成

ksp/kapt/annotationProcessor3种方式依赖rxhttp-compiler,皆会在build文件夹下生成RxHttp类,但Android Studio可能不会及时刷新build目录,也就无法识别到RxHttp类, 此时可以右击build目录,选择Reload from Disk手动刷新,如下 image

亦或者用文件管理器,直接到build文件下查看是否有RxHttp类,具体目录如下

ksp kapt annotationProcessor
build/generated/ksp build/generated/source/kapt build/generated/ap_generated_sources

5、RxHttp生成后,无法使用?

如果你发现RxHttp生成了,但Android Studio还是无法引用到,有可能就是Android Studiobuild文件夹设置为忽略,如下:

ignore_build.png

此时项目中build文件夹下的类是无法被引用到的,需要你在上面配置中将build文件夹移除,此时项目中就可以引用到RxHttp类。

经过以上步骤后还未生成RxHttp类,请留言 经过以上步骤后还未生成RxHttp类,请留言 经过以上步骤后还未生成RxHttp类,请留言

liujingxing avatar Jun 29 '23 15:06 liujingxing

注意:非特殊需求,请不要在多个Module同时依赖rxhttp-compiler,这样会生成多个RxHttp类 注意:非特殊需求,请不要在多个Module同时依赖rxhttp-compiler,这样会生成多个RxHttp类 注意:非特殊需求,请不要在多个Module同时依赖rxhttp-compiler,这样会生成多个RxHttp类

一般Base Module依赖rxhttp-compiler,其它Module依赖Base Module就好

liujingxing avatar Jun 29 '23 15:06 liujingxing

@liujingxing 博主,经过测试发现在model中使用ksp时,需要在build.gradle中添加如下代码才能引用到RxHttp:

android {
    libraryVariants.configureEach {
        kotlin.sourceSets {
            getByName(name) {
                kotlin.srcDir("build/generated/ksp/${[email protected]}/kotlin")
            }
        }
    }
}

iotxc avatar Sep 06 '23 14:09 iotxc

ksp x.x.x-1.0.9起,无需通过sourceSets告知IDE ksp生成的kotlin代码,而RxHttp v3.0.2版本内部依赖的ksp版本是1.8.0-1.0.9,所以,如果遇到问题,请升级版本

liujingxing avatar Sep 06 '23 15:09 liujingxing

https://github.com/google/ksp/issues/37

liujingxing avatar Sep 06 '23 15:09 liujingxing

get 多谢

iotxc avatar Sep 06 '23 15:09 iotxc

image 我已经生成了RxHttp,但是无法使用 image image 我没有找到上面第5步的配置

sceneren avatar Mar 22 '24 06:03 sceneren

看起来是你自定义param有问题,截图看下

liujingxing avatar Mar 22 '24 06:03 liujingxing

image

sceneren avatar Mar 22 '24 06:03 sceneren

加我微信 ljx-studio

liujingxing avatar Mar 22 '24 06:03 liujingxing

微信图片_20240322170818 我的注解也生成了, rebuild project 尝试了 缓存也清理了 ,build文件夹设置为忽略,这个也移除了,,当时还是找不到。。

tmmgithub avatar Mar 22 '24 09:03 tmmgithub

微信图片_20240322170818 我的注解也生成了, rebuild project 尝试了 缓存也清理了 ,build文件夹设置为忽略,这个也移除了,,当时还是找不到。。

你这是刚接入RxHttp?

liujingxing avatar Mar 22 '24 09:03 liujingxing

不是接入了很久了,今天来打开项目都不行了

微信图片_20240322170818我的注解也生成了,重建项目尝试了服务器也清理了,build文件夹为忽略,这个也删除了,,当时还是找不到。。

你是刚接入RxHttp?

不是,接入很久了,今天来打开项目都找不到了

tmmgithub avatar Mar 22 '24 09:03 tmmgithub

加我微信吧,上面有

liujingxing avatar Mar 22 '24 09:03 liujingxing

image 我已经生成了RxHttp,但是无法使用 image image 我没有找到上面第5步的配置

经过检查后发现,是rxhttp-compiler所在module,rxhttp没有依赖成功,导致无法访问rxhttp里面的类

liujingxing avatar Mar 22 '24 10:03 liujingxing

不是接入项目了很久了,今天来开业都不行了

微信图片_20240322170818我的注解也生成了,重建项目尝试了服务器也清理了,build文件夹为忽略,这个也删除了,,当时还是找不到。

你是刚接入RxHttp吗?

不是,接入项目早就了,今天来开通项目都找不到了 找到问题了,谢谢大佬,其他原因导致的编译没有通过,rxhttp就没有生成,当时AS 一直弹 找不到 rxhttp,误导了方向

tmmgithub avatar Mar 22 '24 10:03 tmmgithub