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

使用Google Geocode API遇"Rate Limited Dispatcher"线程AbstractMethodError错误求助

解决Google Geocode API的AbstractMethodError问题

这个错误我之前帮不少开发者排查过,核心原因就是Google Maps Java客户端库和OkHttp依赖的版本不兼容,导致内部回调方法的签名不匹配,JVM找不到正确的实现,才抛出了AbstractMethodError。

具体来说,com.google.maps.internal.OkHttpPendingResult$1.onResponse(Lokhttp3/Response;)V这个错误提示,说明Google Maps内部封装的OkHttp回调方法,和你项目里实际引入的OkHttp版本中的方法签名不一致——比如OkHttp 3.x和4.x之间的方法有变动,而Google Maps客户端依赖的版本和你项目里的版本不统一,就会出现这种问题。

下面是具体的解决步骤:

  • 第一步:确认依赖版本兼容性
    先查清楚你用的google-maps-services版本对应的OkHttp版本要求。比如最新的2.2.0版本需要OkHttp 4.x,而旧版本(比如v0.16.x)依赖的是OkHttp 3.x。如果混用了跨大版本的OkHttp,肯定会出问题。

  • 第二步:统一项目中的依赖版本
    不管用Maven还是Gradle,都要明确指定OkHttp的版本,确保和Google Maps客户端的依赖一致:

    • Maven(pom.xml):
      <!-- 先指定兼容的OkHttp版本 -->
      <dependency>
          <groupId>com.squareup.okhttp3</groupId>
          <artifactId>okhttp</artifactId>
          <version>4.10.0</version>
      </dependency>
      <!-- 引入Google Maps Geocode客户端 -->
      <dependency>
          <groupId>com.google.maps</groupId>
          <artifactId>google-maps-services</artifactId>
          <version>2.2.0</version>
      </dependency>
      
    • Gradle(build.gradle):
      dependencies {
          implementation 'com.squareup.okhttp3:okhttp:4.10.0'
          implementation 'com.google.maps:google-maps-services:2.2.0'
      }
      
  • 第三步:排除冲突的依赖
    如果项目里其他第三方依赖偷偷引入了不同版本的OkHttp,需要把这些冲突的依赖排除掉。比如Maven中给Google Maps客户端添加排除规则:

    <dependency>
        <groupId>com.google.maps</groupId>
        <artifactId>google-maps-services</artifactId>
        <version>2.2.0</version>
        <exclusions>
            <exclusion>
                <groupId>com.squareup.okhttp3</groupId>
                <artifactId>okhttp</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    
  • 第四步:清理缓存并重新构建
    有时候本地缓存的旧依赖会干扰,执行清理命令重新构建:

    • Maven:mvn clean install
    • Gradle:./gradlew clean build

你提到错误出现在GeocodingResult[]...那一行,是因为当调用Geocode API发起请求时,内部会触发OkHttp的回调,而此时版本不兼容导致回调方法找不到,才抛出了这个错误。按照上面的步骤调整依赖版本,应该就能解决问题了。

内容的提问来源于stack exchange,提问作者Jean

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:14:34