2

我阅读了所有关于这个问题的帖子,但我无法在我的机器上解决它。我总是得到:

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文件夹下的一个,这没有多大帮助。我需要帮助我几乎尝试了任何东西。

4

6 回答 6

10

转到https://code.google.com/apis/console 登录后,转到服务 > Google Maps Android API v2 并打开此切换按钮。

小心:它是“Google Maps Android API v2”而不是“Google Maps API v2”。

于 2013-06-24T06:57:24.210 回答
1

这是 99% 的密钥库问题。

1)我用于发布和调试同一个文件debug.keystore,我从文件夹复制C:/Users/EEfimenko/.android/debug.keystoreC:\Users\EEfimenko\Android\MyApp\app直接访问,就像debug.keystore没有C:/Users/...链接一样

2)然后我从build.gradle (Module: app) file inandroid`添加点:

signingConfigs {
    debug {
       storeFile file('debug.keystore')
     }
    release {
       storeFile file('debug.keystore')
     }
}

3)keytool -list -v -keystore debug.keystoreC:\Users\EEfimenko\Android\MyApp\app文件夹中的 cmd 运行命令并将生成的 SHA1 指纹与小程序名称混合: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 密钥

现在你可以再次看到你的地图,就像开始时没有钥匙一样!:)

于 2015-04-30T15:12:18.923 回答
1

对于那些没有答案的人,在我的情况下,问题是,在另一个帐户的控制台上为相同的包名称注册了另一个 android 应用程序密钥,因此 maps api 发现了这一点,并且未能对我进行身份验证(显然)。在手机上再次删除并安装应用程序后,一旦将其删除(并将指纹添加到我正在使用的指纹中),一切就开始工作了。

于 2013-08-15T23:08:45.520 回答
0

我试图做几乎所有事情,比如生成 20 次密钥,更改权限的顺序,但除了从工作区中删除项目并再次将其导入回来之外,没有什么比这更重要的了。

于 2013-06-24T05:15:14.250 回答
0

问题是:无需密钥即可工作,但不能使用它,因为您从编辑器中用手触摸“app”文件。您必须对其进行编辑并仅从以下位置进行更改:文件 -> 项目结构

于 2015-04-30T21:07:37.303 回答
0

您需要在项目中找到文件 \app\src\release\res\values\google_maps_api.xml 并将您的 Google API KEY 放在那里,因为 Android Studio 仅向您显示调试文件夹中的 google_maps_api.xml 用于调试版本。比一切都有效,地图不仅会在调试模式下显示;)

于 2015-05-27T22:38:37.037 回答