使用ant(build.xml)编译jni目录

发布于 2024-10-19 19:43:49 字数 510 浏览 7 评论 0原文

我正在使用 ant 构建我的 Android 应用程序(antcompileantinstall 等),并且我添加了一些 NDK 源(在 jni/< /code> 目录),我想要一个规则来使用 ant 重新编译 jni/ 目录,然后将我的应用程序安装到我的设备/模拟器中,如下所示:

$ ant jni-and-install

而不是:

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

我试图找到将我的规则放在 build.xml 中的位置,但我不知道在哪里。

在安装到设备之前,我应该编辑什么才能让 ant 在 jni/ 目录上调用 make

I'm using ant to build my android app (ant compile, ant install and so on) and I'm adding some NDK sources (inside jni/ directory) and I want to have a rule to recompile the jni/ directory with ant and THEN install my app into my device/emulator, like this:

$ ant jni-and-install

Instead of:

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

I was trying to find the place to put my rules in build.xml but I don't know where.

What should I edit for ant to call make on jni/ directory before installing into device?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦归所梦 2024-10-26 19:43:49

您可以使用 exec ant 任务

<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"/>

You could use the 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"/>
单身狗的梦 2024-10-26 19:43:49

您可以为此使用 exec ant 任务。我认为将以下内容放入 build.xml 中的 -pre-build 目标中即可解决问题:

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

编辑:JB 的解决方案允许使用 ant jni 之类的内容来构建 jni 代码无需构建项目的其余部分。您可以通过将上述内容包装在名为“jni”的目标中,然后将 depends="jni" 添加到您的 -pre-build 目标中来获得两全其美的效果。

You can use an exec ant task for this. I think putting the following in your -pre-build target in build.xml will do the trick:

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

Edit: JB's solution allows for things like ant jni to build the jni code without building the rest of your project. You can get the best of both worlds by wrapping the above in a target named "jni" and then adding depends="jni" to your -pre-build target.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文