Vielleicht war das eingebaute Android-"Bibliotheks"-Konzept zum Zeitpunkt des ursprünglichen Beitrags noch nicht ganz ausgereift, aber es könnte die bevorzugte Methode im Jahr 2011 sein. Befolgen Sie diese Schritte für ein Ameisen-Build:
Ausgehend von einer funktionierenden Anwendung (nennen wir sie Verzeichnis "myOrigApp", Paket com.foo.myapp), fügen Sie einfach diese Zeile zu "default.properties" hinzu, um sie zu einer Bibliothek zu machen:
android.library=true
Erstellen Sie nun eine neue Anwendung in einem Geschwisterverzeichnis, wie Sie es wünschen (nennen wir es Verzeichnis "sibling", Paket com.foo.myVariant). Erstellen Sie z. B. mit Intellij Idea ein Projekt "von Grund auf" mit dem Verzeichnis "sibling" und es werden alle Dateien/Verzeichnisse erstellt, die Sie normalerweise benötigen würden.
Bearbeiten Sie in diesem neuen, untergeordneten Verzeichnis die Datei "default.properties", um die Abhängigkeit hinzuzufügen:
android.library.reference.1=../myOrigApp
Kopieren Sie das Manifest aus dem Originalverzeichnis:
cd sibling
cp ../myOrigApp/AndroidManifest.xml ../myOrigApp/local.properties ../myOrigApp/build.properties .
Bearbeiten Sie die kopierte Manifestdatei, um den Paketnamen in Ihre neue Variante "com.foo.myVarient" zu ändern; das ist die einzige Änderung.
Wenn Sie nur die Ant-Build-Skripte ausführen, sind Sie vielleicht schon fertig. (Ich musste nur Signierschlüssel einrichten.)
Wenn Sie eine IDE wie Idea so einrichten möchten, dass das Bibliotheksprojekt vom Variantenprojekt abhängt, führen Sie die folgenden Schritte aus, um ein Bibliotheksprojekt zum Variantenprojekt hinzuzufügen (vorausgesetzt, Sie haben bereits ein Projekt für beide Projekte eingerichtet):
- Öffnen Sie das ursprüngliche Projekt, rufen Sie die Projekteinstellungen auf, wählen Sie Ihre Facette aus, markieren Sie "Ist Bibliotheksprojekt" und speichern Sie.
- Öffnen Sie das Variantenprojekt, rufen Sie die Projekteinstellungen auf und wählen Sie Module
- Ein Modul hinzufügen
- Wählen Sie "Vorhandenes Modul importieren".
- Navigieren Sie zum Originalverzeichnis (myOrigApp) und wählen Sie die .iml-Datei (IntelliJ-Projektquelldatei) aus.
- Klicken Sie auf "Fertig stellen". (Das Bibliotheksprojekt wird als Modul innerhalb des Variantenprojekts hinzugefügt).
- Klicken Sie in der Modulliste auf das Projekt Variant, um es auszuwählen.
- Wählen Sie auf der rechten Seite die Registerkarte "Abhängigkeiten".
- Klicken Sie auf "Hinzufügen ".
- Wählen Sie "Modulabhängigkeit " (Es sollte eine Liste erscheinen, die den Namen des Moduls/der Bibliothek enthält, das/die Sie zuvor dem Projekt hinzugefügt haben - möglicherweise der einzige Eintrag in der Liste).
- Wählen Sie das hinzugefügte Bibliotheksprojekt aus und drücken Sie OK (es wird der Liste der Abhängigkeiten Ihres Projekts hinzugefügt).
- Drücken Sie OK, um die Konfiguration des Projekts abzuschließen. (Es sollten 2 Module angezeigt werden, in denen die Ressourcen und Klassen der Bibliothek verfügbar sind und im Variant-Projekt erkannt werden).
0 Stimmen
Ich habe eine ähnliche Frage hier beantwortet, vielleicht kann sie auch Ihnen helfen: stackoverflow.com/questions/16840127/
2 Stimmen
Die akzeptierte Antwort ist ein wenig veraltet. Es gibt eine, die von craned gepostet wurde, die wahrscheinlich die jetzt korrekte Vorgehensweise ist.
0 Stimmen
Vous definitiv nutzen wollen
Gradle
Geschmäcker die von Haus aus in Android Studio enthalten ist, sogar gefördert.