2

Ich habe 2 Android-Projekte: Tower und Dronekit-Android. Ich versuche, beide Projekte gleichzeitig in Android Studio zu importieren. Also importiere ich zuerst Tower, dann importiere ich dronekit-android im Projektfenster. (Über Datei -> Projektstruktur -> +)Wie kann Android Studio daran gehindert werden, Dateien beim Hinzufügen eines Moduls zu kopieren?

Allerdings hat das Android Studio etwas sehr Ungewöhnliches gemacht, nämlich immer alle Quellcodes aus dem anderen Projekt in das Stammverzeichnis des aktuellen Projekts zu kopieren. Wie im folgenden Screenshot dargestellt, werden alle im diff-Fenster angezeigten Ordner von dronekit-andorid nach Tower kopiert.

enter image description here

Wie kann ich dieses Verhalten und importieren, ohne zu kopieren? Wie in dieser:

enter image description here

UPDATE: Ich versuchte, meine settings.gradle zu ändern, um das andere Projekt mit Submodule enthalten:

//Android projects 
include ':Android' 
project(':dronekit-android').projectDir = new File('/home/peng/git-drone/dronekit-android') 

aber ich kann es nicht auf Grund dieser importieren Fehler:

Error:Project with path ':dronekit-android' could not be found. 

ist irgendetwas mit der Einstellung falsch?

UPDATE2: ich schließlich setting.gradle manuell bearbeiten und das andere Projekt & all seine Submodule in sie hinzufügen, einige Zeit dauern, ich erwarte Google Android Studio ist klug, es zu tun automatisch:

//Android projects 
include ':ServiceApp', ':StarterApp' 
include ':ClientLib' 

//Library projects 
include ':Mavlink' 
include ':UsbSerialLibrary' 

project(':UsbSerialLibrary').projectDir = new File('dependencyLibs/usb-serial-for-android/UsbSerialLibrary') 
project(':Mavlink').projectDir = new File('dependencyLibs/Mavlink') 
project(':StarterApp').projectDir = new File('samples/StarterApp') 

Aber dann habe ich in ein anderes Problem:

Wenn ich das Projekt synchronisieren, ich diesen Fehler habe:

Error:Plugin with id 'com.jfrog.bintray' not found. 

Bitte beachten Sie den Screenshot Detail:

Error:Plugin with id 'com.jfrog.bintray' not found.

Antwort

1

Wenn Sie gerade ein anderes Projekt in den einen schließen versuchen (ohne Dinge über das Kopieren) Sie einen Eintrag in der „settings.gradle“ Datei hinzufügen die Projektnamen und wo im Dateisystem angeben, das Projekt (relativer Pfad ist ok):

project(':project-name').projectDir = new File('path-to/project-name') 

Danach tun Sie müssen nur das „main“ Projekt importieren (die mit dem modifizierten settings.gradle).

+0

offenbar nicht funktioniert: Fehler: Projekt mit Pfad ': dronekit-android' konnte nicht gefunden werden. Siehe mein Update für Details. – tribbloid

+0

Was ist die Verzeichnisstruktur unter dronekit-android? Der Pfad sollte für das Modul und nicht für das Stammprojekt sein (d. H. Der Pfad sollte auf den Build zeigen).Gradel mit der "android" -Konfiguration) –

2

Sie haben vergessen :dronekit-android enthalten:

include ':Android',':dronekit-android' 
project(':dronekit-android').projectDir = new File('<fullpath>/<projectname>/<module folder>') 

Und in Ihrem build.gradle

dependencies { 
    compile project(':dronekit-android') 
} 
+0

Sie haben Recht! Jetzt kann ich die Dateien im Projektfenster sehen. Aber ich bin auf ein Problem gestoßen, das niemals passiert, wenn ich eines der Projekte selbständig importiere. Ist es ein Versionskonflikt? – tribbloid

+0

Nicht wirklich, das ist wirklich, wie Sie aus dem lokalen Verzeichnis importieren, da Ihr Bibliotheksmodul einen ähnlichen Namen wie andere Module hat (obwohl das ein seltener Fall ist). – Enzokie

Verwandte Themen