在gradle脚本中检索Flavor和BuildType相关的类路径



我正试图使用'javah'命令生成JNI头,为此,我需要传递包含project.class文件的目录。以前在ant中,这是一个静态位置,但在gradle上的buildTypes和productFlavors中是动态的。

gradle中是否有表示类路径的变量?例如,我想检索build/intermediates/classes/debug/、build/interediates/classes/dev/debug/等。

我在1.2.3级,我曾尝试使用"sourceSets.main.output.classesdir",但我收到一个错误,在源集main上找不到"output"。

我无法找到一种直接的方法来动态确定buildType和productFlavor,但我通过检查任务图找到了解决方案。

    gradle.taskGraph.whenReady { taskGraph ->
        if (taskGraph.hasTask(assembleRelease)) {
            buildTypeClassPath = "build/intermediates/classes/release"
        } else {
            buildTypeClassPath = "build/intermediates/classes/debug"
        }
    }

我认为这个解决方案可以通过将hasTask(assemblyRelease)的检查更改为hasTask(ssemblyProdRelease)来适应productFlavors

最新更新