我读了所有关于这个问题的帖子,但我无法在我的机器上解决它。 我总是得到:
06-23 20:04:30.011: E/Google Maps Android API(6623): Failed to load map. Error contacting Google servers. This is probably an authentication issue (but could be due to network errors).
进入地图活动时。
我的代码:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mobwal"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="14" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<permission android:name="com.mobwal.permission.MAPS_RECEIVE" android:protectionLevel="signature"/>
<uses-permission android:name="com.mobwal.permission.MAPS_RECEIVE"/>
<uses-permission android:name="com.google.android.providers.gsf.permissions.READ_GSERVICES"/>
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<application
android:allowBackup="true"
android:icon="@drawable/logo1small"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar" >
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="KEYFROM GOOGLES CONSOLE" />
<activity
android:name=".FacebookStart"
android:label="@string/app_name"
android:windowSoftInputMode="adjustResize" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.facebook.LoginActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id" />
</application>
</manifest>
我从eclipse首选项中获取了SHA1指纹,它与我使用关键工具相同。问题是我有两个.android文件夹(一个在C:\ Users \ user_name.android和我的android sdk文件夹中)我在尝试使用它激活我的应用程序后删除用户的那个(没有成功,现在它是没有重新创建)所以我只留下了我的android sdk文件夹下的一个没有多大帮助。 我需要帮助,我几乎尝试过任何事情。
答案 0 :(得分:10)
转到https://code.google.com/apis/console 登录后,转到服务&gt; Google Maps Android API v2并启用此切换按钮。
小心:它是“Google Maps Android API v2”而不是“Google Maps API v2”。
答案 1 :(得分:1)
对于那些没有答案工作的人,在我的情况下问题是,在另一个帐户的控制台上有另一个Android应用程序密钥注册了相同的包名称,因此地图api找到了,并且无法进行身份验证我(显然)。在移除并在手机上再次安装应用程序后,一旦删除(并将指纹添加到我正在使用的指纹),一切都开始工作。
答案 2 :(得分:1)
这是99%的密钥库问题。
1)我用于发布和调试同一个文件debug.keystore
,我将其从C:/Users/EEfimenko/.android/debug.keystore
复制到C:\Users\EEfimenko\Android\MyApp\app
文件夹,以便直接访问debug.keystore
而不用C:/Users/...
链接
2)然后我从build.gradle (Module: app) file in
android`:
signingConfigs {
debug {
storeFile file('debug.keystore')
}
release {
storeFile file('debug.keystore')
}
}
3)从keytool -list -v -keystore debug.keystore
文件夹中的cmd运行C:\Users\EEfimenko\Android\MyApp\app
命令,并将得到的SHA1指纹与applet的名称混合:FR:TY:CG ..... YF:ER; com.myapp.nameofit
4)转到https://code.google.com/apis/console/b/0/?noredirect:
a)服务并启用“Google Maps Android API v2”到ON状态
b)把FR:TY:CG ..... YF:ER; com.myapp.nameofit在“API Access”中创建新的Android Key
现在你可以像开头一样再次看到你的地图,而不用钥匙!:)
答案 3 :(得分:0)
我尝试做几乎所有事情,例如生成密钥20次,更改权限的顺序,但没有什么比从工作区中删除项目并再次导回它更重要。
答案 4 :(得分:0)
问题是:没有密钥的工作,但不能使用它,因为你触摸&#34; app&#34;从编辑手中拿出文件。您必须对其进行编辑并仅进行更改:文件 - &gt;项目结构
答案 5 :(得分:0)
您需要找到文件\ app \ src \ release \ res \ values \ google_maps_api.xml 在您的项目中并放置您的Google API KEY,因为Android Studio仅显示调试版的调试文件夹中的google_maps_api.xml。比一切都工作,地图不仅会显示在调试模式;)