【问题标题】:gradle android ndk buildgradle android ndk 构建
【发布时间】:2015-06-26 10:11:35
【问题描述】:

我正在尝试使用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更灵活..

【问题讨论】:

    标签: android android-studio gradle android-ndk build-system


    【解决方案1】:

    嗯...老实说,我认为您可能想要一个更灵活的解决方案。 Gradle 对 NDK 的使用不是最好的,有一些方法可以在不失去使用 gradle 的其他好处的情况下为原生构建增加更多的灵活性(例如使用支持的 Android IDE,截至 2015 年 6 月 30 日,Android studio)。

    我建议关注this tutorial,它将向您展示如何强制 gradle 使用 Android.mk 文件。这些文件通过使用可以根据您需要它们构建的方式更改的模块来提供更大的灵活性。我完全建议将您的 C++ 库在其他地方编译成 .so 文件,这可以让您有更多的空间来呼吸和调试问题。

    This document 解释了 Android.mk 文件的各个方面,以便您更好地了解您想要如何构建。有很多可供构建的选项,而且更容易控制。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-19
      • 2014-05-21
      • 2014-12-16
      • 1970-01-01
      • 2017-09-15
      • 1970-01-01
      • 2020-08-29
      • 1970-01-01
      相关资源
      最近更新 更多