0

Google Maps android api v2 の最も基本的な例を実装しようとしています。しかし、次のエラーでクラッシュします:java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable.

私はGoogle APIをセットアップし、次のようなstackoverflowの投稿を見てきました:

しかし、彼らの問題は私のものとは少し異なります。

正しい方向に向けてください。Android 2.2 を使用していますが、新しいマップを使用してアプリでフラグメントを利用したいと考えています。Apple の uinavigation のようないくつかの機能を取得して、ポップアップ アクティビティで新しいビューをプッシュできるようにします。

ありがとう。

ありがとうございます。添付ファイルに表示されている png にどのようにたどり着きましたか?Google Play サービスは、パッケージ エクスプローラーで参照ライブラリとして表示されます。私はそれを追加しました。これは私のlogcatです:

01-16 06:23:55.087: E/AndroidRuntime(305): FATAL EXCEPTION: main
01-16 06:23:55.087: E/AndroidRuntime(305): java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable
01-16 06:23:55.087: E/AndroidRuntime(305):  at com.google.android.gms.maps.GoogleMapOptions.createFromAttributes(Unknown Source)
01-16 06:23:55.087: E/AndroidRuntime(305):  at com.google.android.gms.maps.SupportMapFragment.onInflate(Unknown Source)
01-16 06:23:55.087: E/AndroidRuntime(305):  at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:271)
01-16 06:23:55.087: E/AndroidRuntime(305):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:558)
01-16 06:23:55.087: E/AndroidRuntime(305):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:618)
01-16 06:23:55.087: E/AndroidRuntime(305):  at android.view.LayoutInflater.inflate(LayoutInflater.java:407)
01-16 06:23:55.087: E/AndroidRuntime(305):  at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
01-16 06:23:55.087: E/AndroidRuntime(305):  at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
01-16 06:23:55.087: E/AndroidRuntime(305):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:198)
01-16 06:23:55.087: E/AndroidRuntime(305):  at android.app.Activity.setContentView(Activity.java:1647)
01-16 06:23:55.087: E/AndroidRuntime(305):  at com.example.afis.MainActivity.onCreate(MainActivity.java:13)
01-16 06:23:55.087: E/AndroidRuntime(305):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
01-16 06:23:55.087: E/AndroidRuntime(305):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
01-16 06:23:55.087: E/AndroidRuntime(305):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
01-16 06:23:55.087: E/AndroidRuntime(305):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
01-16 06:23:55.087: E/AndroidRuntime(305):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
01-16 06:23:55.087: E/AndroidRuntime(305):  at android.os.Handler.dispatchMessage(Handler.java:99)
01-16 06:23:55.087: E/AndroidRuntime(305):  at android.os.Looper.loop(Looper.java:123)
01-16 06:23:55.087: E/AndroidRuntime(305):  at android.app.ActivityThread.main(ActivityThread.java:4627)
01-16 06:23:55.087: E/AndroidRuntime(305):  at java.lang.reflect.Method.invokeNative(Native Method)
01-16 06:23:55.087: E/AndroidRuntime(305):  at java.lang.reflect.Method.invoke(Method.java:521)
01-16 06:23:55.087: E/AndroidRuntime(305):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
01-16 06:23:55.087: E/AndroidRuntime(305):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
01-16 06:23:55.087: E/AndroidRuntime(305):  at dalvik.system.NativeStart.main(Native Method)
01-16 06:23:55.097: W/ActivityManager(59):   Force finishing activity com.example.afis/.MainActivity
01-16 06:23:55.607: W/ActivityManager(59): Activity pause timeout for HistoryRecord{44ee9110 com.example.afis/.MainActivity}
4

3 に答える 3

0

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

于 2013-06-22T07:26:12.870 に答える
0

「android-support-v4.jar」を含む「libs」フォルダーがプロジェクトに存在するかどうかを確認してください。Android 2.2 を使用しているため、プロジェクトのルート ディレクトリに「libs」フォルダーが必要です。それがない場合は、そのjarファイルを「libs」フォルダーにコピーしてください。

「android-support-v4.jar」は、ディレクトリの下の「/extras/android/compatibility/v4/android-support-v4.jar」にあります。

プロジェクトを実行する前に、プロジェクトのビルド ターゲットを Android xx バージョンではなく「Google APIs」に設定する必要があります。お使いの携帯電話に投影します。エミュレータを使用する場合は、エミュレータの AVD を任意の「Google API」に設定する必要があります。

繰り返しになりますが、プロジェクトをテストするために新しい Google Maps API キーを作成する必要はありません。Google API コンソールで「ブラウザー アプリのキー (リファラーを含む)」として表示されるデフォルトの API キーを使用するだけです。 .

于 2013-01-16T10:02:12.447 に答える