2015-07-09 15 views
8

Ho sviluppato un progetto Android con Android Studio e Gradle.Esterno AndroidManifest.xml non viene visualizzato nel riquadro di visualizzazione del progetto

Il mio progetto AndroidManifest.xml si trova in una cartella esterna. che sto puntando ad esso utilizzando il seguente codice nel file build.gradle:

sourceSets { 
    main { 
     manifest.srcFile '..\\..\\..\\sources\\AndroidManifest.xml' 
    } 
} 

Tutto grandi opere, il progetto viene compilato ed eseguito, tranne che non riesco a trovare il file AndroidManifest.xml sotto la struttura del progetto, quando si utilizza il riquadro di visualizzazione del progetto.

Project Structure

Forse ho bisogno di aggiungere qualcos'altro per il file build.gradle?

+0

La struttura del progetto dovrebbe essere solo dalla cartella principale del progetto. Aprire il file manifest una volta utilizzando File -> Apri e quindi utilizzare la scorciatoia da tastiera Ctrl + per passare da un file all'altro – 3xplore

+0

Non sono sicuro di cosa intendi con "La struttura del progetto verrebbe solo dalla cartella radice del progetto". Se lo apro con file -> aperto, non lo riconosce come file manifest valido e mostra molti errori di sfilacciamento. – Danny

risposta

0

Primo: non vedo alcun motivo per mantenere manifest all'esterno del progetto Android. È parte integrante dell'applicazione Android, quindi dovrebbe essere nella posizione in cui Android Studio può leggerlo. Basta copiarlo dove dovrebbe essere.

Se è davvero necessario avere AndroidManifest.xml in una posizione esterna, pensare di creare un collegamento simbolico alla posizione in cui si aspetta che Android Studio sia.

+0

Grazie per la risposta. Normalmente, non raccomanderei di mantenere il manifest al di fuori dell'ambito del progetto. Ma questo è un dato in questa situazione. Il collegamento simbolico non è una buona soluzione per noi, poiché stiamo utilizzando il controllo del codice sorgente, il che significa che ogni membro del team su ogni macchina dovrà aggiungere il collegamento simbolico. Inoltre, dovremo ricordare di fare questa procedura per ogni nuova macchina. – Danny

0

Non credo che tu possa. Quando si utilizza il pannello di visualizzazione del progetto, Android Studio visualizza tutti i file nella radice del progetto, non tutti i file collegati al progetto (per verificarlo, è possibile creare un nuovo file non collegato al progetto nella cartella del progetto e sarai in grado di vederlo in Android Studio explorer).

+0

Questo non è vero. Aggiungo anche sorgenti esterne con 'java.srcDirs = ['.. \\ .. \\ some \\ source \\ path']' e le fonti esterne sono mostrate sotto il riquadro del progetto. – Danny

+0

Mi dispiace non averti potuto aiutarti, quindi – DDsix

0

Android Studio (e IntelliJ), sono costruiti partendo dal presupposto che tutta la vostra fonte si trova in una singola cartella "progetto". Questo è il motivo per cui la vista Progetto contiene solo file nel progetto, è progettata per mostrare solo un albero di file.

L'ho appena provato, è possibile utilizzare la vista Android (una delle altre opzioni nello screenshot che hai postato) per far apparire il tuo Manifest esterno. Tuttavia, alcune funzionalità sono disabilitate o interrotte durante la modifica. Questo è possibile perché la visualizzazione Android è pensata per mostrare tutta la fonte pertinente per il tuo progetto, anche se hai i requisiti dispari di un manifest esterno.

Ma per favore, considera di spostarlo direttamente nel tuo progetto o usando un collegamento simbolico. Sarai molto più felice.

+0

Per quanto riguarda i sorgenti, ho più cartelle sorgenti che aggiungo a gradle nel modo seguente: 'java.srcDirs = ['.. \\ .. \\ some \ \ source \\ percorso ',' \\ .. \\ .. \\ .. \\ some \ altro \ percorso '] '. Appaiono tutti nel riquadro di visualizzazione "progetto". Come hai detto, alcune delle funzionalità sono interrotte nella vista di Android, quindi usarlo non è una buona soluzione per noi. Anche il collegamento simbolico non è una buona soluzione per noi, poiché stiamo utilizzando il controllo del codice sorgente, il che significa che ogni membro del team su ogni macchina dovrà aggiungere il collegamento simbolico. Inoltre, dovremo ricordare di fare questa procedura per ogni nuova macchina. – Danny

0

Inserirlo in una cartella più vicina alla directory in cui ci si trova o, se necessario, avvicinarlo. ".. \ sources \ AndroidManifest.xml"

+0

Il percorso AndroidManifest.xml è un dato nella mia situazione. Non riesco a muoverlo più vicino. – Danny

+0

Se è Windows, probabilmente stai rompendo il percorso della directory perché è troppo lungo. – ActionON

+0

No, non è un problema di lunghezza. Provato con percorsi più brevi. Inoltre, sto usando percorsi più lunghi con 'java.srcDirs = ['.. \\ .. \\ some \\ source \\ path']', e funzionano bene. – Danny