2015-01-27 16 views
11

Sto provando a eseguire la mia app su un emulatore. Funzionava ma ora non si carica correttamente. L'errore di debug che ottengo è:Android Studio static = libcore.io.Posix ENOENT exception

static = libcore.io.Posix 
    Exception = {[email protected]} 

Quando mi fate clic destro sulla linea di eccezione e Copia Valore ottengo:

android.system.ErrnoException: stat failed: ENOENT (No such file or directory) 

mia app non ha un file io programmato in modo l'eccezione deve riguardare qualcosa che il sistema richiede.

Guardando indietro nel LogCat ho un fiammifero per ENOENT, diverse linee di prima sono:

com.google.process.location W/art? Suspending all threads took: 7.795ms 
com.google.process.location I/art? Background partial concurrent mark sweep GC freed 2094(165KB) AllocSpace objects, 0(0B) LOS objects, 40% free, 3MB/5MB, paused 9.486ms total 274.854ms 
com.google.process.location I/GCoreUlr? DispatchingService.onCreate() 
com.google.process.location I/GCoreUlr? WorldUpdater received intent Intent { act=com.google.android.location.reporting.ACTION_UPDATE_WORLD cmp=com.google.android.gms/com.google.android.location.reporting.service.DispatchingService (has extras) } with receiverAction android.location.PROVIDERS_CHANGED 
com.google.process.location E/copresGcore? Couldn't load settings: /data/data/com.google.android.gms/files/copresence_settings: open failed: ENOENT (No such file or directory) 

non riesco a vedere quale file che non può leggere/scrivere. Non ho programmato un I/O, ma sto usando sqlite3, forse il sistema non riesce a trovare il file del database.

Per ottenere un certo sollievo da questo errore per un po 'ho creato un nuovo progetto in Android Studio. Arrestare AS e copiare i miei file di origine nel nuovo progetto AS. Poi, quando ho eseguito il nuovo progetto, l'errore era sparito. È tornato dopo diverse ore di programmazione e modifica.

Ho cercato soluzioni su Internet per 2 giorni senza successo. Qualsiasi aiuto sarebbe apprezzato.

Ulteriori dettagli:
Se eseguo (non eseguo il debug) l'app sull'emulatore o sul dispositivo funziona.
Se eseguo/debug sull'emulatore o sul dispositivo si blocca con la stessa eccezione di libcore.
Conclusione della parte: è qualcosa a che fare con il debug.

ho pensato che ero imbattuto in una soluzione:

  1. ho chiuso l'AVD esistente
  2. Ho eseguito l'AVD dal responsabile di AS AVD
  3. ho reinstallato l'applicazione: adb install -r C: \ Users ... \ app-debug.apk
  4. ho eseguito l'applicazione da AS premendo il pulsante di debug

questo ha funzionato una volta, quindi l'appea errore libcore rosso. Questa soluzione alternativa non è buona, anche se ha funzionato, poiché il ciclo di esecuzione/ciclo di modifica è troppo lungo.

Penso che l'unico modo sia per il punto di interruzione della fonte di Google per determinare su cosa si sta facendo eccezione. Ho passato molto tempo a cercare su Internet per scoprire come farlo senza successo. Se qualcuno può indicarmi articoli pertinenti, sarei grato.

risposta

27

Ho sollevato il problema di Android Open Source Project 126510. I commenti di jcossi ... @ gmail.com hanno dato la risposta. Avevo attivato "Java Exception Breakpoints" con "Qualsiasi eccezione" selezionata. Ciò ha causato il problema quando ho riavviato il progetto. Sembra che le applicazioni possano utilizzare la gestione delle eccezioni non solo per gli errori. Quindi, se si utilizza "Qualsiasi eccezione", assicurarsi di ricordarsi di disattivarlo di nuovo AL PIÙ PRESTO.

example of dialog

+2

Che scherzo! :( – Renetik

0

Questa risposta mi ha aiutato molto, ma ho scoperto che avevo di deselezionare alcuni degli altri campi sul lato destro della casella.

sembra che questo dovrebbe essere un bug in Android Studio - utilizzando una funzionalità fornita disabilita il debugger, senza alcun motivo apparente o di avvertimento.