Mohammad Rababah
Mohammad Rababah

Reputation: 1726

Google Calendar java.lang.NoClassDefFoundError

I am trying to develop calendar app using Google Calendar API

But the app crash on:

HttpTransport transport = AndroidHttp.newCompatibleTransport();

and this is snapshot of LogCat:

12-01 08:38:42.077: E/AndroidRuntime(24242): FATAL EXCEPTION: main
12-01 08:38:42.077: E/AndroidRuntime(24242): java.lang.NoClassDefFoundError: com.google.api.client.extensions.android.http.AndroidHttp
12-01 08:38:42.077: E/AndroidRuntime(24242):    at com.google.api.services.samples.calendar.android.CalendarSampleActivity.<init>(CalendarSampleActivity.java:100)
12-01 08:38:42.077: E/AndroidRuntime(24242):    at java.lang.Class.newInstanceImpl(Native Method)
12-01 08:38:42.077: E/AndroidRuntime(24242):    at java.lang.Class.newInstance(Class.java:1319)
12-01 08:38:42.077: E/AndroidRuntime(24242):    at android.app.Instrumentation.newActivity(Instrumentation.java:1071)
12-01 08:38:42.077: E/AndroidRuntime(24242):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2171)
12-01 08:38:42.077: E/AndroidRuntime(24242):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2309)
12-01 08:38:42.077: E/AndroidRuntime(24242):    at android.app.ActivityThread.access$700(ActivityThread.java:157)
12-01 08:38:42.077: E/AndroidRuntime(24242):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1289)
12-01 08:38:42.077: E/AndroidRuntime(24242):    at android.os.Handler.dispatchMessage(Handler.java:99)
12-01 08:38:42.077: E/AndroidRuntime(24242):    at android.os.Looper.loop(Looper.java:176)
12-01 08:38:42.077: E/AndroidRuntime(24242):    at android.app.ActivityThread.main(ActivityThread.java:5317)
12-01 08:38:42.077: E/AndroidRuntime(24242):    at java.lang.reflect.Method.invokeNative(Native Method)
12-01 08:38:42.077: E/AndroidRuntime(24242):    at java.lang.reflect.Method.invoke(Method.java:511)
12-01 08:38:42.077: E/AndroidRuntime(24242):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
12-01 08:38:42.077: E/AndroidRuntime(24242):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
12-01 08:38:42.077: E/AndroidRuntime(24242):    at dalvik.system.NativeStart.main(Native Method)

and my code is:

GoogleAccountCredential credential;
Calendar client;
JsonFactory jsonFactory = GsonFactory.getDefaultInstance();
HttpTransport transport = AndroidHttp.newCompatibleTransport();
    credential =
        GoogleAccountCredential.usingOAuth2(this, Collections.singleton(CalendarScopes.CALENDAR));
    SharedPreferences settings = getPreferences(Context.MODE_PRIVATE);
    credential.setSelectedAccountName(settings.getString(PREF_ACCOUNT_NAME, null));
    // Calendar client
    client = new com.google.api.services.calendar.Calendar.Builder(
        transport, jsonFactory, credential).setApplicationName("Google-CalendarAndroidSample/1.0")
        .build();

Upvotes: 0

Views: 365

Answers (1)

Shyam
Shyam

Reputation: 6444

If you already included google http client android jar into your Android project, then you just do the following steps in your Eclipse environment.

  1. Right click on your project in the project’s panel.
  2. Select “Properties” option.
  3. In the Properties window, Click on “Java Build Path”.
  4. In the right side of that window, select “Libraries” tab.
  5. Click on “Add External JARs” button and add this library where you have saved previously.
  6. Now click on “Order and Export” tab and check on “JarName.jar” Click on “Ok”.

Upvotes: 1

Related Questions