Android NDK使用ANT脚本构build

我们可以使用Android NDK构build的ANT脚本吗? 如果是的话如何? 如果不是,那为什么不呢?

我对此毫不知情

Solutions Collecting From Web of "Android NDK使用ANT脚本构build"

-pre-build目标调用ndk-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设置为从您的local.properties文件指向NDK目录,或者在命令行上进行设置。 我这样做:

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

现在运行ant将自动生成你的本地代码。 另外,运行“ant clean”将会清除你的本地代码。

更新:<exec>任务添加了failonerror="true" – 如果make失败,则会导致ant中止。 没有它,它会马上开始,并生成一个无效的二进制文件的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> 

在local.properties文件中定义ndk.dir:ndk.dir = C:\ EclipseWorkspace \ android-ndk-r8d

我想提到这种情况后,你得到一个错误“%1不是一个有效的Win32应用程序”,而运行ant对这个目标覆盖。 对我来说,我不得不升级到NDK R8D,并更新以下行,以便它获取ndk-build.cmd(这个版本的ndk可以在Windows上运行,并通过cygwin:

exec可执行文件=“$ {ndk.dir} / ndk-build。cmd”failonerror =“true”