所以我通过在终端中使用此命令从我的调试存储中获取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
出现之前,它还说
处理网络更改通知:已连接
答案 0 :(得分:0)
最后我发现了问题。我应该发现另一个非常简单的解决方案。如果您查看下面的代码来自我原来的问题,您可能会发现错误。
<uses-permission android:name="android.permissions.INTERNET"/>
知道了吗? android.permissions.INTERNET
应为android.permission.INTERNET
。那是对的......奇异的。
在此之后,它仍然无效。但是在从我的.android文件夹中删除我的debug.keystore和debug.keyset然后重新启动eclipse并重新安装它们之后,我又获得了一个新的API密钥并且嘿,它工作正常。
我希望这有助于其他人,并且可以避免这些愚蠢的错误。
我还写了一篇关于如何让Google Maps API正常运行的walkthrough来帮助您解决问题。