Android-ndk - einfaches build-Skript für ndk-build für cygwin
Ich versuche, um ein einfaches build-Skript, die Arbeit auf windows-und unix-Systeme.
Das Skript zur Ausführung von cygwin, wenn windows, ansonsten wird nur eine standard-shell.
Wird das script Folgendes tun:
- die Verzeichnis-Variablen SDK_ROOT zu " /cygdrive/C/PROGRA~2/Android/android-sdk/'
- die Verzeichnis-Variablen NDK_ROOT zu "/cygdrive/C/PROGRA~2/android-ndk-r6b'
- cd Android/bin/
- laufen javah -d ../../test/mytest/-classpath .:$SDK_ROOT/platforms/android-8/android.jar com.test.MyTest
- cd ..
- laufen $NDK_ROOT/ndk-build
Ich bin mir nicht sicher, was für eine Art scripting-Sprache, die noch die syntax, ich weiß nur das es würde in etwa so Aussehen wie oben. Irgendwelche Ideen auf, wie Sie Vorgehen?
InformationsquelleAutor KaiserJohaan | 2011-10-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Scheint es mir, dass Sie bereits das Skript schrieb, es braucht nur ein paar änderungen:
Windows
myscript.cmd
Unix
myscript.sh
Auch, stellen Sie sicher, dass javah existiert in Ihrem PFAD env variable.
wenn es nicht vorhanden ist, können Sie es hinzufügen, um die Skripte am Anfang:
Windows
SET PATH=c:\path\to\javah;%PATH%
Unix
export PATH=/path/to/javah:$PATH
Hinweis: möglicherweise müssen Sie ändern das sdk/ndk Pfade für die Skripts auf windows.
sind Sie das script zu starten(unix) aus einer cygwin bash-shell? könnt Ihr mir einen screenshot bitte?
Die
\r
lässt darauf schließen, dass ein Windows "Zeilenvorschub" - Zeichen in der bash-Skript. Versuchen Sie es mit Unix-Zeilenumbrüchen. (z.B. In Notepad++: Menü "Bearbeiten", " EOL-Konvertierung)InformationsquelleAutor aayoubi
Wenn Sie mit Eclipse, ich würde empfehlen erstellen Sie einen neuen launcher für diese Aufgabe. Öffnen Sie Ihre Projekteigenschaften, und wählen Sie Bauherren aus dem linken Bereich. Wir wollen am Ende mit diesem:
Klicken Sie auf "Neu..." und erstellen Sie ein neues Programm launcher:
Füllen Sie den Pfad zu
ndk-build
(ich würde vorschlagen, Sie es zu Ihrem system-Pfad, so dass Sie nicht brauchen einen absoluten Pfad wie im Bild dargestellt) und den Projekt-Arbeitsbereich:Sollte dies schon funktionieren, aber wir können Sie einschränken, welche Ressourcen werden aktualisiert, nach Abschluss:
libs
Ordner in Ihrem Projekt, und wählen Sie es (und alle weiteren Ordner betroffen von derndk-build
, wenn zutreffend)Schließlich können wir beschränken wenn NDK-generator ausgeführt werden soll (nämlich nur dann, wenn die JNI-source-änderungen):
jni
Ordner in Ihrem Projekt und wählen Sie es aus (oder wo auch immer haben Sie die JNI-source-Dateien, sowie alle zusätzlichen Dateien, die für das auslösen einer neuenndk-build
)Ich hoffe, das macht Ihren build-Prozess zu vereinfachen!
Hallo @Paul das zeigt mir Fehler
Build Failed
in Eclipse.Es gibt diese FehlerException occurred executing command line. Cannot run program "D:\android-ndk-r5b\ndk-build" (in directory "D:\All Data\WorkSpace\MainBrowserActivity"): CreateProcess error=193, %1 is not a valid Win32 application
.Eine Lösungndk-build
ist nicht eine ausführbare Windows-Datei. Sie kann nur führen Sie es auf einem Unix-basierten system oder durch Cygwin. Die screenshots stammen unter Windows, hier bin ich mit Eclipse von Cygwin. Normalerweise ich bevorzuge zum entwickeln von Anwendungen mit nativen code unter Ubuntu.wie u starten Sie eclipse von cygwin ?
InformationsquelleAutor Paul Lammertsma
Ich denke, ich bin hier etwas fehlt. Man kann sicherlich führen Sie ein shell-Skript (.sh) unter Windows via Cygwin oder in Unix/Linux. Haben Sie spezielle Probleme?
Stellen Sie außerdem sicher, dass du das "#!/bin/bash" Datei-Präfix, die in Ihrem Skript.
InformationsquelleAutor NuSkooler
Was ist Ant? Soweit ich weiß, kann es ausgeführt werden, von Win als auch Linux ... und man müsste code Ihre Ziele nur einmal für beide. Du könntest sogar Aufrufe von Ant-in .bat und eine .sh, wenn du darauf bestehst.
InformationsquelleAutor Fildor