簡體   English   中英

找不到Google Maps V2 API密鑰(但在那里)

[英]Google Maps V2 API Key Not Found (But it IS there)

我正在嘗試將現有的工作Google Maps App從API V1移植到V2。 我嚴格按照developers.google.com上的指示進行操作,但仍然不滿意。 問題是根據LogCat,“找不到API密鑰”。 LogCat輸出如下:

05-04 11:46:55.882: E/AndroidRuntime(15175): Caused by:ava.lang.RuntimeException: API key not found. Check that <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="your API key"/>
                is in the <application> element of AndroidManifest.xml
05-04 11:46:55.882: E/AndroidRuntime(15175):    at com.google.maps.api.android.lib6.d.fb.a(Unknown Source)
05-04 11:46:55.882: E/AndroidRuntime(15175):    at com.google.maps.api.android.lib6.a.g.a(Unknown Source)
05-04 11:46:55.882: E/AndroidRuntime(15175):    at com.google.android.gms.maps.internal.CreatorImpl.b(Unknown Source)
05-04 11:46:55.882: E/AndroidRuntime(15175):    at com.google.android.gms.maps.internal.CreatorImpl.b(Unknown Source)
05-04 11:46:55.882: E/AndroidRuntime(15175):    at com.google.android.gms.maps.internal.i.onTransact(SourceFile:62)
05-04 11:46:55.882: E/AndroidRuntime(15175):    at android.os.Binder.transact(Binder.java:380)
05-04 11:46:55.882: E/AndroidRuntime(15175):    at com.google.android.gms.maps.internal.zzc$zza$zza.zzk(Unknown Source)
05-04 11:46:55.882: E/AndroidRuntime(15175):    at com.google.android.gms.maps.MapFragment$zzb.zztD(Unknown Source)
05-04 11:46:55.882: E/AndroidRuntime(15175):    at com.google.android.gms.maps.MapFragment$zzb.zza(Unknown Source)
05-04 11:46:55.882: E/AndroidRuntime(15175):    at com.google.android.gms.dynamic.zza.zza(Unknown Source)
05-04 11:46:55.882: E/AndroidRuntime(15175):    at com.google.android.gms.dynamic.zza.onInflate(Unknown Source)
05-04 11:46:55.882: E/AndroidRuntime(15175):    at com.google.android.gms.maps.MapFragment.onInflate(Unknown Source)
05-04 11:46:55.882: E/AndroidRuntime(15175):    at android.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2130)
05-04 11:46:55.882: E/AndroidRuntime(15175):    at android.app.Activity.onCreateView(Activity.java:5610)
05-04 11:46:55.882: E/AndroidRuntime(15175):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:740)
05-04 11:46:55.882: E/AndroidRuntime(15175):    ... 19 more

但這存在的:“我的清單”在下面(此帖子的API密鑰已被殘缺):

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.ramrod.GoogleMapV2"
  android:versionCode="100"
  android:versionName="1.00">

<uses-sdk
    android:minSdkVersion="17"
    android:targetSdkVersion="17"
/>
<uses-feature 
    android:glEsVersion="0x0020000"
    android:required="true"
/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFU_STATE" />
<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="android.permission.READ_GSERVICES"   />
<uses-permission android:name="android.permission.MAPS_RECEIVE"   />

<application
  android:icon="@drawable/icon"
  android:label="GoogleMapV2"
  android:allowBackup="false">
  <activity android:name=".GoogleMapV2Main"
            android:label="GoogleMapV2">
      <intent-filter>
          <action android:name="android.intent.action.MAIN" />
          <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
  </activity>
  <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="AIzaSyC0T6B0VEcEALyQi3WXXXXXXXXXXXXXXXX"
  />
</application>
</manifest>

近一個星期來,我一直不高興地把頭撞在牆上。 我搜索過StackOverflow和網絡:很多人遇到API密鑰問題,但幾乎都遇到語法問題。 除非我對XML不了解,否則我認為這不是我的問題。

有人看到我想念的東西嗎?

我不知道這是否可能是主要原因,但是你有

<meta-data android:name="com.google.android.maps.V2.API_KEY" android:value="your API key"/>

V2在高V處 ,logcat則說在低V處放置

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

您有兩種類型的密鑰,一種用於調試會話,另一種用於發布apk。

對於調試密鑰庫,您可以在Eclipse中獲取SHA1值。

從菜單訪問:窗口->首選項-> Android->構建

可能您使用了錯誤的SHA1值。

嘗試將值直接放在清單中。 不要使用@integer ....

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM