6
votes

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?

1
I'm using the example same line of code HttpTransport transport = new NetHttpTransport(); but I'm getting a ClassCastException. Did you run into that at all? - Will Tate

1 Answers

10
votes

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.