Android 执行驱动器文件列表.execute()会导致ClassNotFoundException

Android 执行驱动器文件列表.execute()会导致ClassNotFoundException,android,google-api,google-drive-api,Android,Google Api,Google Drive Api,我一直在尝试将从Google Drive读取数据合并到我的Android应用程序中。我按照示例应用程序(DriveQuickstart-)的说明开始,遇到了相同的错误。问题是当我调用fileList.execute()时;在下面的代码中,调试器抱怨BaseDexClassLoader抛出了ClassNotFoundException。如果捕获此异常并打印消息,它会告诉我参数字符串不应为null。我确保我已经按照所有的方向设置了项目,因为我确信这是我的环境出了问题。我已经使用了Java构建路径和这

我一直在尝试将从Google Drive读取数据合并到我的Android应用程序中。我按照示例应用程序(DriveQuickstart-)的说明开始,遇到了相同的错误。问题是当我调用fileList.execute()时;在下面的代码中,调试器抱怨BaseDexClassLoader抛出了ClassNotFoundException。如果捕获此异常并打印消息,它会告诉我参数字符串不应为null。我确保我已经按照所有的方向设置了项目,因为我确信这是我的环境出了问题。我已经使用了Java构建路径和这个项目的Android目标(目前设置为Android+GoogleAPI),但没有任何帮助。任何想法都将不胜感激

    private void downloadFile() {
    Thread t = new Thread(new Runnable() {
      @Override
      public void run() {
        try {
            Files.List fileList = service.files().list().setQ("title = 'tester'");
            FileList files = fileList.execute();  //This line causes an exception when executed.
              ArrayList<File> myFiles = new ArrayList<File>(1);
              myFiles.addAll(files.getItems());
              File file = myFiles.get(0);
              InputStream inStream = downloadFile(service,file);
              String docText = convertStreamToString(inStream);
              Log.v("TAG", docText);
          }
          catch (UserRecoverableAuthIOException e) {
          startActivityForResult(e.getIntent(), REQUEST_AUTHORIZATION);
        } catch (IOException e) {
          e.printStackTrace();
        } catch (Exception e) {
            System.out.println(e.toString() );
        }
      }
    });
    t.start();
  }

}

使用伯德曼自己的解决方案,我得到了一个部分,其中我还添加了一个额外的捕获(例外e)来工作。尽管这可能只是一个半解

更新:我发现,如果我挂起线程的错误刚刚被吞没,驱动器快速启动应用程序就会工作。我注意到该应用程序在运行而未调试时工作正常。我在引起问题的那一行之后添加了一个额外的“catch”,现在我可以调试代码了,它工作得很好。但我觉得奇怪的是,这一例外似乎发生了,必须予以忽略鸟人1月23日20:06


从Eclipse菜单中选择项目>属性>Java构建路径>库

您是否尝试过在[java build path]的[order and export]上检查Android私有库


或者更新到最新的android sdk和google api版本?

您是否尝试过遵循视频教程?抛出ClassNotFoundException是因为某些JAR丢失是的,我观看了视频教程,多次重新创建项目,但都出现了相同的错误,即使是样例项目。我想它是在Windows7机器上运行的,但我无法避免在这台XP机器上出现这种异常。如果您使用的是emulator,我还建议您使用真正的设备重试我正在使用真正的设备Droid RAZR with Android 4.0.4。我想可能是我的手机,但驱动程序在上面运行得很好。不知怎的,“驱动器快速启动”应用程序只运行过一次!但是尝试重现工作结果是徒劳无益的,在.execute()之后仍然存在类not found异常。我现在尝试在两台不同的机器上创建示例项目,但遇到了相同的问题,我每次都按照说明操作。
  private void saveFileToDrive() {
Thread t = new Thread(new Runnable() {
  @Override
  public void run() {
    try {
      // File's binary content
      java.io.File fileContent = new java.io.File(fileUri.getPath());
      FileContent mediaContent = new FileContent("image/jpeg", fileContent);

      // File's metadata.
      File body = new File();
      body.setTitle(fileContent.getName());
      body.setMimeType("image/jpeg");

      File file = service.files().insert(body, mediaContent).execute(); //Same exception encountered
      if (file != null) {
        showToast("Photo uploaded: " + file.getTitle());
        startCameraIntent();
      }
    } catch (UserRecoverableAuthIOException e) {
      startActivityForResult(e.getIntent(), REQUEST_AUTHORIZATION);
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
});
t.start();