13

アプリの 1 つをバックアップして、Google Maps API v2 で初めて実行しようとしています。キーストアでアプリのキーを作成し、SHA1 ハッシュを抽出し、API キーを取得してから、アプリ内で次のことを行いました... 私は以下を含めました:

google-play-services.jar

GooglePlayServices ライブラリをインポートし、プロジェクトへの参照として追加します。私の Java コードでは、単にレイアウト リソースをロードするだけです。

public class Times extends Activity{
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.map);
    }
}

インスタンス化しようとしているレイアウト (res/layout/map.xml) には、次のものがあります。

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/map"
    android:name="com.google.android.gms.maps.SupportMapFragment"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" />

また、マニフェストで次のように宣言しています。

<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="tinyTech.us.ua.busschedule.permission.MAPS_RECEIVE" />

<permission
    android:name="tinyTech.us.ua.busschedule.permission.MAPS_RECEIVE"
    android:protectionLevel="signature" />

<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />

マニフェストの Application タグで次のように宣言します。

<meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="My_API_Key" />

アクティビティが読み込まれると、LogCat で次のエラーが発生してクラッシュします。

FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable
    at com.google.android.gms.maps.GoogleMapOptions.createFromAttributes(Unknown Source)

問題を調査しようとしましたが、探しているものを見つけることができませんでした。どんな助けでも大歓迎です。

4

10 に答える 10

23

FragmentActivityを使用している場合は、拡張する必要がありますSupportMapFragment。を使用しているMapFragment場合は、延長できますActivity

于 2012-12-10T20:52:43.073 に答える
12

レイアウトで、使用します

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/map"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              class="com.google.android.gms.maps.SupportMapFragment"/>

それ以外の

...    
android:name="com.google.android.gms.maps.SupportMapFragment"
...
于 2013-05-10T13:13:43.737 に答える
7

これを行う必要があります:

public class MainActivity extends android.support.v4.app.FragmentActivity{

}
于 2012-12-18T19:04:44.343 に答える
5

これは私のために働いた:https://stackoverflow.com/a/13744765/1215098

.jar としてだけでなく、モジュールとして Google Play サービスを追加する必要があるようです

于 2012-12-11T13:31:12.677 に答える
5

Google Play Services ライブラリをインポートする際に「プロジェクトをワークスペースにコピー」をチェックして、このエラーを解決しました。
詳細はこちら: http://developer.android.com/google/play-services/setup.html

于 2013-04-19T18:00:58.333 に答える
1

私は同じ問題を抱えていたと思います。新しいバージョンでは、マニフェストにこの行を追加する必要があるようです

<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />
于 2014-11-03T08:18:21.343 に答える
0

私の場合、次のように付け加えます。

ファイル -> 新規 -> Google -> Google マップのアクティビティ

そして、私はこのチュートリアルに従います。

于 2017-08-04T16:14:34.853 に答える