2012/03/28
Android SDK Tools を Rev. 17 にしたら ClassNotFoundException が発生するようになった
2013/5/28 追記
ADT ver. 22 でも ClassNotFoundException が発生するようになりました。
原因は、この ver. 17 での仕様変更が(バグで)無効になったから…
暫定的なバグのようですが、しばらく直らないかもしれませんので、ご注意ください。
穀風: Eclipse ADT を Ver. 22 にしたら ClassNotFoundException が発生するようになった
原因は、この ver. 17 での仕様変更が(バグで)無効になったから…
暫定的なバグのようですが、しばらく直らないかもしれませんので、ご注意ください。
穀風: Eclipse ADT を Ver. 22 にしたら ClassNotFoundException が発生するようになった
1週間ほど前、Android SDK Tools の Rev. 17 がリリースされたとのことで、早速アップデートしてみました。
ところが、これまで動いていたアプリが突然動かなくなってしまったのです。
起動時にいきなり落ちるという悲しい状況。
エラーログは以下のような感じです。
Uncaught handler: thread main exiting due to uncaught exception java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.kokufu.android.apps.xxxx/com.kokufu.android.apps.xxxx.TestActivity}: java.lang.ClassNotFoundException: com.kokufu.android.apps.xxxx.TestActivity in loader dalvik.system.PathClassLoader@44e39248 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2417) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512) at android.app.ActivityThread.access$2200(ActivityThread.java:119) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:123) at android.app.ActivityThread.main(ActivityThread.java:4363) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:521) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.ClassNotFoundException: com.kokufu.android.apps.xxxx.TestActivity in loader dalvik.system.PathClassLoader@44e39248 at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243) at java.lang.ClassLoader.loadClass(ClassLoader.java:573) at java.lang.ClassLoader.loadClass(ClassLoader.java:532) at android.app.Instrumentation.newActivity(Instrumentation.java:1021) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2409) ... 11 more
動いていたものに一切手は入れていませんので、原因は明らかに今回のアップデート。
Updated SDK Tools and ADT revision 17 | Android Developers Blog を確認してみても、それらしい記述はないような…
ん? Support Library もアップデートって書いてある。
で、よくよく見てみると、今回落ちている TestActivity は android.support.v4.app.FragmentActivity を継承していました。