You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用VolleyPlus后集成Places API遇JsonObjectRequest类找不到问题求助

解决VolleyPlus与官方Volley冲突及Places API崩溃问题

看起来你踩了一个依赖冲突里常见的坑——全局排除依赖虽然快速解决了重复类的问题,但也误删了其他组件需要的核心依赖。咱们一步步来搞定它:

问题根源

你全局排除了所有com.android.volley依赖,确实解决了VolleyPlus和官方Volley的BuildConfig重复问题,但Google Places API内部依赖了官方Volley的JsonObjectRequest类,这部分也被你一并排除了,所以搜索地点时才会出现类找不到的崩溃。

正确的解决步骤

  1. 移除全局排除配置
    先删掉build.gradle里的这段一刀切的代码:

    configurations {all*.exclude group:'com.android.volley'}
    

    全局排除会影响所有依赖,这就是问题的导火索。

  2. 针对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需要的版本。

  3. 同步并验证
    点击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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 18:37:54