Используйте ant (build.xml) для компиляции директории jni - PullRequest
2 голосов
/ 26 февраля 2011

Я использую ant для сборки своего приложения для Android (ant compile, ant install и т. Д.) И добавляю несколько источников NDK (внутри каталога jni/), и я хочу иметь правило для перекомпиляции jni/ каталог с муравьем и ТО затем установите мое приложение на мое устройство / эмулятор, как это:

$ ant jni-and-install

Вместо:

$ make -f jni/Makefile APP=myapp    
(jni compilation & installation)
...
$ ant install

Я пытался найти место для размещения моих правил в build.xml, но я не знаю, где.

Что я должен отредактировать для вызова ant make в каталоге jni/ перед установкой на устройство?

Ответы [ 2 ]

6 голосов
/ 26 февраля 2011

Вы можете использовать exec ant task :

<target name="install">
    <!-- ... -->
</target>

<target name="jni">
    <exec executable="make">
        <arg line="-f jni/Makefile APP=myapp"/>
    </exec>
</target>

<target name="jni-and-install" depends="jni, install"/>
3 голосов
/ 26 февраля 2011

Для этого вы можете использовать задачу exec ant. Я думаю, что поместив следующее в вашу -pre-build цель в build.xml, добьется цели:

<exec executable="make" failonerror="true">
    <arg line="-f jni/Makefile APP=myapp"/>
</exec>

Редактировать: решение JB позволяет таким вещам, как ant jni, создавать код jni без сборки остальной части вашего проекта. Вы можете получить лучшее из обоих миров, обернув вышеуказанное в цель с именем "jni", а затем добавив depends="jni" к цели -pre-build.

...