2016-04-23 15 views
5

Ho riscontrato un problema che sembra avere qualcosa a che fare con le librerie di Android Studio.
Sto avendo compilazione errori come:Android Studio E/dalvikvm: Impossibile trovare la classe ... con riferimento al metodo

Impossibile trovare la classe 'android.os.PersistableBundle riferimento dal metodo com.example.jack.test1.MainActivity.access $ super', Impossibile trovare la classe Android'. app.SharedElementCallback referenziato dal metodo com.example.jack.test1.MainActivity.access $ super ', Impossibile trovare la classe' android.app.ActivityManager $ TaskDescription.

L'app funziona ancora normalmente ma quando si tratta di eseguire un determinato evento di pulsante, smette di funzionare. Il mio amico ha lo stesso codice esatto di me, ma nel mio caso non funziona. Ho provato ad aggiornare a un livello API più recente e ho provato una versione di plugin gradle diversa ma il problema persisteva. Grazie

in esecuzione Android Studio 2.0
versione Gradle 2.10
min SDK 4.0

risposta

0

ho affrontato lo stesso problema. Il problema è dovuto alla differenza tra la versione degli strumenti di sviluppo di Android e la versione della libreria di supporto Android (appcompat).

è possibile risolvere questo problema, sia aggiornare la versione tool di creazione e sostenere versione della libreria di ultima o si dovrebbe utilizzare una libreria appcompat che è inferiore al strumenti di compilazione versione e modificarlo nel file Gradle.

È possibile ottenere tutte le revisioni della libreria di supporto da here

Per ottenere e aggiornare la vostra versione costruire e sostenere versione della libreria si prega di controllare il file build.gradle all'interno del modulo di applicazione

+0

Grazie per la punta, benche ho copiato il file esattamente build.gradle del mio amico (app) sincronizzati, ma per qualche motivo ancora rimanevano il problema:/ –

2

ho ottenuto questo errore in Android Studio v2.0 durante la creazione di un figlio vuoto di AppCompatActivity dalla libreria di supporto (v7-appcompat). Sembra che il problema si sia verificato quando gli strumenti di compilazione (Gradle v2.1.0, plug-in Android v2.10) sono stati aggiornati a dopo il l'aggiornamento della relativa libreria di supporto (v23.3.0).

La mia soluzione:

  • rimuovere il riferimento dipendenze supporto-libreria dal mio file build.gradle a livello di modulo (s)
  • Pulire il Progetto
  • Restart Android Studio (forse opzionale)
  • Aggiungere la libreria di supporto indietro tramite Struttura del progetto> Dipendenze

Sembra funzionare fino a questo punto, anche se in futuro sarebbe bello poter specificare un ordine di aggiornamento o impostare un tipo di accada, prima della gerarchia per le librerie/impostazioni che dipendono dagli strumenti di costruzione.

+0

hey @MandisaW, la prego di aiutarmi per quanto riguarda la rimozione e updation di biblioteche? –

+0

Prova ad andare alla finestra File> Struttura del progetto .... Dovrebbe esserci un elenco sulla sinistra, con i moduli dell'app in fondo all'elenco. Ad esempio, il mio modulo principale è "app". Fare clic sul modulo principale, quindi ci dovrebbero essere diverse schede nella finestra - si desidera "dipendenze". Da lì è un elenco + (aggiungi)/- (rimuovi) standard. Le librerie del supporto Android sono aggiunte come "dipendenza dalla libreria" e ogni libreria creata dall'utente viene aggiunta come "dipendenza del modulo". Spero possa aiutare. – MandisaW

0

Abilitare Multidex ha risolto il problema per me. Una spiegazione più dettagliata può essere trovata alla mia risposta su una domanda simile su here.

0

Quello che penso risolto i problemi per me (dopo aver provato in precedenza suggerimenti) Shrink il codice e utilizzare regole progaurd spiegato ufficialmente here

Come io sono novizio di Android Studio, feltro che il mio progetto, anche se un'app molto piccola, potrebbe essere gonfiato da più inclusioni di librerie sperimentali + così tanti commenti (e codice inattivo all'interno) che causano 64K? (nopeIguess), riferimenti illegittimi (possibilmente!); solo una supposizione intuitiva dopo aver letto la risposta di @PKuijpers (grazie!). E onestamente non volevo includere il multiDex perché dopo aver letto anche il documento ufficiale, ero sicuro che la mia app non fosse PokemonGo o NFS o abbastanza grande da qualificarsi per il multidex.

Problemi correlati