Невозможно скомпилировать простое приложение Google API Android с Eclipse
-
27-10-2019 - |
Вопрос
Я пытаюсь создать простого клиента OAuth для Android в Eclipse.
Я следовал инструкциям из code.google.com/p/google-api-java-client/wiki/setup
Загрузил файл ZIP и добавил google-api-client-1.6.0-beta.jar
к моему пути строительства в затмении. Все 13 зависимостей теперь отображаются в соответствии с ссылочными библиотеками, как показано ниже.
Код прост. Я только что сделал следующие изменения в действии по умолчанию.
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 и поместить ее в папку приложения рабочей области, а затем попытайтесь дать ссылку, она будет решена. Я удалил свою ошибку, делая то же самое.