2015-06-26 63 views
3

我试图建立使用gradle Android上的cocos2dx C++项目(以前是ant)。 我想有两个gradle这个任务:gradle这个Android的NDK编译

1)构建C++和Java。我发现解决方案

task buildCpp(type: Exec) { 
    commandLine ... // command 
} 
tasks.withType(JavaCompile) { 
    compileTask -> compileTask.dependsOn buildCpp 
} 

2)构建没有cpp的Java。怎么样?

注意。用蚂蚁我可以定义两个目标:

<!-- 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做到这一点?看来,蚂蚁更灵活,然后gradle ..

回答

1

嗯...我想你可能想要一个更灵活的解决方案,说实话。 Gradle对NDK的使用并不是最好的,并且有许多方法可以为本地构建增加更多的灵活性,而不会失去使用gradle的其他好处(例如,截至2015年6月30日,Android Studio使用受支持的IDE for Android)。

我建议以下this tutorial,它会告诉你如何强制gradle这个使用的Android.mk文件。这些文件通过使用模块可以根据您需要构建的方式进行更改,从而提供更大的灵活性。我完全建议将其他地方的C++库编译到.so文件中,这样可以给你更多的空间来呼吸和调试问题。

This document解释的Android.mk文件的各个方面,这样就可以更好地了解您要如何建立。有许多建筑选择,而且更容易控制。

祝你好运!我希望这有帮助。