2015-11-14 65 views
2

我正在嘗試使用'javah'命令生成JNI頭並且爲此我需要傳遞包含項目.class文件的目錄。以前與螞蟻這是一個靜態的位置,但它與gradle上的buildTypes和productFlavors是動態的。在Gradle腳本中檢索Flavor和BuildType相關類路徑

Gradle中是否存在表示類路徑的變量?比如我想檢索build/intermediates/classes/debug /,build/intermediates/classes/dev/debug /等。

我在gradle 1.2.3上試圖使用'sourceSets.main。 output.classesdir',但我得到一個錯誤,'輸出'無法找到源集main。

回答

0

我無法找到一種直接的方式來動態確定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