大家好!先看出错提示吧(编译过,运行时出错)
02-02 08:07:27.485: E/dalvikvm(1598): Could not find class 'java.awt.Dimension', referenced from method org.apache.poi.hslf.usermodel.SlideShow.getPageSize环境:虚拟设备 Android2.3.3 
      XP 下 Eclipse 调试详细:
我想在Android上播放PPT,上次论坛问后知道用POI库可以搞定,所以就下载来去做了。然后我在网上找到了相应代码,原来是JAVA代码,可以提取出 PPT 中的图片并保存为JPG。我新建JAVA工程用这段代码加导入对就的POI的JAR后,成功了。最后我把代码复制到 Android 工程中,编译也过了。但是安装到AVD中运行后,出错了。一大堆,第一个error就是开始给出的那个log。后面还有好几条也是找不到 java.awt.** 类有关的。I DO:
我上网找来 Dimension 类导入工程,但这个类又调用了其它 java.awt包中的类,有的还是C类。所以不知道怎么办了。各个前辈这个问题怎么办啊?

解决方案 »

  1.   

    'java.awt.Dimension'  这个类是jdk自带的啊,把外面拷的都删了重新编译一下,
    还有配一下Eclipse的jre,jdk
      

  2.   

    在Android中已经没有java.awt这个包了。
    话说你用来做什么?都不是Java那种编写界面的方法了。
      

  3.   

    谢谢LS几位!
    确实像4楼说的,Android中没有这个包了。然后我按1楼的方法,在Android工程的属性/JAVA Build Path 中加了JRE SYSTEM LIBRARY(JDK1.7.0_01)。
    然后在项目中导入 import java.awt.Dimension; 编译通过,说明可以导入这个类,只不过提示没有使用的类(这个类是导入的POI类库中有使用)。可是最后运行时,LOG 提示还是一样的错。
    现照二楼要求复制下log:
    02-03 00:43:35.533: E/dalvikvm(371): Could not find class 'java.awt.Dimension', referenced from method org.apache.poi.hslf.usermodel.SlideShow.getPageSize
    02-03 00:43:35.533: W/dalvikvm(371): VFY: unable to resolve new-instance 28 (Ljava/awt/Dimension;) in Lorg/apache/poi/hslf/usermodel/SlideShow;
    02-03 00:43:35.543: D/dalvikvm(371): VFY: replacing opcode 0x22 at 0x0018
    02-03 00:43:35.543: D/dalvikvm(371): VFY: dead code 0x001a-001d in Lorg/apache/poi/hslf/usermodel/SlideShow;.getPageSize ()Ljava/awt/Dimension;
    02-03 00:43:35.573: W/dalvikvm(371): VFY: unable to find class referenced in signature (Ljava/awt/Dimension;)
    02-03 00:43:35.573: W/dalvikvm(371): VFY: unable to resolve instance field 9
    02-03 00:43:35.583: D/dalvikvm(371): VFY: replacing opcode 0x52 at 0x0006
    02-03 00:43:35.583: D/dalvikvm(371): VFY: dead code 0x0008-001a in Lorg/apache/poi/hslf/usermodel/SlideShow;.setPageSize (Ljava/awt/Dimension;)V
    02-03 00:43:35.643: W/dalvikvm(371): VFY: unable to find class referenced in signature (Ljava/awt/Color;)
    02-03 00:43:35.643: W/dalvikvm(371): VFY: unable to find class referenced in signature (Ljava/awt/Color;)
    02-03 00:43:35.666: E/dalvikvm(371): Could not find class 'java.awt.Color', referenced from method org.apache.poi.hslf.usermodel.RichTextRun.getBulletColor
    02-03 00:43:35.683: E/dalvikvm(371): Could not find class 'java.awt.Color', 02-03 00:43:35.713: E/dalvikvm(371): Could not find class 'java.awt.Color', 02-03 00:43:35.723: E/dalvikvm(371): Could not find class 'java.awt.Color', referenced from method org.apache.poi.hslf.usermodel.RichTextRun.setFontColor
    02-03 00:43:37.453: E/dalvikvm-heap(371): Out of memory on a 489889-byte allocation.
    02-03 00:43:37.584: E/AndroidRuntime(371): FATAL EXCEPTION: main
    02-03 00:43:37.584: E/AndroidRuntime(371): java.lang.OutOfMemoryError
    02-03 00:43:37.584: E/AndroidRuntime(371):  at org.apache.poi.hslf.HSLFSlideShow.readPictures(HSLFSlideShow.java:380)
    02-03 00:43:37.584: E/AndroidRuntime(371):  at org.apache.poi.hslf.HSLFSlideShow.getPictures(HSLFSlideShow.java:598)
    02-03 00:43:37.584: E/AndroidRuntime(371):  at org.apache.poi.hslf.usermodel.SlideShow.getPictureData(SlideShow.java:476)
    02-03 00:43:37.584: E/AndroidRuntime(371):  at com.dclchj.android.PptActivity.OutPutPicture(PptActivity.java:44)
    02-03 00:43:37.584: E/AndroidRuntime(371):  at com.dclchj.android.PptActivity.onCreate(PptActivity.java:29)
    02-03 00:43:37.584: E/AndroidRuntime(371):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    02-03 00:43:37.584: E/AndroidRuntime(371):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
    02-03 00:43:37.584: E/AndroidRuntime(371):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
    02-03 00:43:37.584: E/AndroidRuntime(371):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
    02-03 00:43:37.584: E/AndroidRuntime(371):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
    02-03 00:43:37.584: E/AndroidRuntime(371):  at android.os.Handler.dispatchMessage(Handler.java:99)
    02-03 00:43:37.584: E/AndroidRuntime(371):  at android.os.Looper.loop(Looper.java:123)
    02-03 00:43:37.584: E/AndroidRuntime(371):  at android.app.ActivityThread.main(ActivityThread.java:3683)
    02-03 00:43:37.584: E/AndroidRuntime(371):  at java.lang.reflect.Method.invokeNative(Native Method)
    02-03 00:43:37.584: E/AndroidRuntime(371):  at java.lang.reflect.Method.invoke(Method.java:507)
    02-03 00:43:37.584: E/AndroidRuntime(371):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
    02-03 00:43:37.584: E/AndroidRuntime(371):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
    02-03 00:43:37.584: E/AndroidRuntime(371):  at dalvik.system.NativeStart.main(Native Method)
    02-03 00:48:37.703: I/Process(371): Sending signal. PID: 371 SIG: 9
      

  4.   

    开个新帖吧,问题暂时没解决:http://topic.csdn.net/u/20120203/11/a129458f-1c9c-4989-8b94-1c91991bcff7.html