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

关于不同版本间Autowired inject机制的问题 #898

Open
protectedMan opened this issue Jan 27, 2021 · 1 comment
Open

关于不同版本间Autowired inject机制的问题 #898

protectedMan opened this issue Jan 27, 2021 · 1 comment

Comments

@protectedMan
Copy link

版本 A :
api 'com.alibaba:arouter-api:1.5.0'
annotationProcessor 'com.alibaba:arouter-compiler:1.2.2'

版本 B :
api 'com.alibaba:arouter-api:1.5.1'
annotationProcessor 'com.alibaba:arouter-compiler:1.5.1'

使用 Arouter获取FragmentA,此时不传递param1参数.

版本 A : 不会报错
版本 B : ARouter.getInstance().inject会报空指针的错误

也就是说在版本B中, 如果类中定义了参数, 但是你没有传这个参数, 就会有如下报错:
image
从版本A升级到版本B升级建议, ARouter.getInstance().inject 进行trycash捕获崩溃

@YuYongzhi
Copy link

1.5.0版本,inject方法已经在 try-catch 中了
image

而1.5.1版本中,仅getSyringe在 try-catch 中,而inject并不在 try-catch 中。
image

所以如果遇到getIntent()getIntent().getExtras()getArguments()为 null 的情况,就会引起空指针异常。
已提交合并处理空指针的合并请求 #903 ,希望官方尽快合并,并发布1.5.2。

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

2 participants