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

Android Studio中Google地图API密钥缺失致应用崩溃求助

解决Google地图API密钥缺失导致的应用崩溃

问题描述

首次在Android Studio中开发简单地图显示功能,应用持续崩溃。调试日志明确提示API密钥未找到,需检查AndroidManifest.xml的<application>元素配置。

原始清单文件代码

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="org.tensorflow.lite.examples.detection">

    <uses-sdk />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
   
    <application
        android:allowBackup="true"
        android:icon="@drawable/blind"
        android:label="@string/app_name"
         android:roundIcon="@drawable/blind"
        android:supportsRtl="true"
        android:theme="@style/AppTheme.ObjectDetection">
        <activity android:name=".Navigation.MapsActivity"
            android:exported="true"/>
        <activity android:name=".Navigation.GestureDetect"
            android:exported="true"/>
        <activity android:name=".Navigation.Navigation"
            android:exported="true"/>
        <activity
            android:name=".Reminder.NotificationMessage"
            android:exported="true" /> 
        <activity
            android:name=".Home"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
              <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
  <receiver
            android:name=".Navigation.RebootReceiver"
            android:enabled="true"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.intent.action.QUICKBOOT_POWERON" />
            </intent-filter>
        </receiver>
    </application>

</manifest>

调试报错日志

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: org.tensorflow.lite.examples.detection, PID: 11755
    java.lang.RuntimeException: Unable to start activity ComponentInfo{org.tensorflow.lite.examples.detection/org.tensorflow.lite.examples.detection.Navigation.MapsActivity}: android.view.InflateException: Binary XML file line #75: Binary XML file line #75: Error inflating class fragment
         at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:528)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:910)
     Caused by: android.view.InflateException: Binary XML file line #75: Binary XML file line #75: Error inflating class fragment
     Caused by: android.view.InflateException: Binary XML file line #75: Error inflating class fragment
     Caused by: java.lang.RuntimeException: API key not found.  Check that <meta-data android:name="com.google.android.geo.API_KEY" android:value="your API key"/> is in the <application> element of AndroidManifest.xml
        at com.google.maps.api.android.lib6.drd.p.a(:com.google.android.gms.dynamite_mapsdynamite@222413050@22.24.13 (040406-0):6)
        at com.google.maps.api.android.lib6.auth.f.i(:com.google.android.gms.dynamite_mapsdynamite@222413050@22.24.13 (040406-0):1)
        at com.google.maps.api.android.lib6.impl.l.a(:com.google.android.gms.dynamite_mapsdynamite@222413050@22.24.13 (040406-0):24)
        at com.google.android.gms.maps.internal.CreatorImpl.b(:com.google.android.gms.dynamite_mapsdynamite@222413050@22.24.13 (040406-0):7)
        at com.google.android.gms.maps.internal.CreatorImpl.logInitialization(:com.google.android.gms.dynamite_mapsdynamite@222413050@22.24.13 (040406-0):3)
        at com.google.android.gms.maps.internal.g.ba(:com.google.android.gms.dynamite_mapsdynamite@222413050@22.24.13 (040406-0):5)
        at eu.onTransact(:com.google.android.gms.dynamite_mapsdynamite@222413050@22.24.13 (040406-0):4)
        at android.os.Binder.transact(Binder.java:627)
        at com.google.android.gms.internal.maps.zza.zzc(com.google.android.gms:play-services-maps@@18.1.0:2)
        at com.google.android.gms.maps.internal.zze.zzl(com.google.android.gms:play-services-maps@@18.1.0:4)
        at com.google.android.gms.maps.MapsInitializer.initialize(com.google.android.gms:play-services-maps@@18.1.0:12)
        at com.google.android.gms.maps.MapsInitializer.initialize(com.google.android.gms:play-services-maps@@18.1.0:1)
        at com.google.android.gms.maps.zzav.zzc(com.google.android.gms:play-services-maps@@ 
        at com.google.android.gms.dynamic.DeferredLifecycleHelper.onInflate(com.google.android.gms:play-services-base@@18.0.1:1)
        at com.google.android.gms.maps.SupportMapFragment.onInflate(com.google.android.gms:play-services-maps@@18.1.0:9)
        at androidx.fragment.app.Fragment.onInflate(Fragment.java:1561)
        at androidx.fragment.app.FragmentLayoutInflaterFactory.onCreateView(FragmentLayoutInflaterFactory.java:106)
        at androidx.fragment.app.FragmentController.onCreateView(FragmentController.java:135)
        at androidx.fragment.app.FragmentActivity.dispatchFragmentsOnCreateView(FragmentActivity.java:356)
        at androidx.fragment.app.FragmentActivity.onCreateView(FragmentActivity.java:335)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:787)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:737)
E/AndroidRuntime:     at android.view.LayoutInflater.rInflate(LayoutInflater.java:870)
         at android.app.Activity.setContentView(Activity.java:2758)
        at org.tensorflow.lite.examples.detection.Navigation.MapsActivity.onCreate(MapsActivity.java:273)
        at android.app.Activity.performCreate(Activity.java:7227)
        at android.app.Activity.performCreate(Activity.java:7218)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)

解决方案

问题根源是AndroidManifest.xml的<application>标签内缺少Google地图API密钥的配置项。按以下步骤修改:

  1. 在<application>标签内部添加<meta-data>元素,配置你的Google地图API密钥:
<meta-data
    android:name="com.google.android.geo.API_KEY"
    android:value="你的实际API密钥"/>
  1. 修改后的完整清单文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="org.tensorflow.lite.examples.detection">

    <uses-sdk />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
   
    <application
        android:allowBackup="true"
        android:icon="@drawable/blind"
        android:label="@string/app_name"
         android:roundIcon="@drawable/blind"
        android:supportsRtl="true"
        android:theme="@style/AppTheme.ObjectDetection">
        <!-- 添加Google地图API密钥配置 -->
        <meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="你的实际API密钥"/>
            
        <activity android:name=".Navigation.MapsActivity"
            android:exported="true"/>
        <activity android:name=".Navigation.GestureDetect"
            android:exported="true"/>
        <activity android:name=".Navigation.Navigation"
            android:exported="true"/>
        <activity
            android:name=".Reminder.NotificationMessage"
            android:exported="true" /> 
        <activity
            android:name=".Home"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
              <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
  <receiver
            android:name=".Navigation.RebootReceiver"
            android:enabled="true"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.intent.action.QUICKBOOT_POWERON" />
            </intent-filter>
        </receiver>
    </application>

</manifest>
  1. 注意事项:
  • 确保替换android:value中的内容为你申请的合法地图API密钥
  • 确认API密钥已启用Google Maps Android SDK服务
  • 检查应用的SHA-1指纹和包名是否与API密钥的配置一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 05:39:18