2011-02-25 103 views
2

我正在使用ant来构建我的android应用程序(ant compile, ant install等),并且我添加了一些NDK源代码(位于jni/目录中),我希望拥有一个规则来重新编译jni/目录与蚂蚁和我的应用程序,然后安装到我的设备/仿真器,像这样:使用ant(build.xml)编译jni目录

$ ant jni-and-install 

相反的:

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

我试图找到把这个地方我规则在build.xml中,但我不知道wh ERE。

在安装到设备之前,我应该如何编辑蚂蚁目录jni/目录?

回答

6

您可以使用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

您可以使用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目标中,从而获得两全其美的效果。