4

新しい Mac (Lion 10.7.3) を手に入れました。Eclipse と Android SDK をインストールしました。SVN から私のプロジェクトをチェックアウトし、実行しようとしたところ、この醜い例外が発生しました:

05-20 12:17:21.175: E/AndroidRuntime(32499): FATAL EXCEPTION: main
05-20 12:17:21.175: E/AndroidRuntime(32499): java.lang.NoClassDefFoundError: com.urbanairship.UAirship
05-20 12:17:21.175: E/AndroidRuntime(32499):    at com.neo.ovs3.MyApp.onCreate(MyApp.java:16)
05-20 12:17:21.175: E/AndroidRuntime(32499):    at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:969)
05-20 12:17:21.175: E/AndroidRuntime(32499):    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3292)
05-20 12:17:21.175: E/AndroidRuntime(32499):    at android.app.ActivityThread.access$2200(ActivityThread.java:117)
05-20 12:17:21.175: E/AndroidRuntime(32499):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:969)
05-20 12:17:21.175: E/AndroidRuntime(32499):    at android.os.Handler.dispatchMessage(Handler.java:99)
05-20 12:17:21.175: E/AndroidRuntime(32499):    at android.os.Looper.loop(Looper.java:130)
05-20 12:17:21.175: E/AndroidRuntime(32499):    at android.app.ActivityThread.main(ActivityThread.java:3703)
05-20 12:17:21.175: E/AndroidRuntime(32499):    at java.lang.reflect.Method.invokeNative(Native Method)
05-20 12:17:21.175: E/AndroidRuntime(32499):    at java.lang.reflect.Method.invoke(Method.java:507)
05-20 12:17:21.175: E/AndroidRuntime(32499):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
05-20 12:17:21.175: E/AndroidRuntime(32499):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
05-20 12:17:21.175: E/AndroidRuntime(32499):    at dalvik.system.NativeStart.main(Native Method)

新しいプロジェクトを作成し、マニフェスト ファイルを再作成し、UA ライブラリを変更し、ビルド パスを構成することにより、さまざまな方法で修正しようとしました。何も役に立ちません。プロジェクト自体はエラーなしでコンパイルされます。

以前の Mac (および PC) では、チェックアウト直後に同じプロジェクトが機能していることに注意してください。これは、これがプロジェクトの問題ではないことを意味します。

何か案は ?

4

2 に答える 2

1

Googleは、最新のADTバージョンのライブラリプロジェクトを使用するプロジェクトの処理方法にいくつかの変更を加えました。これらの変更は祝福されていますが、古いADTプラグインバージョンを新しいバージョンと混合するとエラーが発生します。

古いコンピューターに古いADTプラグインがあり、この方法でコミットした場合、エラーが発生します...

もしそうなら、私が提案するのは、古いコンピューターに戻って、すべてのGoogleツールを更新することです。プロジェクトが正常に実行されていることを確認し、SVNにコミットします。新しいコンピュータをチェックアウトして、うまくいけばうまくいくでしょう...

于 2012-05-20T10:14:58.477 に答える
1

解決策を見つけました!

これは確かに ADT の更新が原因です。

新しい Android プロジェクトを作成したところ、SVN の以前のプロジェクトとは構造が異なることに気付きました。

その後、ADTおよびSDKツールがv17に更新された後、この投稿Gson NoClassDefFoundErrorに従いました

古いファイルを新しいプロジェクトにコピーしました。最後に、すべて正常に機能しました。

これが同じ問題を抱えている人々に役立つことを願っています。

于 2012-05-21T08:54:34.927 に答える