Можно ли использовать ANT script для сборки Android NDK? Если да, то как? И если нет, то почему нет?
Я не знаю об этом
Можно ли использовать ANT script для сборки Android NDK? Если да, то как? И если нет, то почему нет?
Я не знаю об этом
Вызовите ndk-build
из целевого объекта -pre-build
, например:
<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>
Затем вы можете установить ndk.dir
для указания в каталоге NDK из вашего файла local.properties
или установить его в командной строке. Я делаю это:
ant -Dsdk.dir=/home/dg/apps/android-sdk-linux_x86-r11/ -Dndk.dir=/home/dg/apps/android-ndk-r6b release
Теперь запуск ant автоматически создаст ваш собственный код. Кроме того, запуск 'ant clean' очистит ваш собственный код.
Обновлено: Добавлены failonerror="true"
в задачи <exec>
--- это приводит к тому, что ant прерывается, если make не работает. Без него он будет идти прямо вперед и генерировать APK с недействительным двоичным кодом. Нехорошо!
вот что добавить в ваш build.xml, как утверждали другие:
<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>
определите файл ndk.dir в файле local.properties: ndk.dir = C:\EclipseWorkspace\андроид-NDK-R8d
Ситуация, о которой я хотел упомянуть, после этого вы получите сообщение об ошибке "% 1 не является допустимым приложением Win32" при запуске ANT против этого целевого переопределения. Для меня мне пришлось перейти на NDK R8d, а также обновить следующую строку, чтобы она извлекала ndk-build.cmd(эта версия ndk может запускаться на окнах и через cygwin:
exec executable = "$ {ndk.dir}/ndk-build. cmd" failonerror = "true"