1

所以我通过在终端中使用这个命令从我的调试存储中获取我的 MD5 证书指纹来生成我的 API 密钥......

keytool -list -alias androiddebugkey -keystore <my_debug.keystore_location> -storepass android -keypass android

这生成得很好,然后我上网将它输入到文本框中,点击生成并获取我的 api 密钥,然后我将其输入到我的 xml 布局中,如下所示..

<com.google.android.maps.MapView
    android:id="@+id/map_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:state_enabled="true"
    android:clickable="true"
android:apiKey="my_api_key/>

然后在我的 AndroidManifest.xml 中,我在 Application 标记之前添加了 Internet 权限,并在 applicate 标记内添加了库引用。

<uses-permission android:name="android.permissions.INTERNET"/>

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:hardwareAccelerated="true" >

    <uses-library android:name="com.google.android.maps"/>

    <activity
        android:name=".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>
</application>

我的 AVD 是正确的 api 目标以及我的项目。MapView 正在显示,但仅显示灰色图块。当我使用浏览器检查时,我在模拟器中也有互联网。

任何帮助将非常感激。

编辑

好的,看着我的LogCat它说

无法获取连接工厂客户端

所以我猜这就是问题所在?在此之前出现在LogCat它还说

处理网络变更通知:CONNECTED

4

1 回答 1

0

最后我发现了问题。我应该发现的另一个可笑的简单解决方案。如果您查看下面的代码,该代码取自我的原始问题,您可能会发现错误。

<uses-permission android:name="android.permissions.INTERNET"/>

知道了?android.permissions.INTERNET应该是android.permission.INTERNET。没错……单数。

在这之后,它仍然没有工作。但是,从我的 .android 文件夹中删除我的 debug.keystore 和 debug.keyset 然后重新启动 eclipse 并重新安装以重新生成它们之后,我得到了一个新的 API 密钥,嘿,它工作了。

我希望这对其他人有所帮助,并且可以避免这些愚蠢的错误。

我还写了一篇关于如何让 Google Maps API 工作的演练,应该可以帮助你。

于 2012-07-10T11:44:05.207 回答