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

Google地图API问题:Release包中PlaceAutocompleteView自动关闭

解决Release包中PlaceAutocompleteView自动关闭且API Key不一致的问题

我之前也碰到过一模一样的坑!这大概率是Release构建时API Key没有和签名密钥正确绑定导致的,下面给你拆解问题根源和具体解决办法:

问题根源分析

你提到Logcat里的API Key和Manifest配置的不一致,说明Release构建过程中,应用实际使用的是另一套Key(比如Debug环境的Key),而不是你为Release签名配置的专属Key。Google Maps/Places API的权限是和签名文件的SHA1强绑定的,Debug和Release签名的SHA1完全不同,一旦Key和SHA1不匹配,PlaceAutocomplete就会因为权限校验失败直接关闭。

具体解决方案

1. 确认Release签名的SHA1与API Key的绑定关系

首先确保你用对了Release签名的SHA1:

  • 用命令行获取Release签名文件的SHA1:
    keytool -list -v -keystore your-release-keystore.jks -alias your-release-alias
    
    (替换成你自己的keystore路径和别名)
  • 登录Google Cloud Console,检查这个SHA1是否已经关联到你的Release API Key,同时确认Places API已经启用(PlaceAutocomplete依赖这个API权限)。

2. 用Gradle动态注入API Key,避免硬编码混淆

硬编码API Key很容易在Debug/Release切换时出错,建议用构建变体动态配置:

  • 在app/build.gradle的buildTypes块中分别配置Debug和Release的API Key:
    android {
        buildTypes {
            debug {
                resValue "string", "google_maps_api_key", "你的Debug环境API Key"
            }
            release {
                resValue "string", "google_maps_api_key", "你的Release环境API Key"
            }
        }
    }
    
  • 然后在AndroidManifest.xml中引用这个字符串资源:
    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="@string/google_maps_api_key" />
    
    这样Debug和Release构建时会自动加载对应环境的Key,彻底避免混淆。

3. 检查Release构建的混淆规则

如果你的Release包开启了代码混淆,可能会把Google Places的核心类给混淆掉,导致功能异常。在proguard-rules.pro中添加以下规则:

-keep class com.google.android.gms.places.** { *; }
-keep class com.google.android.gms.location.** { *; }
-keep interface com.google.android.gms.common.api.GoogleApiClient$ConnectionCallbacks { *; }

4. 验证构建后的Manifest内容

有时候构建工具会自动修改Manifest,你可以查看Release构建后的最终Manifest文件(路径:app/build/intermediates/manifests/full/release/AndroidManifest.xml),确认里面的API Key是否是你配置的Release Key。

最后总结

核心就是确保Release签名的SHA1和对应的API Key正确绑定,同时通过Gradle动态注入Key的方式,避免Debug和Release环境的Key搞混。按照上面的步骤排查,应该就能解决PlaceAutocomplete自动关闭的问题了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 04:25:52