我正在尝试使用“javah”命令生成 JNI header ,为此我需要传递包含项目 .class 文件的目录。以前在 ant 中,这是一个静态位置,但在 gradle 上,它是动态的 buildTypes 和 ProductFlavors。
gradle中有代表类路径的变量吗?例如,我想检索 build/intermediates/classes/debug/、build/intermediates/classes/dev/debug/等。
我使用的是 gradle 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(assembleRelease) 的检查更改为 hasTask(assembleProdRelease) 来调整以合并 ProductFlavors
关于android - 检索 gradle 脚本中 Flavor 和 BuildType 相关的类路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33703673/