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

Android应用中Google Place API Key无法用于Place Picker问题排查

排查Place Picker返回RESULT_CODE 2的问题

我之前调试旧版Place Picker时也碰到过一模一样的错误,结合你的配置来看,核心问题大概率是API Key验证失败或者依赖/服务配置不全,咱们一步步来解决:

1. 补全缺失的Place Picker依赖

你的app.gradle里没有添加Place Picker所需的play-services-places依赖!Place Picker组件是单独在这个库中的,只依赖location和maps是不够的。请添加和你的maps版本一致的places依赖:

implementation 'com.google.android.gms:play-services-places:16.1.0'

添加后同步Gradle,确保没有版本冲突。

2. 检查API Key的SHA1限制是否正确

错误码2对应的是PlacePicker.RESULT_ERROR_INVALID_API_KEY,这说明API Key的验证没通过。你提到用了applicationId和SHA1限制,但要注意:

  • Debug和Release的SHA1指纹是不同的!如果你现在是在Debug模式下测试,必须把Debug版本的SHA1+applicationId添加到API Key的限制列表中,而不是只加Release的。
  • 获取Debug SHA1的方法:打开Android Studio右侧的Gradle面板,找到你的app模块 → 展开Tasks→android→ 运行signingReport,控制台里就能看到Debug的SHA1值。
  • 登录Google Cloud Console,找到你的API Key,确认Debug的SHA1+applicationId已经添加到“应用限制”中。

3. 确认启用的是旧版Places API

旧版Place Picker依赖的是Places API (Legacy),而不是新版的Places API。请登录Google Cloud Console,搜索“Places API (Legacy)”,确保它的状态是“已启用”——如果启用的是新版Places API,旧版Place Picker是无法调用的。

4. 验证Manifest中的API Key正确性

检查strings.xml里的google_maps_key值,确保和Cloud Console里的API Key完全一致,没有多余的空格、换行或者字符缺失。有时候复制粘贴时会不小心带进去多余的字符,导致验证失败。

额外提醒

需要注意的是,Google在2019年就弃用了Place Picker组件,从2021年开始不再提供官方支持。如果你的应用是长期维护的,建议后续迁移到新版Places SDK for Android的Autocomplete组件,避免后续出现更多兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 06:28:47