Android Google Maps SDK API Key未找到问题求助
Android Google Maps SDK API Key未找到问题求助
我这个仿GeoGuessr的项目已经卡了快几周了,尤其是API密钥的配置怎么都不生效,完全摸不着头绪。我本来预期模拟器能正常加载随机位置的街景视图,但LogCat里一直弹出这个错误:
Caused by: java.lang.RuntimeException: API key not found. Check that
is in the element of AndroidManifest.xml
我试过让GPT一步步带我排查问题,也跟着好几个YouTube教程重新配置了一遍,但还是没解决。我怀疑是不是我的项目根本没识别到配置的API密钥,下面是我的相关代码和配置文件:
MainActivity 代码
package com.example.hopefullyfinalgeoguessr; import android.os.Bundle; import com.google.android.gms.maps.OnStreetViewPanoramaReadyCallback; import com.google.android.gms.maps.StreetViewPanorama; import com.google.android.gms.maps.StreetViewPanoramaView; import com.google.android.gms.maps.SupportStreetViewPanoramaFragment; import com.google.android.gms.maps.model.LatLng; import com.google.android.material.snackbar.Snackbar; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import android.view.View; import androidx.navigation.NavController; import androidx.navigation.Navigation; import androidx.navigation.ui.AppBarConfiguration; import androidx.navigation.ui.NavigationUI; import com.example.hopefullyfinalgeoguessr.databinding.ActivityMainBinding; import android.view.Menu; import android.view.MenuItem; import java.util.Random; public class MainActivity extends AppCompatActivity implements OnStreetViewPanoramaReadyCallback { private StreetViewPanorama streetViewPanorama; private boolean secondlocation = false; private static final double MIN_LATITUDE = -90; private static final double MAX_LATITUDE = 90; private static final double MIN_LONGITUDE = -180; private static final double MAX_LONGITUDE = 180; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); SupportStreetViewPanoramaFragment streetViewPanoramaFragment = (SupportStreetViewPanoramaFragment)getSupportFragmentManager().findFragmentById(R.id.googlemapstreetview); streetViewPanoramaFragment.getStreetViewPanoramaAsync(this); } @Override public void onStreetViewPanoramaReady(StreetViewPanorama streetViewPanorama) { Random random = new Random(); double lat = MIN_LATITUDE + (MAX_LATITUDE - MIN_LATITUDE) * random.nextDouble(); double lng = MIN_LONGITUDE + (MAX_LONGITUDE - MIN_LONGITUDE) * random.nextDouble(); LatLng randomLocation = new LatLng(lat,lng); this.streetViewPanorama.setPosition(randomLocation); } }
AndroidManifest.xml 配置
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <application android:allowBackup="true" android:dataExtractionRules="@xml/data_extraction_rules" android:fullBackupContent="@xml/backup_rules" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/Theme.Hopefullyfinalgeoguessr" tools:targetApi="31"> <activity android:name=".MainActivity" android:exported="true" android:label="@string/app_name" android:theme="@style/Theme.Hopefullyfinalgeoguessr.NoActionBar"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <meta-data android:name="com.google.android.maps.API_KEY" android:value="redacted" /> <meta-data android:name="com.google.android.geo.API_KEY" android:value="redacted" /> <meta-data android:name="com.google.android.streetview.API_KEY" android:value="redacted" /> </activity> </application> </manifest>
布局文件(activity_main.xml)
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <fragment android:layout_width="match_parent" android:layout_height="match_parent" android:layout_centerInParent="true" android:id="@+id/googlemapstreetview" android:name="com.google.android.gms.maps.SupportStreetViewPanoramaFragment" /> </RelativeLayout>
我已经尝试了GPT的分步指导和多个YouTube教程,但问题依然存在。目前猜测是项目没有正确识别到我配置的API密钥,有没有大佬能帮我看看问题出在哪?
备注:内容来源于stack exchange,提问作者dudewhoislearning
相关产品推荐
相关产品推荐

