2014-06-27 12 views
7

Ho il mio progetto build.gradle situato nella directory myApp/app/. AndroidManifest.xml è nella directory myApp/app/src/main, allo stesso livello delle directory java/ e res/.In che modo il plug-in gradle di Android Studio gestisce i file di risorse (AndroidManifest.xml)?

Durante la sincronizzazione del progetto, ricevo la notifica relativa al file manifest mancante. Non c'è da stupirsi, in realtà, quando il percorso è davvero scorretto. Il file sorgente è impostato come:

sourceSets { 
    main { 
     manifest.srcFile 'src/main/AndroidManifest.xml' 
    } 
} 

e la notifica di errore dice:

Error:Cause: java.io.FileNotFoundException: /home/aqv/AndroidStudioProjects/myApp/src/main/AndroidManifest.xml (No such file or directory)

quando cambio la fonte a:

sourceSets { 
    main { 
     manifest.srcFile 'main/AndroidManifest.xml' 
    } 
} 

il testo cambia a:

Error:Cause: java.io.FileNotFoundException: /home/aqv/AndroidStudioProjects/myApp/app/main/AndroidManifest.xml (No such file or directory)

Come si può vedere, manca il frammento del percorso: myApp/app/src/ (quando si imposta il percorso src/main/AndroidManifest.xml, si dice l'errore sulla ricerca del file manifest in myApp/src/main, quindi si omette la directory app/).

È una specie di bug di gradle o il mio progetto non è configurato correttamente?

Alla ricerca di una soluzione Ho trovato una discussione in SO, ma la soluzione da lì non ha funzionato nel mio caso. Ho impostato le dipendenze come:

compile 'com.android.support:support-v4:19.1.0' 
compile 'com.android.support:appcompat-v7:19.1.0' 
+1

Hai modificato la tua radice 'build.gradle' invece di' app/build.gradle'? –

+0

Sì, quella era la soluzione! Grazie uomo! Per favore aggiungilo come risposta in modo che io possa invertire e chiudere il thread. – AbreQueVoy

risposta

8

Scrivere una risposta poiché potrebbe essere anche un problema per qualcuno.

Per impostazione predefinita, Android Studio crea un progetto a più moduli. In modo da avere build.gradle nella cartella principale del progetto e un altro build.gradle in app cartella:

<your project name> 
/app 
    /src 
    build.gradle 
build.gradle 
settings.gradle 

Il genitore build.gradle viene di solito modificato se si desidera specificare le impostazioni predefinite per tutti i sottoprogetti. Sembra strano dato che per ora hai solo un sottoprogetto.

La questione argomento antipasto era che lui stava aggiungendo/modificando radice build.gradle invece di app cartella build.gradle.

Problemi correlati