Невозможно скомпилировать простое приложение Google API Android с Eclipse

StackOverflow https://stackoverflow.com/questions/8366690

Вопрос

Я пытаюсь создать простого клиента OAuth для Android в Eclipse.

Я следовал инструкциям из code.google.com/p/google-api-java-client/wiki/setup

Загрузил файл ZIP и добавил google-api-client-1.6.0-beta.jar к моему пути строительства в затмении. Все 13 зависимостей теперь отображаются в соответствии с ссылочными библиотеками, как показано ниже.Eclipse Projec

Код прост. Я только что сделал следующие изменения в действии по умолчанию.

public class Testing1Activity extends Activity {
/** Called when the activity is first created. */

final String                TAG             = getClass().getName();
public static final String  CLIENT_ID       = "";
public static final String  CLIENT_SECRET   = "";
public static final String  REDIRECT_URI    = "";
public static final String  SCOPE           = "https://www.googleapis.com/auth/latitude.all.best";

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Json s = new Json();

    String authorizationUrl = new GoogleAuthorizationRequestUrl(CLIENT_ID, REDIRECT_URI, SCOPE)
            .build();
}
}

Я продолжаю получать эту чертову ошибку. :(

W/dalvikvm(  591): Unable to resolve superclass of Lcom/google/api/client/googleapis/auth/oauth2/draft10/GoogleAuthorizationRequestUrl; (18)
W/dalvikvm(  591): Link of class 'Lcom/google/api/client/googleapis/auth/oauth2/draft10/GoogleAuthorizationRequestUrl;' failed
E/dalvikvm(  591): Could not find class 'com.google.api.client.googleapis.auth.oauth2.draft10.GoogleAuthorizationRequestUrl', referenced from method com.rahul.Testing1Activity.onCreate
W/dalvikvm(  591): VFY: unable to resolve new-instance 37 (Lcom/google/api/client/googleapis/auth/oauth2/draft10/GoogleAuthorizationRequestUrl;) in Lcom/rahul/Testing1Activity;
D/dalvikvm(  591): VFY: replacing opcode 0x22 at 0x000d
D/dalvikvm(  591): VFY: dead code 0x000f-001c in Lcom/rahul/Testing1Activity;.onCreate (Landroid/os/Bundle;)V
D/AndroidRuntime(  591): Shutting down VM
W/dalvikvm(  591): threadid=1: thread exiting with uncaught exception (group=0x40015560)
E/AndroidRuntime(  591): FATAL EXCEPTION: main
E/AndroidRuntime(  591): java.lang.NoClassDefFoundError: com.google.api.client.googleapis.auth.oauth2.draft10.GoogleAuthorizationRequestUrl
E/AndroidRuntime(  591):    at com.rahul.Testing1Activity.onCreate(Testing1Activity.java:25)
Это было полезно?

Решение

Так что я наконец понял это сам.

Хотя Eclipse показывает все зависимые LIBS в соответствии с ссылочными библиотеками, они не добавляются к окончательному APK. Нужно явно добавить каждого из них к пути сборки один за другим.

Кроме того, добавление всех зависимых LIBS из ZIP создаст конфликты, поскольку некоторые из этих API уже являются частью Android Framework. Их не нужно добавлять.

Другие советы

Вместо того, чтобы напрямую добавлять ссылку из различной папки, попробуйте создать папку LIB и поместить ее в папку приложения рабочей области, а затем попытайтесь дать ссылку, она будет решена. Я удалил свою ошибку, делая то же самое.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top