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
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!
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 "
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