使用VolleyPlus后集成Places API遇JsonObjectRequest类找不到问题求助
解决VolleyPlus与官方Volley冲突及Places API崩溃问题
看起来你踩了一个依赖冲突里常见的坑——全局排除依赖虽然快速解决了重复类的问题,但也误删了其他组件需要的核心依赖。咱们一步步来搞定它:
问题根源
你全局排除了所有com.android.volley依赖,确实解决了VolleyPlus和官方Volley的BuildConfig重复问题,但Google Places API内部依赖了官方Volley的JsonObjectRequest类,这部分也被你一并排除了,所以搜索地点时才会出现类找不到的崩溃。
正确的解决步骤
移除全局排除配置
先删掉build.gradle里的这段一刀切的代码:configurations {all*.exclude group:'com.android.volley'}全局排除会影响所有依赖,这就是问题的导火索。
针对VolleyPlus单独排除冲突依赖
找到你引入VolleyPlus的依赖行,给它加上局部排除规则,只排除VolleyPlus自带的官方Volley模块,这样Places API需要的官方Volley会被完整保留。比如你的VolleyPlus依赖是这样的:implementation 'com.mcxiaoke.volley:library:1.0.19'修改成:
implementation ('com.mcxiaoke.volley:library:1.0.19') { exclude group: 'com.android.volley' }这样只会移除VolleyPlus内部的官方Volley依赖,避免重复类冲突,同时保留Places API需要的版本。
同步并验证
点击Android Studio的「Sync Project with Gradle Files」按钮,同步完成后运行应用。此时VolleyPlus的multipart功能可以正常使用,Places API的搜索也不会再崩溃了。
替代方案(可选)
如果你想统一使用VolleyPlus处理所有网络请求,也可以直接用VolleyPlus替换官方Volley的所有引用:
- 保留全局排除配置,确保只有VolleyPlus被引入
- 把你代码中所有
com.android.volley包下的类(比如JsonObjectRequest)替换成VolleyPlus的对应类(VolleyPlus的包名通常是com.mcxiaoke.volley,API和官方Volley完全兼容)
这种方法适合你想统一技术栈的场景,但需要修改部分代码,不如第一种方法快捷。
内容的提问来源于stack exchange,提问作者Rafay Rao
相关产品推荐
相关产品推荐

