2014-01-15 35 views
5

我创建了android密钥。 我用钥匙在我的代码谷歌地图错误日志:api密钥未找到

<meta-data android:name="com.google.androoid.maps.v2.API_KEY" 
android:value="AIzaSyDlSZf-YTqh_rBLyzjzB6VanBVm4xk6VvI"/> 

但是Android无法找到API密钥。 我不知道这个错误原因。

01-15 15:12:33.526:E/AndroidRuntime(28834):导致:java.lang.RuntimeException:未找到API密钥。检查是在AndroidManifest.xml的元素

mannifest文件

<uses-sdk 
    android:minSdkVersion="11" 
    android:targetSdkVersion="17" /> 
<permission 
    android:name="com.example.googlemap.permission.MAPS_RECEIVE" 
    android:protectionLevel="signature" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission 
     android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 


<!-- 
The following two permissions are not required to use 
Google Maps Android API v2, but are recommended. 
--> 


<uses-feature 
    android:glEsVersion="0x00020000" 
    android:required="true" /> 

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="com.example.googlemap.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> 
    <meta-data android:value="4030500" 
       android:name="com.google.android.gms.version"/> 
    <meta-data android:name="com.google.android.gms.version" 
       android:value="@integer/google_play_services_version"/> 
    <meta-data android:name="com.google.androoid.maps.v2.API_KEY" 
       android:value="AIzaSyDlSZf-YTqh_rBLyzjzB6VanBVm4xk6VvI"/> 

</application> 

</manifest> 
' 
+1

元标记应该位于清单的应用程序标记中。发布清单文件 – Raghunandan

+0

调整我的帖子。我添加了清单文件。 – yoyoung

+0

尝试生成新密钥或尝试清理并构建。还删除第一个中继标记 – Raghunandan

回答

2

更改此

<meta-data android:name="com.google.androoid.maps.v2.API_KEY" 
      android:value="AIzaSyDlSZf-YTqh_rBLyzjzB6VanBVm4xk6VvI"/> 
// androoid should be android 

<meta-data android:name="com.google.android.maps.v2.API_KEY" 
      android:value="AIzaSyDlSZf-YTqh_rBLyzjzB6VanBVm4xk6VvI"/> 

并删除

<meta-data android:value="4030500" 
      android:name="com.google.android.gms.version"/> 

也清理并建立项目。如果它不工作,尝试重新生成API密钥再次

+0

谢谢。清理完我的项目后。成功构建 – yoyoung

+0

@ user3196546请阅读此http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – Raghunandan

+0

我给你+1 @Raghunandan你应得的:) –

1

使用这些线

<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="AIzaSyDlSZf-YTqh_rBLyzjzB6VanBVm4xk6VvI"/> 

,而不是

<meta-data android:value="4030500" 
       android:name="com.google.android.gms.version"/> 
    <meta-data android:name="com.google.android.gms.version" 
       android:value="@integer/google_play_services_version"/> 
    <meta-data android:name="com.google.androoid.maps.v2.API_KEY" 
       android:value="AIzaSyDlSZf-YTqh_rBLyzjzB6VanBVm4xk6VvI"/> 
+0

谢谢。新项目成功 – yoyoung

+0

如果是,请接受答案,并提出它将有助于oters –

+0

@JiteshUpadhyay他没有足够的声望投票您的答案。我也已经回答了这个5分钟之前你做 – Raghunandan

2

除了已经给出的答案,我有这个问题的一个类似的版本并找到如下解决方案。

我注意到,由于某些原因,我的google_maps_api.xml文件在values文件夹中被重命名为google_maps_api.xml (w820dp)。看起来,在试图重新命名文件时,它仍然附加了w820dp。我记下了我的api密钥并完全删除了该文件,添加了一个新版本,该版本没有附加w820dp。这解决了这个问题。

+0

发生这种情况是因为您可能从您使用maps api键的其他应用程序复制了google_maps_api.xml文件。 – sziraqui