Thanks to fujian0910(the sixteen floor). He had gave me a good answer to the problem which confused me for a long time. At first, I didn't create the folder "libs" in the root of the project. Although it could be compiled successfully, you could not run it. But after I did as fujian0910's instruction, I could run the program successfully. Thank fujian0910 very much.
然后做了如下操作
1、写了一个普通的java类调用引入进来的jar包,
2、在android类中引用这个普通的类。
编译没有问题,运行就报错,说找不到我写的这个普通的类。这是什么原因?
我是这样引入的,没问题
错误提示:
11-19 01:40:24.023: WARN/dalvikvm(227): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
11-19 01:40:24.023: ERROR/AndroidRuntime(227): Uncaught handler: thread main exiting due to uncaught exception
11-19 01:40:24.063: ERROR/AndroidRuntime(227): java.lang.NoClassDefFoundError: java.awt.Frame
11-19 01:40:24.063: ERROR/AndroidRuntime(227): at com.example.push.PushService$1.onClick(PushService.java:43)
11-19 01:40:24.063:
它的框架裡面有這些包,所以不會被打進去。
即使打進包裡面,執行起來也會出問題。android 有它自己的一套佈局方式,Layout類。mail 也是一樣,要用mail就得調用它的 mail應用程式,我是非常的反感Android的這種策略。像砣屎
一切都从零开始了。
我繼續查閱相關資料,及與國外開發者的交流。Android 的 davlkvm 與 我們標準的 jvm 所執行的bytecode格式是不樣的,且並不兼容。為此Android提供DX工具用於對標準.class文件格式的轉換。按照官方文檔操作,我們在工程在引入第三方包就可以使用了。於是我試過一些包,但大多不可以用。於是我用dx工具單獨做轉換操作,發現能單獨做轉換的jar包可以正常使用,然而大多數的jar包無法通過Dx工具的轉換。也就不能做第三方jar包引用。
至於為什麼有的jar包不能通過 dx工具的格式轉換,我也不得而知了。期望大牛們能做進一步的研究。。
Build path,
java build path,选择libraries
在右边的按钮中点击“Add Library”
选择“User library”,点击“下一步”
点击“User librarys”按钮
在出现的界面中点击“New..”按钮
在弹出的界面中随便起一个名字,点击“确定”
点击“Add jars”按钮选择第三方jar包,点击“确定”完成。后面的步骤很重要,如果不进行后面的操作。在Eclipse里显示编译通过,不会有错误,但在模拟器或真机上运行的时候可能就会出现java.lang.noclassdeffounderror之类的错误:1、在Android项目根目录下新建一个libs文件夹;2、把你需要的导入的第三方Jar包复制进这个目录;3、在libs目录上点右键,选Bulid path –> Use as source folder。这样就搞定了。很简单。
[2011-11-17 15:40:39 - Doc] Please check logcat output for more details.
[2011-11-17 15:40:39 - Doc] Launch canceled!
因为我在做项目的时候,引用自己封装的jar 包,出现过此类问题,
原因是在封装jar 包的时候,没有把gen/R.java 一起封装。希望对你有帮助。
试了半天 最后把第三主JAR包手在SRC目录下,add to buildpath OK
解决办法如下,不知道是否有普遍性。希望有帮助
http://blog.csdn.net/xxlovexx/article/details/7834395