我正在尝试使用 gradle
(以前是 ant
)在 android 上构建 cocos2dx c++ 项目。
我想要两个 gradle 任务:
1) 构建 C++ 和 Java。我找到了解决方案
task buildCpp(type: Exec) {
commandLine ... // command
}
tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn buildCpp
}
2) 在没有 cpp 的情况下构建 Java。怎么办?
注意。使用 ant 我可以定义两个目标:
<!-- Build all -->
<target name="buildAll"
description="build all: ndkBuild -> javac"
depends="setDebugFlagTrue, ndkBuild, buildJavaSigned"/>
<!-- Build Java only -->
<target name="buildJavaSigned"
description="javac"
depends="setDebugFlagFalse, clean, release"/>
我怎样才能用gradle做到这一点?看来ant比gradle更灵活..
最佳答案
嗯...老实说,我认为您可能想要一个更灵活的解决方案。 Gradle 对 NDK 的使用并不是最好的,并且有一些方法可以在不失去使用 gradle 的其他好处的情况下为 native 构建增加更多的灵 active (例如使用支持的 IDE for Android,截至 6/30/2015,Android studio)。
我建议关注 this tutorial ,它将向您展示如何强制 gradle 使用 Android.mk 文件。这些文件通过使用可以围绕您需要构建它们的方式进行更改的模块来提供更大的灵 active 。我完全建议将您在其他地方的 C++ 库编译成 .so 文件,这可以给您更多的空间来喘息和调试问题。
This document解释了 Android.mk 文件的各个方面,以便您可以更好地理解您想要构建的方式。有很多构建选项,而且更容易控制。
祝你好运!我希望这会有所帮助。
关于android - gradle 安卓 ndk 构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31070541/