7

ここで言及されているサンプルコードを実行しようとしています:Google Maps AndroidAPIV2サンプルコード

しかし、エラーNoClassDefFoundが発生します。以下は私のlogcatです。

誰かが私がそれを解決するのを手伝ってくれる?どんな助けでも非常に高く評価されていますありがとう

12-04 18:04:18.854: E/AndroidRuntime(1801): java.lang.ExceptionInInitializerError
12-04 18:04:18.854: E/AndroidRuntime(1801):     at java.lang.Class.newInstanceImpl(Native Method)
12-04 18:04:18.854: E/AndroidRuntime(1801):     at java.lang.Class.newInstance(Class.java:1319)
12-04 18:04:18.854: E/AndroidRuntime(1801):     at android.app.Instrumentation.newActivity(Instrumentation.java:1053)
12-04 18:04:18.854: E/AndroidRuntime(1801):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1974)
12-04 18:04:18.854: E/AndroidRuntime(1801):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
12-04 18:04:18.854: E/AndroidRuntime(1801):     at android.app.ActivityThread.access$600(ActivityThread.java:130)
12-04 18:04:18.854: E/AndroidRuntime(1801):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
12-04 18:04:18.854: E/AndroidRuntime(1801):     at android.os.Handler.dispatchMessage(Handler.java:99)
12-04 18:04:18.854: E/AndroidRuntime(1801):     at android.os.Looper.loop(Looper.java:137)
12-04 18:04:18.854: E/AndroidRuntime(1801):     at android.app.ActivityThread.main(ActivityThread.java:4745)
12-04 18:04:18.854: E/AndroidRuntime(1801):     at java.lang.reflect.Method.invokeNative(Native Method)
12-04 18:04:18.854: E/AndroidRuntime(1801):     at java.lang.reflect.Method.invoke(Method.java:511)
12-04 18:04:18.854: E/AndroidRuntime(1801):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
12-04 18:04:18.854: E/AndroidRuntime(1801):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
12-04 18:04:18.854: E/AndroidRuntime(1801):     at dalvik.system.NativeStart.main(Native Method)
12-04 18:04:18.854: E/AndroidRuntime(1801): Caused by: java.lang.NoClassDefFoundError: com.example.mapdemo.BasicMapActivity
12-04 18:04:18.854: E/AndroidRuntime(1801):     at com.example.mapdemo.MainActivity.<clinit>(MainActivity.java:98)
12-04 18:04:18.854: E/AndroidRuntime(1801):     ... 15 more
4

10 に答える 10

35

私は同じ問題を抱えていて、次のことを行うことで解決しました、

  • 手動で追加したandroid-support-v4.jarを削除します
  • プロジェクトを右クリックし、[Androidツール]->[サポートライブラリの追加...]を選択します。

この後、すべてが私のために働いた。

于 2012-12-04T15:17:29.970 に答える
3

これは私のために働いた。

Android-Support-V4.jarとGoogle_Play_Services_lib.jarをインポートしたら、次の場所に移動します。

プロジェクトのプロパティ>Javaビルドパス>順序とエクスポート。

次に、Android-Support-V4.jarの横にあるチェックボックスとGoogle_Play_Services_lib.jarが選択されていることを確認します。

[OK]をクリックして、実行します。すべてがうまくいくはずです。

于 2013-01-11T18:37:00.957 に答える
1

NewUserSOFの回答のフォローアップ(そして私はこれに不慣れです):

Jairoの回答を実装すると、Google Maps V2の「MainActivity」が実行され、オプションのリストが表示されました。

しかし、今、それらのいずれかをクリックすると、エミュレーターはGooglePlayサービスを更新する必要があると言います。「更新」ボタンを押すと、アプリがクラッシュします。

LogCatから:

12-19 16:02:44.902:W / GooglePlayServicesUtil(2431):GooglePlayサービスが古くなっています。2012100が必要ですが、1015が見つかりました

