Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

google-api-java-client NetHttpTransport causes NoClassDefFoundError

I just started studying google-api-java-client on Android. Added next 3 libraries into project. (I don't use Maven.)

  • google-api-client-1.4.1-beta.jar
  • google-api-client-googleapis-1.4.1-beta.jar
  • google-api-client-googleapis-extensions-andr

And picked sample code to work with. In the sample, it used GoogleTransport which seems not available now.

HttpTransport transport = GoogleTransport.create();

So I changed it to NetHttpTransport(), found on the web.

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

But, I got exception.

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)

What is wrong with this?

like image 553
Tomcat Avatar asked May 24 '11 07:05

Tomcat


1 Answers

As you can see in the error, you have a class missing, coming from Guava. You can either download the guava lib and add it in your classpath, or use maven (or Ivy) to manage your dependencies for you.

like image 56
Valentin Rocher Avatar answered Nov 14 '22 23:11

Valentin Rocher