2010-12-01 14 views
14

Ich arbeite derzeit an einer großen Android-App mit einer großen Menge an C++ - Code. Es kompiliert und läuft, so weit so gut.Android NDK inkrementelle Build

Leider habe ich jedes Mal etwas in der Struktur meiner nativen Quelle (hinzufügen/löschen/umbenennen/bewegen, um eine Datei) ändern, was ziemlich oft geschieht, NDK-build die ganze Quelle neu erstellt, auch die unberührten Dateien.

Weiß jemand wie ich das Android NDK einrichten kann um inkrementell irgendwie zu bauen?

Vielen Dank im Voraus

+0

Ich weiß nichts, was dies tut. Ich würde gerne wissen, ob es eine Lösung gibt. Ich habe nach einem gesucht –

Antwort

11

Ich habe mit dem NDK-System bauen satt, studierte er für ein wenig, und meine eigenen Makefiles geschrieben. Das war nicht schwer.

Allerdings wurde mir dann darauf hingewiesen, dass ich dadurch die Verantwortung für die Verfolgung zukünftiger Änderungen an der Plattform übernehmen müsste, zum Beispiel wenn es notwendig wäre, Binärdateien für zusätzliche Prozessortypen zu versenden meine hauseigene Lösung zu ändern, um das auch zu tun.

In anderen Kontexten hatte ich manchmal Projekte mit zwei Build-Systemen - eines für schnelle Experimente, eines für entfaltbare Builds. Die Zeit, die für die Aktualisierung von Zeit zu Zeit aufgewendet wurde, wurde mehrmals im Geschwindigkeitsgewinn für die tägliche Arbeit gespeichert. Vorausgesetzt, ich musste mindestens alle ein oder zwei Wochen einen echten Build erstellen, waren die Dinge nie sehr weit von der Konsistenz entfernt (und beide Build-Skripte befanden sich im Revisionskontrollsystem, also musste die Geschichte untersucht werden). So etwas könnte mit einem benutzerdefinierten Makefile für Debug-Builds und mit dem NDK-Buildsystem für deployable packages ausgeführt werden.

(In einem Fall von vielen Experimenten am Rande dessen, was die Plattform zulässt, hatte ich mein Makefile, das aktualisierte .so auf das Gerät zu schieben und gab meiner Anwendung einen der entmutigten Hard-Quit-Buttons, also Ich könnte es mit einer aktualisierten nativen Bibliothek neu starten, ohne die Apk neu erstellen und neu installieren zu müssen)

+0

Wenn möglich, bitte teilen Sie weitere Informationen über den Prozess der Erstellung unserer eigenen Makefile und wie Sie mit den Android-spezifische Makros usw. umgehen. – Midson

+2

@ Midson - führen Sie die ndk make-Skript mit der Option V = 1 für ausführliche Ausgabe Kopieren Sie das Ergebnis in einen Editor und teilen Sie es in traditionelle Kategorien für Makefile-Variablen auf. –