今天我将ADT和SDK工具更新到v17,使用Google的gson jar库的项目开始抛出NoClassDefFoundError.这是logcat输出:
> 03-22 12:30:58.941: E/AndroidRuntime(21672): FATAL EXCEPTION: main
> 03-22 12:30:58.941: E/AndroidRuntime(21672):
> java.lang.NoClassDefFoundError: com.google.gson.Gson 03-22
> 12:30:58.941: E/AndroidRuntime(21672): at
> com.matriksdata.conn.XRequestHandler.connect(XRequestHandler.java:35)
> 03-22 12:30:58.941: E/AndroidRuntime(21672): at
> com.matriksdata.conn.XRequestHandler.makeRequest(XRequestHandler.java:
> 29) 03-22 12:30:58.941: E/AndroidRuntime(21672): at
> com.matriksdata.bavul.XBaseWithConnectionActivity.makeRequest(XBaseWithConnectionActivity.java:
> 46) 03-22 12:30:58.941: E/AndroidRuntime(21672): at
> com.matriksdata.ui.login.SplashScreenActivity.onCreate(SplashScreenActivity.java:
> 36) 03-22 12:30:58.941: E/AndroidRuntime(21672): at
> android.app.Activity.performCreate(Activity.java:4465) 03-22
> 12:30:58.941: E/AndroidRuntime(21672): at
> android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:
> 1049) 03-22 12:30:58.941: E/AndroidRuntime(21672): at
> android.app.ActivityThread.performLaunchActivity(ActivityThread.java:
> 1919) 03-22 12:30:58.941: E/AndroidRuntime(21672): at
> android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:
> 1980) 03-22 …Run Code Online (Sandbox Code Playgroud) 我只是允许我的Mac对其Java安装进行更新,现在我的一些旧罐子(比如javax.mail和apache.commons.httpclient)在运行时抛出"未找到类"的异常!
意思是,它们编译正常,但随后在运行时崩溃,异常如下所示:
E/dalvikvm(2414): Could not find class 'javax.mail.internet.InternetAddress', referenced from method com.my.project.Main.isValidEmailAddress
Run Code Online (Sandbox Code Playgroud)
我是否需要获得具有这些类的更新版本的罐子?或者我是否需要恢复到以前的Java版本?
或者这是一个完全不相关的问题,我只是假设与Java更新有关(这将是一个巧合,所有这些在更新之前完美地工作)?
05-16 10:26:18.267: E/dalvikvm(12692): Could not find class 'com.nostra13.universalimageloader.core.ImageLoaderConfiguration$Builder', referenced from method com.test.app.ApplicationRoot.onCreate
05-16 10:26:18.267: W/dalvikvm(12692): VFY: unable to resolve new-instance 555 (Lcom/nostra13/universalimageloader/core/ImageLoaderConfiguration$Builder;) in Lcom/test/app/ApplicationRoot;
05-16 10:26:18.267: D/dalvikvm(12692): VFY: replacing opcode 0x22 at 0x0005
05-16 10:26:18.267: D/dalvikvm(12692): DexOpt: unable to opt direct call 0x123f at 0x0b in Lcom/test/app/ApplicationRoot;.onCreate
05-16 10:26:18.267: D/AndroidRuntime(12692): Shutting down VM
05-16 10:26:18.267: W/dalvikvm(12692): threadid=1: thread exiting with uncaught exception (group=0x4168f2a0)
05-16 10:26:18.272: E/AndroidRuntime(12692): FATAL EXCEPTION: main
05-16 10:26:18.272: E/AndroidRuntime(12692): java.lang.NoClassDefFoundError: com.nostra13.universalimageloader.core.ImageLoaderConfiguration$Builder
05-16 10:26:18.272: E/AndroidRuntime(12692): at com.test.app.ApplicationRoot.onCreate(ApplicationRoot.java:16)
05-16 …Run Code Online (Sandbox Code Playgroud)