우리는 최근에 우리의 애플 리케이션에 OAuth 로그인을 도입했습니다. 즉, 사용자를 인증하는 데 WebView
을 사용하고 나중에 REST
을 호출하려면 AsyncTask
을 사용합니다.앱 강제 종료 java.lang.NoClassDefFoundError : android/os/AsyncTask
이 로그인 방법을 소개 한 후 앱 강제 종료에 대한 신고가 접수되었습니다. 이 로그인 후에 실행되는 다른 AsyncTask
의 관련이있는 것으로 보이지만, 스택 트레이스는 불행하게도 많이 알려하지 않습니다 우리는 (RoboGuice에서) RoboAsyncTask를 사용하여 위의 오류를 해결하기 위해 관리
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
대신 Android SDK의 AsyncTask
이지만 다른 활동은 WebView
입니다. WebView
은 분명히 호출 스택의 어딘가에서 AsyncTask
을 사용하며 위에 표시된 것과 비슷한 오류 (Caused by: java.lang.NoClassDefFoundError: android/os/AsyncTask
)가 오류 로그에 표시되기 시작했습니다.
오류는 다른 기기와 다른 Android 버전에서 명백한 패턴없이 발생합니다. 우리는 행운없이 오류를 스스로 재현하려고 노력했습니다.
아이디어가 있으십니까?
잘못된 시간과 장소에서 작업을 만들 때 비슷한 문제가있었습니다. AsyncTask로 코드 예제를 보여줄 수 있습니까? – RagnarR