HuolalaTech / hll-wp-therouter-android

A framework for assisting in the renovation of Android componentization(帮助 App 进行组件化改造的动态路由框架)
https://therouter.cn/
Apache License 2.0
1.07k stars 128 forks source link

目标页面接收object出现编译失败 #138

Closed yihuajia closed 5 months ago

yihuajia commented 6 months ago

therouter版本:1.2.2-rc4 agp版本:8.1.1

页面AFragment,对应package name为:com.a.b.setting 在AFragment中 @Autowired(name = "test") lateinit var test: Test 编译失败

在生成的TheRouter__Autowired类autowiredInject方法中,判断参数obj的时候,AFragment的包名变成了com.a.setting,导致无法找到AFragment。而AFragment实际的包名为:com.a.b.setting。只要注释掉接收对象便能正常编译通过。

kymjs commented 6 months ago

已知问题,待修复。 类名和包名有重复的时候,KSP会识别错误,可以先修改类名或包名。

ruoxuanFu commented 6 months ago

1.2.2-rc4和1.2.2-rc5 当前编译 JDK Version 为::17.0.9 GradleVersion::8.4

Java代码 目标页面接收Parcelable对象时,能接收到对象,但是对象中变量的值接收不到

yihuajia commented 6 months ago

重复的时候,KSP会识别错误,可以先修改类名或包名。

好的。暂时通过string的方式处理了

kymjs commented 5 months ago

1.2.2-rc4和1.2.2-rc5 当前编译 JDK Version 为::17.0.9 GradleVersion::8.4

Java代码 目标页面接收Parcelable对象时,能接收到对象,但是对象中变量的值接收不到

序列化出问题了,写个demo测试你的对象是不是可以正常序列化,Parcelable的实现对象,包含的变量也必须是可以Parcelable

kymjs commented 5 months ago

已修复
https://github.com/HuolalaTech/hll-wp-therouter-android/releases/tag/v1.2.2-rc8

ruoxuanFu commented 5 months ago

1.2.2-rc4和1.2.2-rc5 当前编译 JDK Version 为::17.0.9 GradleVersion::8.4 Java代码 目标页面接收Parcelable对象时,能接收到对象,但是对象中变量的值接收不到

序列化出问题了,写个demo测试你的对象是不是可以正常序列化,Parcelable的实现对象,包含的变量也必须是可以Parcelable

序列化应该没问题,1.2.2-rc3版本和之前版本都是可以成功接收的,1.2.2-rc3之后版本都不行

ruoxuanFu commented 5 months ago

1.2.2-rc4和1.2.2-rc5 当前编译 JDK Version 为::17.0.9 GradleVersion::8.4 Java代码 目标页面接收Parcelable对象时,能接收到对象,但是对象中变量的值接收不到

序列化出问题了,写个demo测试你的对象是不是可以正常序列化,Parcelable的实现对象,包含的变量也必须是可以Parcelable

这是我用Intent传,可以正常接收到 微信截图_20240223135130

用TheRouter的withParcelable,接收不到 微信截图_20240223135514 微信截图_20240223135703

版本: 欢迎使用 TheRouter 编译插件:cn.therouter:plugin-agp8:1.2.2-rc6 当前编译 JDK Version 为::17.0.7 GradleVersion::8.4

切换到1.2.2 rc3,就可以接收到 微信截图_20240223141401

kymjs commented 5 months ago

@ruoxuanFu 试一下rc4、rc5、rc8有没有问题呢

ruoxuanFu commented 5 months ago

@ruoxuanFu 试一下rc4、rc5、rc8有没有问题呢

rc4,5之前就试过,不行

rc8也不行 微信截图_20240223144441