如何获取设备的谷歌API密钥

时间:2011-06-16 04:57:26

标签: android google-maps android-maps

我在基于Google地图的Android中创建了一个应用程序。我有一个API密钥,它在模拟器中成功运行,但是当我在设备上运行它时,它显示一个强制关闭消息。有人可以解释如何获取在设备上使用的API密钥,以及我是否必须专门为设备使用获得API密钥?

我的Java代码:

setContentView(R.layout.mapview);
mapView = (MapView) findViewById(R.id.mapview);       
mapView.setBuiltInZoomControls(true);

String coordinates[] = {"9.966667", "78.166667"};
double lat = Double.parseDouble(coordinates[0]);
double lng = Double.parseDouble(coordinates[1]);
GeoPoint  p = new GeoPoint((int) (lat * 1E6),(int) (lng * 1E6));

MapController mapController = mapView.getController();

mapController.setCenter(p);
mapController.animateTo(p);
mapController.setZoom(12);

我的布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/main"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" >

    <com.google.android.maps.MapView
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"
        android:enabled="true"
        android:clickable="true"
        android:apiKey="myapikey" />

</LinearLayout>

Logcat错误:

 Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x1080215

这个问题对我的项目是一个阻碍因素,所以在修复之前我不能继续前进。

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

阅读documentation

编辑:好的我正在为你引用文档

  

当你准备发布你的   但请注意你的申请   必须用a签署你的申请   相反,合适的加密密钥   比SDK调试密钥。这意味着   你还需要注册   您的应用程序的发布证书   使用Google地图服务。后   你已经这样做了,你会得到一个新的   Maps API Key是唯一的   与您的发布相关联   证书。启用MapView   您的应用程序中的元素   发布后,你必须记住   更改所有的Maps API密钥   MapViews在您的应用程序中   他们指的是与之相关的密钥   你的发布证书(而不是   你的调试证书。)

请仔细阅读以下“获取签名证书的MD5指纹”部分

$ keytool -list -alias alias_name -keystore my-release-key.keystore