2012-12-13 5 views
18

Ho un progetto di applicazione Android che improvvisamente ha smesso di funzionare. Non c'è apparentemente alcun errore, ma quando provo a lanciare, ottengo questo:Errore di Eclipse Android durante l'esecuzione di aapt: codice di ritorno 139

Errore durante l'esecuzione aapt: codice di ritorno 139

ho cercato di pulire il progetto e il suo progetto biblioteca dipendente, riavviato Eclipse , aggiornato alle ultime versioni di ADT e SDK, ecc. ma tutti falliti. Ho anche questo altro errore a volte (senza cambiare nulla):

Errore durante la generazione di archivio finale: java.io.FileNotFoundException: .../bin/resources.ap_ non esiste

I sono completamente perso

INFO

Ho passato ore a smontare e rimontare il tutto pezzo per pezzo, e finalmente trovato ciò che causa questi errori, anche se io continuo a non capire niente di meglio ... ho avuto una risorsa come questo :

<resources> 
<integer-array name="titi"> 
<item>@+id/toto</item> 
</integer-array> 
</resources> 

L'ho rimosso e tutto ha funzionato di nuovo ... Ovviamente il file di risorse non ha avuto alcun errore. Mezza giornata persa per niente, questo Eclipse mi sta facendo impazzire 8-/Sono l'unico?

+1

Ottenuto lo stesso errore dopo aver dichiarato un ID in uno stile. Deve essere qualcosa correlato alle risorse ID? – Matthias

+0

Ho appena ricevuto lo stesso errore e ho trascorso un po 'di tempo a rintracciarlo. Per me, il problema è con un com.google.android.gms.maps.MapView e l'ID assegnato ad esso. Dandogli "mapview" funziona, ma "map" no. Nessuno dei due ID viene utilizzato da nessun'altra parte in quel layout specifico, ma entrambi sono utilizzati in altri layout. Sono in procinto di convertire dall'utilizzo della vecchia classe MapView a quella nuova (tutte le vecchie istanze erano "mapview" per l'ID e ho reso le nuove "mappe" per tenere traccia). Questo deve essere qualche strano bug di conflitto di ID? –

+0

Sembra che il mio errore si verifichi se non ho una vista da qualche parte con un ID di "mapview". Ho presentato un errore: http://code.google.com/p/android/issues/detail?id=43100 –

risposta

37

Proprio avuto lo stesso problema e il problema era che io aveva un file di menu all'interno della cartella del menu che aveva un android:title="@string/.." che non esisteva nel mio file di stringhe. Dopo averlo aggiunto e aver fatto il Project > Clean il problema è finito.

+1

Confermato. Ho appena avuto lo stesso incidente. Ho usato "@ string/missing_string" nel menu XML. – WindRider

+4

Infatti. Sembra che ho ripulito (non ho visto la necessità) di una stringa autogenerata: ' Impostazioni' in strings.xml. Riportarlo ha risolto il mio problema. – ronnydw

+2

Grazie, ha avuto lo stesso identico problema ed è difficile da rintracciare su progetti più grandi! –

5

Don utilizzare @+id/... qui:

<?xml version="1.0" encoding="utf-8"?>  
<resources> 
    <integer-array name="titi"> 
    <Item>@+id/Toto</item> 
    </integer-array> 
</resources> 

@+id/... può essere utilizzato solo nelle risorse di layout.

Usa @id/... e generare ID con file di risorse di aiuto in caso di necessità: res/Valori/ids.xml:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <item type="id" name="toto" /> 
</resources> 

http://developer.android.com/guide/topics/resources/more-resources.html#Id

2

Ho appena spostato un progetto dall'utilizzo di Android v7 appcompat support library e ho riscontrato questo problema. Risulta che ho avuto un sacco di file di risorse di menu che stavano ancora utilizzando la versione appcompat di alcune delle loro proprietà.

Ho usato per avere questo:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:compat="http://schemas.android.com/apk/res-auto"> 
    <item 
     android:id="@+id/conversations_activity_menu_contacts" 
     android:title="@string/contacts" 
     compat:showAsAction="ifRoom|withText" /> 
</menu> 

Ma poi risolto il problema da loro cambiando a questo:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:id="@+id/conversations_activity_menu_contacts" 
     android:showAsAction="ifRoom|withText" 
     android:title="@string/contacts" /> 
</menu> 
2

Hit lo stesso problema, dopo un'ora o così di giocare la questione è stata rintracciato in una singola citazione "", essendo presente in una risorsa. Rimosso il preventivo e l'errore è andato via.

Problemi correlati