0

コンピューターに Java (Android) プロジェクトがあり、それを自分のデバイスで実行すると、非常にうまく機能しました。

その後、そのプロジェクトを別のコンピューターに移動する必要がありました。同じファイル、同じもの、変更されたもの。しかし、現在、実行中に次のエラーが発生します。「FATAL EXCEPTION: main、java.lang.IllegalStateException: アクティビティのメソッドを実行できませんでした」

onClickメソッドを呼び出すボタンを押すとエラーが出ます。そのボタンを押さなければ、すべてうまくいきます。

これは私の LogCat です

06-11 17:03:26.881: E/AndroidRuntime(15278): FATAL EXCEPTION: main
06-11 17:03:26.881: E/AndroidRuntime(15278): java.lang.IllegalStateException: Could not execute method of the activity
06-11 17:03:26.881: E/AndroidRuntime(15278):    at android.view.View$1.onClick(View.java:3044)
06-11 17:03:26.881: E/AndroidRuntime(15278):    at android.view.View.performClick(View.java:3511)
06-11 17:03:26.881: E/AndroidRuntime(15278):    at android.view.View$PerformClick.run(View.java:14105)
06-11 17:03:26.881: E/AndroidRuntime(15278):    at android.os.Handler.handleCallback(Handler.java:605)
06-11 17:03:26.881: E/AndroidRuntime(15278):    at android.os.Handler.dispatchMessage(Handler.java:92)
06-11 17:03:26.881: E/AndroidRuntime(15278):    at android.os.Looper.loop(Looper.java:137)
06-11 17:03:26.881: E/AndroidRuntime(15278):    at android.app.ActivityThread.main(ActivityThread.java:4424)
06-11 17:03:26.881: E/AndroidRuntime(15278):    at java.lang.reflect.Method.invokeNative(Native Method)
06-11 17:03:26.881: E/AndroidRuntime(15278):    at java.lang.reflect.Method.invoke(Method.java:511)
06-11 17:03:26.881: E/AndroidRuntime(15278):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
06-11 17:03:26.881: E/AndroidRuntime(15278):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)
06-11 17:03:26.881: E/AndroidRuntime(15278):    at dalvik.system.NativeStart.main(Native Method)
06-11 17:03:26.881: E/AndroidRuntime(15278): Caused by: java.lang.reflect.InvocationTargetException
06-11 17:03:26.881: E/AndroidRuntime(15278):    at java.lang.reflect.Method.invokeNative(Native Method)
06-11 17:03:26.881: E/AndroidRuntime(15278):    at java.lang.reflect.Method.invoke(Method.java:511)
06-11 17:03:26.881: E/AndroidRuntime(15278):    at android.view.View$1.onClick(View.java:3039)
06-11 17:03:26.881: E/AndroidRuntime(15278):    ... 11 more
06-11 17:03:26.881: E/AndroidRuntime(15278): Caused by: java.lang.NoClassDefFoundError: com.google.gson.GsonBuilder
06-11 17:03:26.881: E/AndroidRuntime(15278):    at iv.AppInditta.DbWorker.NewServerGetActivityTypes(DbWorker.java:3076)
06-11 17:03:26.881: E/AndroidRuntime(15278):    at iv.AppInditta.InDitta.faseuno(InDitta.java:641)
06-11 17:03:26.881: E/AndroidRuntime(15278):    ... 14 more`

この実行時エラーを解決する方法を知っている人はいますか? 以前のコンピューターの同じコードがうまく機能するため、コードエラーである可能性はありません...

4

2 に答える 2

0

長い間検索した後、フォーラムで解決策を確認しました。

問題は、私が持っていたライブラリ(私の場合はgsonでした)への参照によって与えられますが、これは正しくありませんでした。間違った方法でライブラリをプロジェクトに追加しました。プロジェクトにライブラリを実装するために使用した手順は次のとおりです。

  1. Eclipseでプロジェクトを右クリックします
  2. ビルドパス>ビルドパスの構成...
  3. 「ライブラリ」セクションで、「外部JARの追加...」をクリックします。
  4. コンピューターを参照して、インポートしたいライブラリを見つけ、[OK]をクリックしてインポートします。

しかし、この手順は正しくありません!!!!

ライブラリを追加し、プロジェクトで利用できるようにする(そして機能させる)ための正しい手順は次のとおりです。

  1. Eclipse / Androidワークスペースプロジェクトに「libs」という名前の新しいフォルダーを作成します(Windows OSを使用している場合はWindowsエクスプローラーで作成できます)。
  2. Eclipseで、プロジェクトを右クリックして[更新]を選択します。これにより、プロジェクトが更新され、「libs」フォルダーが追加されます。
  3. 「libs」フォルダを右クリックし、「インポート」>「一般」>「ファイルシステム」を選択します。[次へ]をクリックし、PCを参照して、追加するライブラリの親フォルダーを見つけ(NBは、library.jarではなくライブラリの親フォルダーを選択します)、[OK]をクリックします。
  4. ライブラリのディレクトリ名(左側のパネルに表示されている)をクリックします-チェックボックスではありません-
  5. 右側のパネルに、そのフォルダー内のJARファイルのリストが表示されます。インストールするJARファイルのチェックボックスを選択し、[完了]をクリックします(この操作により、ライブラリがプロジェクトに追加されます。プロジェクトで使用できるようにする必要があります。コード)
  6. プロジェクトを右クリックし、[ビルドパス]>[ビルドパスの構成...]を選択します。
  7. [ライブラリ]タブで[JARの追加...]をクリックし、プロジェクトを参照して、libsフォルダーでライブラリを検索して追加します。

これで、ライブラリが利用可能になり、プロジェクトで機能します。

これらの手順は私にとってはうまくいきました。同じ問題が発生する場合は、あなたにとってもうまくいくことを願っています。

さよなら ;)

于 2012-06-13T09:29:07.727 に答える