google-api-java-client NetHttpTransport导致NoClassDefFoundError

时间:2011-05-24 07:26:27

标签: 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();

所以我把它改成了网上的NetHttpTransport()。

import com.google.api.client.http.javanet.NetHttpTransport;
...
   HttpTransport transport = new NetHttpTransport();

但是,我有例外。

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)

这有什么问题?

1 个答案:

答案 0 :(得分:10)

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