android中第三方jar导入报java.lang.NoClassDefFoundError解决办法
2013-02-18 15:27
435 查看
在android中导入第三方jar时,常见的操作有两种:
①:右键工程->Build Path->configure build path。再弹出的libraries里,选择 Add ExternalJARs
②:右键工程->Build path->Add Libraries,再在弹出的窗体中选择“User library”,点击“下一步(Next)”,点击“User Libraries”按钮在出现的界面中点击“New..”按钮在弹出的 文本框中自己随便起一个名字,点击“确定”,点击“Add jars”按钮选择第三方jar包
以上两种方法都可以把地方jar导入到项目中,但是当我们点击"Run As"->"Android Application",通过真机或者模拟器运行时会出现类似一下的异常:
02-18 15:36:45.934: E/AndroidRuntime(10401): FATAL EXCEPTION: main
02-18 15:36:45.934: E/AndroidRuntime(10401): java.lang.NoClassDefFoundError: jp.sourceforge.qrcode.QRCodeDecoder
02-18 15:36:45.934: E/AndroidRuntime(10401): at com.sjc.camer.CameraDemoActivity$1.onPictureTaken(CameraDemoActivity.java:119)
02-18 15:36:45.934: E/AndroidRuntime(10401): at android.hardware.Camera$EventHandler.handleMessage(Camera.java:625)
02-18 15:36:45.934: E/AndroidRuntime(10401): at android.os.Handler.dispatchMessage(Handler.java:130)
02-18 15:36:45.934: E/AndroidRuntime(10401): at android.os.Looper.loop(SourceFile:351)
出现此异常的原因是我们只有把第三方的jar引用到了项目工程里面而没有放到apk中,所以正确的方法如下:
在工程下面建立一个libs文件夹,把需要的第三方jar拷贝到里面。将引用的第三方jar包,添加进工作的build path。接下来(最关键的一部)在/libs 文件夹上右键->Build Path ->Use as Source Folder。到此java.lang.NoClassDefFoundError异常解决了。但是新的问题又来了,当我们点击"Run As"->"Android Application"时,会在控制台输出 如下类似的错误信息:
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Ljp/sourceforge/reedsolomon/Galois;
[2013-02-19 15:24:25 - CameraDemo] Dx at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)
出现该错误的原因是:把libs弄成了Source Folder.导致里面的类被重复编译?
解决的办法:在/libs 文件夹上右键->Remove from Build Path,再次编译工程,问题解决了。
①:右键工程->Build Path->configure build path。再弹出的libraries里,选择 Add ExternalJARs
②:右键工程->Build path->Add Libraries,再在弹出的窗体中选择“User library”,点击“下一步(Next)”,点击“User Libraries”按钮在出现的界面中点击“New..”按钮在弹出的 文本框中自己随便起一个名字,点击“确定”,点击“Add jars”按钮选择第三方jar包
以上两种方法都可以把地方jar导入到项目中,但是当我们点击"Run As"->"Android Application",通过真机或者模拟器运行时会出现类似一下的异常:
02-18 15:36:45.934: E/AndroidRuntime(10401): FATAL EXCEPTION: main
02-18 15:36:45.934: E/AndroidRuntime(10401): java.lang.NoClassDefFoundError: jp.sourceforge.qrcode.QRCodeDecoder
02-18 15:36:45.934: E/AndroidRuntime(10401): at com.sjc.camer.CameraDemoActivity$1.onPictureTaken(CameraDemoActivity.java:119)
02-18 15:36:45.934: E/AndroidRuntime(10401): at android.hardware.Camera$EventHandler.handleMessage(Camera.java:625)
02-18 15:36:45.934: E/AndroidRuntime(10401): at android.os.Handler.dispatchMessage(Handler.java:130)
02-18 15:36:45.934: E/AndroidRuntime(10401): at android.os.Looper.loop(SourceFile:351)
出现此异常的原因是我们只有把第三方的jar引用到了项目工程里面而没有放到apk中,所以正确的方法如下:
在工程下面建立一个libs文件夹,把需要的第三方jar拷贝到里面。将引用的第三方jar包,添加进工作的build path。接下来(最关键的一部)在/libs 文件夹上右键->Build Path ->Use as Source Folder。到此java.lang.NoClassDefFoundError异常解决了。但是新的问题又来了,当我们点击"Run As"->"Android Application"时,会在控制台输出 如下类似的错误信息:
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Ljp/sourceforge/reedsolomon/Galois;
[2013-02-19 15:24:25 - CameraDemo] Dx at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)
出现该错误的原因是:把libs弄成了Source Folder.导致里面的类被重复编译?
解决的办法:在/libs 文件夹上右键->Remove from Build Path,再次编译工程,问题解决了。
相关文章推荐
- Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法)
- Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法)
- Android使用KSOAP2等第三方jar包调用WebService出现java.lang.NoClassDefFoundError.的解决办法
- 【转】Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法)
- Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法) 详解
- Android 第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法)
- Android中引入第三方Jar出现java.lang.NoClassDefFoundError解决办法
- android配置第三方jar包过程中关于找不到类 java.lang.noclassdeffounderror的问题解决办法
- Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法)及UNEXPECTED TOP-LEVEL EXCEPTION
- Android 导入 Jar 包 出现: java.lang.NoclassDefFoundError 解决办法
- Android项目导入出现The type java.lang.Object cannot be resolved.问题解决办法!! .
- Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法)
- Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法)
- Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法)
- Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法) 详解
- Android 导入 Jar 包 出现: java.lang.NoclassDefFoundError 解决办法
- Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法)
- Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法)
- Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法)
- Android中引入第三方Jar包出错(java.lang.NoClassDefFoundError解决办法)