我在基于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
这个问题对我的项目是一个阻碍因素,所以在修复之前我不能继续前进。
答案 0 :(得分:1)
答案 1 :(得分:0)
编辑:好的我正在为你引用文档
当你准备发布你的 但请注意你的申请 必须用a签署你的申请 相反,合适的加密密钥 比SDK调试密钥。这意味着 你还需要注册 您的应用程序的发布证书 使用Google地图服务。后 你已经这样做了,你会得到一个新的 Maps API Key是唯一的 与您的发布相关联 证书。启用MapView 您的应用程序中的元素 发布后,你必须记住 更改所有的Maps API密钥 MapViews在您的应用程序中 他们指的是与之相关的密钥 你的发布证书(而不是 你的调试证书。)
请仔细阅读以下“获取签名证书的MD5指纹”部分
$ keytool -list -alias alias_name -keystore my-release-key.keystore