1

最近、アプリに OAuth ログインを導入しました。これは、 を使用しWebViewてユーザーを認証し、 を後でAsyncTask必要な呼び出しを行うことを意味します。REST

残念ながら、このログイン方法を導入してから、アプリの強制終了の報告が寄せられています。これはAsyncTask、ログイン後に実行される他の s に関連しているようですが、残念ながらスタック トレースからはあまりわかりません。

java.lang.IllegalStateException: Could not execute method of the activity
at android.view.View$1.onClick(View.java:3100)
at android.view.View.performClick(View.java:3627)
at android.view.View$PerformClick.run(View.java:14329)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4511)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at android.view.View$1.onClick(View.java:3095)
... 11 more
Caused by: java.lang.NoClassDefFoundError: android/os/AsyncTask
at com.foo.bar.TransmissionActivity.transmit(TransmissionActivity.java:44)
... 14 more

AsyncTaskAndroid SDK の代わりに RoboAsyncTask (RoboGuice から) を使用して上記のエラーを修正することができましたが、WebViews. WebViewはコール スタックのどこかで使用AsyncTaskされているようで、上記のようなエラー ( Caused by: java.lang.NoClassDefFoundError: android/os/AsyncTask) がエラー ログに表示されるようになりました。

このエラーは、さまざまなデバイスやさまざまな Android バージョンで発生し、明らかなパターンはありません。私たちは自分たちでエラーを再現しようとしましたが、うまくいきませんでした。

何か案は?

4

1 に答える 1

0

ビルド設定に問題がある可能性があります。(src / genのビルド順序はいくつかの問題を引き起こすことが知られていますが、libと呼ばれるcompatライブラリのlibsフォルダーは、新しいSDKバージョンでいくつかの問題を引き起こしました)。

新しいプロジェクトを作成するかどうかを確認します(これは100%androidの公式なので、Eclipseで)。Webビューと非同期タスクを追加してから、プロジェクトでプロジェクトの差分を作成します。src / gen/resを無視します。うまくいけば、src/genが間違った順序などでビルドされていることがわかります。

〜アンダース

于 2012-12-11T07:40:33.370 に答える