Подтвердить что ты не робот

Android NDK с помощью ANT script

Можно ли использовать ANT script для сборки Android NDK? Если да, то как? И если нет, то почему нет?

Я не знаю об этом

4b9b3361

Ответ 1

Вызовите 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 с недействительным двоичным кодом. Нехорошо!

Ответ 2

вот что добавить в ваш 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"