【发布时间】:2014-02-02 08:16:28
【问题描述】:
我已经在我的 Eclipse (ADT eclipse) 中导入了 S3Uploader 示例,我正在尝试运行它。
我已经导入了项目,然后添加了以下 jars 项目 > 属性 > java 构建路径 > 添加 jars
02/02/2014 01:24 PM 6,376,630 aws-android-sdk-1.7.1.1-debug.jar 2014 年 2 月 2 日下午 1:14 281,550 aws-android-sdk-1.7.1.1-s3.jar 02/02/2014 01:24 PM 5,587,005 aws-android-sdk-1.7.1.1.jar
项目编译和构建很好。但是当我运行它时,它会给出以下异常
02-02 13:39:03.151: E/dalvikvm(20716): Could not find class 'com.amazonaws.services.s3.AmazonS3Client', referenced from method com.amazonaws.demo.s3uploader.S3UploaderActivity.<init>
02-02 13:39:03.151: W/dalvikvm(20716): VFY: unable to resolve new-instance 40 (Lcom/amazonaws/services/s3/AmazonS3Client;) in Lcom/amazonaws/demo/s3uploader/S3UploaderActivity;
02-02 13:39:03.151: D/dalvikvm(20716): VFY: replacing opcode 0x22 at 0x0004
02-02 13:39:03.151: D/dalvikvm(20716): VFY: dead code 0x0006-0018 in Lcom/amazonaws/demo/s3uploader/S3UploaderActivity;.<init> ()V
02-02 13:39:03.161: W/dalvikvm(20716): VFY: unable to find class referenced in signature (Lcom/amazonaws/services/s3/AmazonS3Client;)
02-02 13:39:03.161: W/dalvikvm(20716): VFY: unable to resolve static field 33 (US_WEST_2) in Lcom/amazonaws/regions/Regions;
02-02 13:39:03.161: D/dalvikvm(20716): VFY: replacing opcode 0x62 at 0x0005
02-02 13:39:03.161: D/dalvikvm(20716): VFY: dead code 0x0007-003c in Lcom/amazonaws/demo/s3uploader/S3UploaderActivity;.onCreate (Landroid/os/Bundle;)V
02-02 13:39:03.161: D/AndroidRuntime(20716): Shutting down VM
02-02 13:39:03.161: W/dalvikvm(20716): threadid=1: thread exiting with uncaught exception (group=0x4001d5a0)
02-02 13:39:03.161: E/AndroidRuntime(20716): FATAL EXCEPTION: main
02-02 13:39:03.161: E/AndroidRuntime(20716): java.lang.NoClassDefFoundError: com.amazonaws.services.s3.AmazonS3Client
02-02 13:39:03.161: E/AndroidRuntime(20716): at com.amazonaws.demo.s3uploader.S3UploaderActivity.<init>(S3UploaderActivity.java:45)
02-02 13:39:03.161: E/AndroidRuntime(20716): at java.lang.Class.newInstanceImpl(Native Method)
02-02 13:39:03.161: E/AndroidRuntime(20716): at java.lang.Class.newInstance(Class.java:1409)
02-02 13:39:03.161: E/AndroidRuntime(20716): at android.app.Instrumentation.newActivity(Instrumentation.java:1040)
02-02 13:39:03.161: E/AndroidRuntime(20716): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1777)
02-02 13:39:03.161: E/AndroidRuntime(20716): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1893)
02-02 13:39:03.161: E/AndroidRuntime(20716): at android.app.ActivityThread.access$1500(ActivityThread.java:135)
02-02 13:39:03.161: E/AndroidRuntime(20716): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1054)
02-02 13:39:03.161: E/AndroidRuntime(20716): at android.os.Handler.dispatchMessage(Handler.java:99)
02-02 13:39:03.161: E/AndroidRuntime(20716): at android.os.Looper.loop(Looper.java:150)
02-02 13:39:03.161: E/AndroidRuntime(20716): at android.app.ActivityThread.main(ActivityThread.java:4385)
02-02 13:39:03.161: E/AndroidRuntime(20716): at java.lang.reflect.Method.invokeNative(Native Method)
02-02 13:39:03.161: E/AndroidRuntime(20716): at java.lang.reflect.Method.invoke(Method.java:507)
02-02 13:39:03.161: E/AndroidRuntime(20716): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)
02-02 13:39:03.161: E/AndroidRuntime(20716): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607)
02-02 13:39:03.161: E/AndroidRuntime(20716): at dalvik.system.NativeStart.main(Native Method)
我也看过AWS SDK NoClassDefFoundError: com.amazonaws.services.s3.AmazonS3Client
它也说明了我已经做过的事情。
我该如何解决?
【问题讨论】:
-
在你的构建路径中,为了和导出,是否检查了库?
-
当我尝试在“订购和导出”中勾选亚马逊库时,由于内存不足问题,我的项目无法运行,我需要重新启动 Eclipse...
-
...我按照此处的步骤解决了这个问题,以增加 Eclipse 可用的堆大小:wiki.eclipse.org/…
标签: java android amazon-web-services amazon-s3