Domanda

Sto cercando di costruire un semplice cliente OAuth per Android in Eclipse.

Ho seguito le istruzioni da code.google.com/p/google-api-java-client/wiki/setup

Scaricato il file zip e aggiunto google-api-client-1.6.0-beta.jar al mio percorso di costruzione in Eclipse. Tutte le 13 dipendenze ora vengono visualizzate sotto le librerie di riferimento come mostrato di seguito.Eclipse Projec

Il codice è semplice. Ho appena fatto le seguenti modifiche all'attività predefinita.

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();
}
}

Continuo a ricevere questo dannato errore. :(

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)
È stato utile?

Soluzione

Quindi alla fine l'ho capito da solo.

Sebbene Eclipse mostri tutte le librerie dipendenti sotto librerie di riferimento, non vengono aggiunti all'APK finale. Bisogna aggiungere esplicitamente ciascuno di essi al percorso di build uno per uno.

Anche l'aggiunta di tutte le LIB dipendenti da ZIP creerà conflitti poiché alcune di queste API fanno già parte del framework Android. Non hanno bisogno di essere aggiunti.

Altri suggerimenti

Invece di aggiungere direttamente il riferimento dalla diversa cartella, prova a creare la cartella LIB e posizionalo nella cartella dell'applicazione dell'area di lavoro e quindi prova a fare riferimento, verrà risolto. Ho rimosso il mio errore facendo lo stesso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top