Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 应用程序在启动时崩溃,因为找不到google map的API密钥_Java_Android_Google Maps_Android Fragments_Android Manifest - Fatal编程技术网

Java 应用程序在启动时崩溃,因为找不到google map的API密钥

Java 应用程序在启动时崩溃,因为找不到google map的API密钥,java,android,google-maps,android-fragments,android-manifest,Java,Android,Google Maps,Android Fragments,Android Manifest,各位!!我有一个问题,我的应用程序只是在启动时崩溃,因为它找不到我的API密钥,似乎。。。我试图实现的是在我的活动中添加一个映射片段,但它找不到我的API密钥。我只是想知道你们中的一些人是否有这个问题,并且能够发现我正在犯的错误,因为我不能 我已经提供了我得到的错误消息、我的AndroidManifest.xml以及我尝试切换到映射片段的方法 java.lang.RuntimeException: Unable to start activity ComponentInfo{no.premer.

各位!!我有一个问题,我的应用程序只是在启动时崩溃,因为它找不到我的API密钥,似乎。。。我试图实现的是在我的活动中添加一个映射片段,但它找不到我的API密钥。我只是想知道你们中的一些人是否有这个问题,并且能够发现我正在犯的错误,因为我不能

我已经提供了我得到的错误消息、我的AndroidManifest.xml以及我尝试切换到映射片段的方法

java.lang.RuntimeException: Unable to start activity ComponentInfo{no.premer.mytravels/no.premer.mytravels.MainActivity}: 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 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2345)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2407)
        at android.app.ActivityThread.access$800(ActivityThread.java:149)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1324)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:211)
        at android.app.ActivityThread.main(ActivityThread.java:5321)
        at java.lang.reflect.Method.invoke(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:372)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1016)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:811)
 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.d.fk.a(Unknown Source)
        at com.google.maps.api.android.lib6.a.g.a(Unknown Source)
        at com.google.android.gms.maps.internal.CreatorImpl.b(Unknown Source)
        at com.google.android.gms.maps.internal.CreatorImpl.b(Unknown Source)
        at com.google.android.gms.maps.internal.i.onTransact(SourceFile:62)
        at android.os.Binder.transact(Binder.java:380)
        at com.google.android.gms.maps.internal.zzc$zza$zza.zzr(Unknown Source)
        at com.google.android.gms.maps.SupportMapFragment$zzb.zzvu(Unknown Source)
        at com.google.android.gms.maps.SupportMapFragment$zzb.zza(Unknown Source)
        at com.google.android.gms.dynamic.zza.zza(Unknown Source)
        at com.google.android.gms.dynamic.zza.onCreate(Unknown Source)
        at com.google.android.gms.maps.SupportMapFragment.onCreate(Unknown Source)
        at android.support.v4.app.Fragment.performCreate(Fragment.java:1766)
        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:917)
        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1138)
        at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:740)
        at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1501)
        at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:551)
        at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1220)
        at android.app.Activity.performStart(Activity.java:5949)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2308
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2407)
        at android.app.ActivityThread.access$800(ActivityThread.java:149)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1324)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:211)
        at android.app.ActivityThread.main(ActivityThread.java:5321)
        at java.lang.reflect.Method.invoke(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:372)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1016)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:811)

尝试将实际的API键放入清单中,而不是对strings.xml中的值的引用。。。谢谢,伙计,我连试都不试,真是太草率了!wierd的事情是,当我刚刚有了对它的引用时,它实际上显示了这个键……可能有一些关于如何计算这个特定值的信息,当它是这样的引用时,它没有正确地将它应用到API中。不过我也不确定。我试着再次制作google_maps_api.xml只是为了检查它是否有效,因为我认为引用它会更好,而且有效。。。我以前只是从我的另一个存储库复制了这个文件,这可能就是为什么它没有找到它的原因。
<?xml version="1.0" encoding="utf-8"?>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

<!--
The ACCESS_COARSE/FINE_LOCATION permissions are not required to use
Google Maps Android API v2, but are recommended.
-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />
    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="@string/google_maps_key" />

    <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>
    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mNavigationDrawerFragment = (NavigationDrawerFragment)
            getSupportFragmentManager().findFragmentById(R.id.navigation_drawer);
    mTitle = getTitle();

    // Set up the drawer.
    mNavigationDrawerFragment.setUp(
            R.id.navigation_drawer,
            (DrawerLayout) findViewById(R.id.drawer_layout));

    SupportMapFragment mapFragment = SupportMapFragment.newInstance(new GoogleMapOptions().compassEnabled(true).zoomControlsEnabled(true).mapToolbarEnabled(true));
    FragmentManager fragmentManager = getSupportFragmentManager();

    // call getMapAsync() to set OnMapReadyCallback on map fragment
    mapFragment.getMapAsync(this);

    fragmentManager.beginTransaction().add(R.id.container, mapFragment, "map").commit();

    mTitle = "Some Title";
    restoreActionBar();
}