google-api-java-client NetHttpTransport导致NoClassDefFoundError

Tom*_*cat 6 android google-api google-api-java-client

我刚开始在Android上学习google-api-java-client.将下3个库添加到项目中.(我不使用Maven.)

  • 谷歌的API客户端-1.4.1-beta.jar
  • 谷歌的API客户端 - googleapis-1.4.1-beta.jar
  • 谷歌的API客户端 - googleapis - 扩展 - 安德烈

并选择了可供使用的示例代码.在示例中,它使用了GoogleTransport,现在似乎无法使用.

HttpTransport transport = GoogleTransport.create();
Run Code Online (Sandbox Code Playgroud)

所以我把它改成了在网上找到的NetHttpTransport().

import com.google.api.client.http.javanet.NetHttpTransport;
...
   HttpTransport transport = new NetHttpTransport();
Run Code Online (Sandbox Code Playgroud)

但是,我得到了例外.

05-24 15:54:33.310: ERROR/AndroidRuntime(4586): java.lang.NoClassDefFoundError: com.google.common.base.Preconditions
05-24 15:54:33.310: ERROR/AndroidRuntime(4586):     at com.google.api.client.util.ClassInfo.<init>(ClassInfo.java:324)
05-24 15:54:33.310: ERROR/AndroidRuntime(4586):     at com.google.api.client.util.ClassInfo.of(ClassInfo.java:77)
05-24 15:54:33.310: ERROR/AndroidRuntime(4586):     at com.google.api.client.util.GenericData.<init>(GenericData.java:44)
05-24 15:54:33.310: ERROR/AndroidRuntime(4586):     at com.google.api.client.http.HttpHeaders.<init>(HttpHeaders.java:37)
05-24 15:54:33.310: ERROR/AndroidRuntime(4586):     at com.google.api.client.http.HttpTransport.<init>(HttpTransport.java:82)
05-24 15:54:33.310: ERROR/AndroidRuntime(4586):     at com.google.api.client.http.javanet.NetHttpTransport.<init>(NetHttpTransport.java:35)
05-24 15:54:33.310: ERROR/AndroidRuntime(4586):     at net.DailyTimer.test.MainActivity.onCreate(MainActivity.java:290)
Run Code Online (Sandbox Code Playgroud)

这有什么问题?

Val*_*her 10

正如您在错误中看到的那样,您有一个缺少的类,来自Guava.您可以下载guava lib并将其添加到类路径中,也可以使用maven(或Ivy)来管理您的依赖项.