Android NDK build with Ant script

Czy możemy używać skryptu ANT dla Android NDK builds ? Jeśli tak, jak? A jeśli nie, to dlaczego nie ?

Nie mam o tym pojęcia

Author: Sachchidanand, 2011-09-15

2 answers

Wywołaj ndk-build ze swojego celu -pre-build, Tak:

<target name="-pre-build">
    <exec executable="${ndk.dir}/ndk-build" failonerror="true"/>
</target>

<target name="clean" depends="android_rules.clean">
    <exec executable="${ndk.dir}/ndk-build" failonerror="true">
        <arg value="clean"/>
    </exec>
</target>

Następnie możesz ustawić ndk.dir, aby wskazywał na katalog NDK z pliku local.properties lub ustawić go w wierszu poleceń. Robię to:

ant -Dsdk.dir=/home/dg/apps/android-sdk-linux_x86-r11/ -Dndk.dir=/home/dg/apps/android-ndk-r6b release

Teraz uruchomiony ant automatycznie zbuduje Twój natywny kod. Dodatkowo, uruchomienie "Ant clean" wyczyści Twój rodzimy kod.

Zaktualizowano: Dodano failonerror="true" do zadań <exec> - - - powoduje to przerwanie działania ant, jeśli make nie powiedzie się. Bez niego to po prostu iść do przodu i wygenerować APK z nieprawidłowy binarny w nim. Niedobrze!

 43
Author: David Given,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-12 14:59:41

Oto, co dodać do swojej kompilacji.xml jak inni stwierdzili:

<target name="-pre-build">
    <exec executable="${ndk.dir}/ndk-build" failonerror="true"/>
</target>

<target name="clean" depends="android_rules.clean">
    <exec executable="${ndk.dir}/ndk-build" failonerror="true">
        <arg value="clean"/>
    </exec>
</target>

Zdefiniuj ndk.dir in local.Plik Właściwości: ndk.dir = C: \ EclipseWorkspace\android-NDK-r8d

Sytuacja, o której chciałem wspomnieć po wykonaniu tej czynności pojawia się błąd "%1 is not a valid Win32 application" podczas uruchamiania ANT przeciwko temu nadpisaniu celu. Dla mnie musiałem uaktualnić do NDK R8d, a także zaktualizować następującą linię, aby pobierała ndk-build.cmd (ta wersja ndk może działać w systemie windows i poprzez cygwin:

EXECUTABLE= " ${NDK.dir} / ndk-build.cmd "failonerror=" true "

 9
Author: j2emanue,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-25 00:04:15