-3

私は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

この問題は私のプロジェクトの妨げになっているため、修正されるまで先に進むことができません。

4

2 に答える 2

1

これを確認してください: Androidのリリースキーを使用したマップ表示

于 2011-06-16T05:04:10.770 に答える
0

ドキュメントを読む

編集:わかりました、私はあなたのためにドキュメントを引用しています

ただし、アプリケーションをリリースする準備をしているときは、SDKデバッグキーではなく、適切な暗号化キーを使用してアプリケーションに署名する必要があることに注意してください。つまり、アプリケーションのリリース証明書もGoogleマップサービスに登録する必要があります。これを行うと、リリース証明書に一意に関連付けられた新しいMapsAPIキーを受け取ります。アプリケーションのMapView要素がリリース後に機能するようにするには、アプリケーション内のすべてのMapViewのMaps APIキーを変更して、(デバッグ証明書ではなく)リリース証明書に関連付けられたキーを参照するようにする必要があります。

次のセクション「署名証明書のMD5フィンガープリントの取得」をよく読んでください。

$ keytool -list -alias alias_name -keystore my-release-key.keystore
于 2011-06-16T05:02:44.697 に答える