2015-03-26 10 views
5

Sono nuovo di Android dev in modo che possa mancare qualcosa di ovvio che posso provare.Debugger di Android Studio che utilizza la vecchia versione del codice, non aggiornato

Sto tentando di eseguire il debug di alcuni codici ma il debugger sta passando la vecchia versione del codice e non la versione corrente nel mio progetto.

wrong debug line Chiaramente ha saltato oltre la mia eccezione 'tiro' e in codice commentato

ho provato:

  • disinstallazione del apk precedente installata sul dispositivo
  • Rebuild/pulito
  • Utilizzo di Genymotion e un dispositivo reale (Gingerbread)
  • adb kill-server
  • Riavvia E. Studio
  • domande simili su così

Questo è in realtà il v9 demo CWAC, quindi è un applicazione demo che utilizza la libreria 'fotocamera', ed è nel progetto di libreria fotocamera CWAC che io sono il debug.

Ciò che non mi è chiaro è dove e cosa è stato creato da gradle, quindi non ho "ripulito" nulla da Windows Explorer. Non riesco nemmeno a controllare le date dei file ...

Quali suggerimenti potete darmi per favore come verificare che l'ultimo codice sia in uscita sul dispositivo?

Grazie.

+0

Ho lo stesso problema. hai avuto fortuna? – Dave

+0

Ho trovato i file di cache in C: \ Users \ Jim \ .gradle \ caches \ modules-2 \ files-2.1 e li ho cancellati - non appena riesco a connettere nuovamente il debugger all'emulatore, lo farò scopri se fa la differenza :) –

+0

@Guarda ok, apparentemente no, anche se i file della cache erano sospettosamente vecchi ... Continuerò a battere la testa contro il muro –

risposta

1

Essendo un principiante Android e contro la complessità dell'IDE/gradle (vorrei che fosse più simile a Visual Studio!), È stato difficile per me trovare il problema, ma l'ho fatto ed è stato particolare per il CWAC- Progetto Camera (fresco da GitHub).

FWIW perché è un sistema IDE/build così complesso, sembra che un sacco di questo potrebbe essere interiorizzato (voglio dire, ottenere gradle fuori vista) ..?

SOLUZIONE

File-> Struttura del progetto -> (scegliere il modulo a sinistra che si esegue, per me è camera-v9) -> (scegliere scheda Dipendenze)

Ci dovrebbe essere un Maven ingresso della libreria per la videocamera CWAC, contrassegnato come Scopo == "Rilascio compilato" e anche una libreria Modulo, ambito == "Debug compilazione".

Ho rimosso la voce della libreria Maven e ho modificato la voce Module in scope == "Compila". Quindi ha funzionato.

Quindi quello che stava succedendo è che al posto del modulo veniva usata la copia di Maven della libreria. Perché?Non sono sicuro perché avrei pensato che l'esecuzione del "debugger" su qualcosa avrebbe reso necessaria la modalità di compilazione "debug". Ho trovato questo, ma non posso seguire la risposta accettata (perché non conosco abbastanza bene l'IDE) Why does Gradle build my module in Release mode when the app is in Debug

Non so se è solo uno scivolone nel progetto demo CWAC, o qualcosa di sbagliato nella mia configurazione. Mi sembra che usare la Maven lib per Release possa produrre risultati inaspettati (ad esempio le personalizzazioni sono svanite).

Detto questo, CWAC sembra essere un risparmiatore di vita e sono molto grato per questo!

1

Prova questo. Apri il file build.gradle dell'app e apporta una modifica (aggiungi solo uno spazio bianco). Quindi, fai clic sul pulsante "Sincronizza ora" nell'angolo in alto a destra.

Non sono sicuro di cosa stia succedendo con il caching, ma questo mi sembrava di sistemarlo per me.

+0

Grazie, ma non l'ho risolto per me. –

Problemi correlati