Google Maps V2 API 未找到密钥(但它在那里)
Google Maps V2 API Key Not Found (But it IS there)
我正在尝试将现有的可用 Google 地图应用程序从 API V1 移植到 V2。
我严格按照 developers.google.com 上的指示进行操作,但仍然不高兴。问题是 "API key not found" 根据 LogCat。 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 键为此 post 被残缺不全):
<?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>
我已经用头撞墙快一个星期了,没有任何快乐。我搜索了 Whosebug 和网络:很多人都有 API 关键问题,但几乎普遍存在语法问题。除非我已经 XML-blind,否则我不认为这是我的问题。
有人看到我遗漏的东西吗?
您有两种密钥,一种用于调试会话,另一种用于发布您的 apk。
对于调试密钥库,您可以在 Eclipse 中获取 SHA1 值。
从菜单访问:Window -> 首选项 -> Android -> 构建
可能您使用了错误的 SHA1 值。
尝试将值直接放在清单中。不要使用@integer....
我不知道这是否是主要原因,但你有
<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" />
我正在尝试将现有的可用 Google 地图应用程序从 API V1 移植到 V2。 我严格按照 developers.google.com 上的指示进行操作,但仍然不高兴。问题是 "API key not found" 根据 LogCat。 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 键为此 post 被残缺不全):
<?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>
我已经用头撞墙快一个星期了,没有任何快乐。我搜索了 Whosebug 和网络:很多人都有 API 关键问题,但几乎普遍存在语法问题。除非我已经 XML-blind,否则我不认为这是我的问题。
有人看到我遗漏的东西吗?
您有两种密钥,一种用于调试会话,另一种用于发布您的 apk。
对于调试密钥库,您可以在 Eclipse 中获取 SHA1 值。
从菜单访问:Window -> 首选项 -> Android -> 构建
可能您使用了错误的 SHA1 值。
尝试将值直接放在清单中。不要使用@integer....
我不知道这是否是主要原因,但你有
<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" />