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

React Native Expo中Google Map仅APK崩溃、本地运行正常问题排查

React Native Expo Google Map打包APK后崩溃问题排查与解决

实际问题分析

  • API密钥生产环境配置缺失:本地开发用的调试密钥未配置生产APK的SHA-1指纹,导致Google Maps API请求被拒绝,触发应用崩溃。
  • 原生依赖未正确集成:Expo打包过程中,Google Maps相关原生模块未被完整植入APK,运行时找不到核心依赖引发崩溃。
  • 权限声明不完整:生产APK未在配置文件中声明位置权限,进入地图页面时权限请求失败直接导致应用崩溃。
  • 版本兼容性冲突:使用的expo-google-maps/react-native-maps与当前Expo SDK版本不兼容,本地缓存掩盖了问题,打包后暴露冲突。

解决方案

1. 配置生产环境API密钥

  • 生成生产APK的SHA-1指纹:
    keytool -list -v -keystore 你的发布密钥库.jks -alias 你的密钥别名
    
  • 登录Google Cloud控制台,将生成的SHA-1指纹添加到Maps API密钥的允许列表中。
  • 在app.config.js中指定生产环境API密钥:
    export default {
      expo: {
        // ...其他配置
        android: {
          config: {
            googleMaps: {
              apiKey: '你的生产环境API密钥'
            }
          }
        }
      }
    }
    

2. 确保原生依赖正确打包

  • 若使用第三方react-native-maps,先执行Expo预构建:
    npx expo prebuild --platform android
    
  • 检查android/app/src/main/AndroidManifest.xml是否包含Maps配置:
    <meta-data
      android:name="com.google.android.geo.API_KEY"
      android:value="@string/google_maps_api_key" />
    

3. 补充权限声明

  • 在app.config.js中添加位置权限:
    export default {
      expo: {
        // ...其他配置
        android: {
          permissions: [
            "ACCESS_COARSE_LOCATION",
            "ACCESS_FINE_LOCATION"
          ]
        }
      }
    }
    
  • 在加载地图前主动请求权限:
    import { PermissionsAndroid } from 'react-native';
    
    const requestLocationPermission = async () => {
      const granted = await PermissionsAndroid.request(
        PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
        {
          title: "位置权限请求",
          message: "应用需要位置权限来加载地图",
          buttonPositive: "允许"
        }
      );
      return granted === PermissionsAndroid.RESULTS.GRANTED;
    };
    

4. 修复版本兼容性

  • 查看Expo官方文档,确认expo-google-maps/react-native-maps与当前Expo SDK的兼容版本。
  • 安装兼容版本:
    npm install expo-google-maps@~13.0.0 # 示例:适配Expo SDK 49的版本
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 00:05:47