12-19 16:02:51.136:E / AndroidRuntime(2431):android.content.ActivityNotFoundException:インテントを処理するアクティビティが見つかりません{act = android.intent.action.VIEW dat = http://play.google.com/ store / apps / details?id = com.google.android.gms flg = 0x80000 pkg = com.android.vending}

エミュレータでGooglePlayサービスを更新する方法はありますか。(エミュレーターは、GoogleAPIの17を実行するNexusSです)。

于 2012-12-19T16:16:52.427 に答える
1

android-support-v4.jarの複数の参照

これは私のために働いています。
プロジェクトとグーグルプレイサービスライブラリプロジェクトの両方にandroid-support-v4.jarが含まれている場合、競合します。
1つのプロジェクトからandroid-support-v4.jarを削除します。

于 2014-11-13T09:30:45.943 に答える
0

Google Play開発者サービスのライブラリプロジェクトは、サンプルプロジェクトのライブラリプロジェクトとして参照されていますか?

于 2012-12-04T13:38:24.490 に答える
0

ソースの設定方法によっては、エクスポートするandroid-support-libraryを設定する必要がある場合があります(右クリック->プロパティ->javaビルドパス->注文してエクスポート)。また、ではなくSupportMapFragmentを使用する必要があります。サポートライブラリのMapFragment。getFragmentManagerではなくgetSupportFragmentManagerも使用していることを確認してください。

于 2012-12-05T00:17:49.667 に答える
0

重要な何かが欠けているように聞こえます;)これらの手順を実行しましたか?

  • 「プロジェクト」>「プロパティー」を選択し、「Javaビルドパス」を選択して、「ライブラリー」にナビゲートします。
  • [外部Jarの追加]を選択し、次のjarファイルを含めて、[OK]をクリックします。

/extras/android/compatibility/v4/android-support-v4.jar

  • 独自のGoogleMapsAndroidAPIキーを追加します。
于 2012-12-04T12:51:30.637 に答える
0

編集:ジャイロの答えは私のために働いた。Edit2:実行されますが、マップは表示されません。APIキーを用意しています。それはちょうどそれを得た新しいものです。パッケージ名com.example.mapdemoを使用しました。Edit3:更新されたAPIキー(長持ちしません)。まだ地図は表示されていません。Edit4:間違ったキーストアを使用したために間違ったSHA1がありました。私がそれを検索したとき、検索はそれを.androidフォルダーで見つけられませんでした(ubuntuは隠しフォルダーを検索しませんでした)、代わりに私がアンドロイドソースコードをダウンロードすることから得たキーストアを見せてくれました。

まったく同じエラーが発生しています。

MainActivityが開始し、同じパッケージにあるBasicMapActivityを参照します。BasicMapActivityは、android-support-v4.jarにあるFragmentActivityを拡張します。

このページ:https ://developers.google.com/maps/documentation/android/intro 手順4:「[外部Jarの追加]を選択し、次のjarファイルを含めて、[OK]をクリックします。/extras/android/compatibility/v4/ android-support-v4.jar "

jarへのパスは/compatibility/ではなく/support/でした-/compatibility/フォルダーがありません。多分それは手がかりですか?

私のandroid-support-v4.jarの変更日は2012年11月19日月曜日09:14:47東部標準時です。最新のアップデートがないのではないかと思います。SDKManagerが実行および再実行されました。

于 2012-12-04T14:05:21.900 に答える
0

1)デバッグキーストアの日食がアプリの署名に使用しているものが、実際にAPIキーを生成するためにSHA1ハッシュを抽出したものであることを確認します

移動:

ウィンドウ>Android>ビルド>「デフォルトのデバッグキーストア」とパスをキーストアにコピーします

走る

keytool -list -v -keystore YOUR_KEYSTORE_PATH -alias androiddebugkey

2)APIコンソール構成でSHA1ハッシュの後にアプリケーションのパッケージを入力したことを確認します

Androidアプリ:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX; com.yourapp.package

3)テストの開始時にこのエラーが発生しましたが、Logcatにエラーが記録されたことを覚えています。「認証エラー」や「APIキーエラー」など。アプリの最初の実行時にlogcatに注意して、APIキーに問題がないことを確認してください。このエラーが発生した場合は、アプリを強制終了/再インストールする必要があります。アプリの実行中にAPIキーを修正しても、問題は完全には解決しませんでした。

4)サンプルアプリ内のlibsフォルダーにサポートjarを追加する必要がありました。Eclipseビルドパスで外部jarとしてリンクしても、うまくいきませんでした。

于 2012-12-04T17:00:11.403 に答える
0

私にとっての問題は、Googleマップがインストールされていないことでした。タブレットをワイプして、再インストールするのを忘れていました。

于 2013-01-17T00:59:56.587 に答える