Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RxHttp 类没有生成问题 #446

Open
liujingxing opened this issue Jun 29, 2023 · 15 comments
Open

RxHttp 类没有生成问题 #446

liujingxing opened this issue Jun 29, 2023 · 15 comments

Comments

@liujingxing
Copy link
Owner

liujingxing commented Jun 29, 2023

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
Copy link
Owner Author

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

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

@iotxc
Copy link

iotxc commented Sep 6, 2023

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

android {
    libraryVariants.configureEach {
        kotlin.sourceSets {
            getByName(name) {
                kotlin.srcDir("build/generated/ksp/${this@configureEach.name}/kotlin")
            }
        }
    }
}

@liujingxing
Copy link
Owner Author

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

@liujingxing
Copy link
Owner Author

google/ksp#37

@iotxc
Copy link

iotxc commented Sep 6, 2023

get 多谢

@sceneren
Copy link

sceneren commented Mar 22, 2024

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

@liujingxing
Copy link
Owner Author

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

@sceneren
Copy link

image

@liujingxing
Copy link
Owner Author

加我微信 ljx-studio

@tmmgithub
Copy link

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

@liujingxing
Copy link
Owner Author

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

你这是刚接入RxHttp?

@tmmgithub
Copy link

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

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

你是刚接入RxHttp?

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

@liujingxing
Copy link
Owner Author

加我微信吧,上面有

@liujingxing
Copy link
Owner Author

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

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

@tmmgithub
Copy link

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

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

你是刚接入RxHttp吗?

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants