2015-07-09 4 views
8

Ich habe ein Android-Projekt mit Android Studio und Gradle entwickelt.Externe AndroidManifest.xml erscheint nicht unter Projektansicht

Mein Projekt AndroidManifest.xml befindet sich unter einem externen Ordner. ich auf sie zeigen den folgenden Code in der Datei mit build.gradle:

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

Alles funktioniert gut, das Projekt kompiliert und ausgeführt, außer ich nicht die AndroidManifest.xml Datei unter der Projektstruktur finden können, bei der Verwendung der Projektansichtsfenster.

Project Structure

Vielleicht brauche ich etwas anderes in die build.gradle Datei hinzufügen?

+0

Die Projektstruktur sollte nur aus dem Stammordner des Projekts bestehen. Öffnen Sie das Manifest einmal mit Datei -> Öffnen und verwenden Sie dann die Tastenkombination Strg + Tab, um zwischen den Dateien – 3xplore

+0

zu wechseln Ich bin nicht sicher, was Sie mit "Die Projektstruktur würde nur aus dem Stammordner des Projekts bedeuten". Wenn ich es mit Datei öffnen öffne, erkennt es nicht eine gültige Manifest-Datei und zeigt eine Menge Flusenfehler. – Danny

Antwort

0

Erstens - Ich sehe keinen Grund, Manifest außerhalb Android-Projekt zu pflegen. Es ist ein integraler Bestandteil der Android-Anwendung und sollte daher an einem Ort sein, an dem Android Studio es lesen kann. Kopieren Sie es einfach dorthin, wo es sein sollte.

Wenn Sie AndroidManifest.xml unbedingt an einem externen Speicherort benötigen, sollten Sie eine symbolische Verknüpfung zu einem Speicherort erstellen, der von Android Studio erwartet wird.

+0

Vielen Dank für Ihre Antwort. Normalerweise würde ich nicht empfehlen, das Manifest auch außerhalb des Projektumfangs zu pflegen. Aber das ist in dieser Situation gegeben. Symbolische Verknüpfung ist keine gute Lösung für uns, da wir Quellcodeverwaltung verwenden, was bedeutet, dass jedes Teammitglied auf jeder Maschine die symbolische Verknüpfung hinzufügen muss. Darüber hinaus müssen wir daran denken, diese Prozedur für jede neue Maschine durchzuführen. – Danny

0

Ich glaube nicht, dass Sie können. Wenn Sie den Projektansichtsbereich verwenden, zeigt Android Studio alle Dateien im Projektstamm an, nicht alle Dateien, die mit Ihrem Projekt verknüpft sind (um dies zu testen, können Sie im Ordner Ihres Projekts eine neue Datei erstellen, die nicht mit Ihrem Projekt verknüpft ist) Sie können es im Android Studio Explorer sehen.

+0

Das ist nicht wahr. Ich füge auch externe Quellen mit 'java.srcDirs = ['.. \\ .. \\ einige \\ Quelle \\ Pfad']' hinzu und die externen Quellen werden unter dem Projektfenster angezeigt. – Danny

+0

Es tut mir leid, ich konnte Ihnen nicht helfen, dann – DDsix

0

Android Studio (und IntelliJ) werden unter der Annahme erstellt, dass sich Ihre gesamte Quelle in einem einzigen "Projekt" -Ordner befindet. Aus diesem Grund enthält die Projektansicht nur Dateien im Projekt, die nur einen Dateibaum anzeigen sollen.

Ich habe es gerade getestet, Sie können die Android-Ansicht (eine der anderen Optionen im Screenshot, die Sie gepostet haben) verwenden, um Ihr externes Manifest erscheinen zu lassen. Einige Funktionen sind während der Bearbeitung deaktiviert oder unterbrochen. Dies ist möglich, weil die Android-Ansicht alle relevanten Quellen für Ihr Projekt anzeigen soll, auch wenn Sie die Anforderung eines externen Manifests haben.

Aber bitte, ziehen Sie in Erwägung, es direkt in Ihr Projekt zu verschieben oder einen symbolischen Link zu verwenden. Du wirst viel glücklicher sein.

+0

In Bezug auf die Quellen habe ich mehrere Quellordner, die ich auf folgende Weise hinzufügen: 'java.srcDirs = ['.. \\ .. \\ einige \ \ source \\ pfad ',' \\ .. \\ .. \\ .. \\ einige \ andere \ pfad '] '. Sie alle erscheinen unter dem Ansichtsfenster "Projekt". Wie Sie bereits gesagt haben, ist in der Android-Ansicht ein Teil der Funktionalität kaputt, daher ist die Verwendung für uns keine gute Lösung. Symbolische Verknüpfung ist auch keine gute Lösung für uns, da wir Quellcodeverwaltung verwenden, was bedeutet, dass jedes Teammitglied auf jeder Maschine die symbolische Verknüpfung hinzufügen muss. Darüber hinaus müssen wir daran denken, dieses Verfahren für jede neue Maschine durchzuführen. – Danny

0

Legen Sie es in einen Ordner, der näher an dem Verzeichnis ist, in dem Sie sich befinden, oder verschieben Sie es bei Bedarf. ".. \ sources \ AndroidManifest.xml"

+0

Der Standort AndroidManifest.xml ist in meiner Situation gegeben. Ich kann es nicht näher rücken. – Danny

+0

Wenn es Windows ist, brechen Sie wahrscheinlich den Verzeichnispfad, indem Sie es zu lang haben. – ActionON

+0

Nein, es ist kein Längenproblem. Versuchte es mit kürzeren Wegen. Außerdem verwende ich längere Pfade mit 'java.srcDirs = ['.. \\ .. \\ einige \\ Quelle \\ Pfad']', und sie funktionieren gut. – Danny