1
我有一個帶有本機部分的android項目。我想建立自己的標誌不同的本地代碼,這取決於buildType和productFlavor,例如:基於庫變體gradle編輯屬性android
android {
project.ext.buildFlags = ['-j16', 'all']
buildTypes {
debug { project.ext.buildFlags.add('NDK_DEBUG=1')}
}
productFlavors {
pretty {project.ext.buildFlags.add('PRETTY')}
ugly {project.ext.buildFlags.add('UGLY')}
}
task buildNativeCode(type: Exec) {
commandLine 'ndk-build', project.ext.buildFlags
}
tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn buildNative
}
}
所以,uglyDebug我想建立自己的本地庫與「醜陋」和「NDK_DEBUG」標誌,'PRETTY'和'NDK_DEBUG'標誌的prettyDebug等等。但是,不管選擇的配置如何,它們總是被添加。從我收集的內容來看,這是在項目評估過程中完成的,我不知道如何正確設置它。現在我最終創建了許多具有幾乎相同內容的buildNativeXXX任務。我很想避免代碼重複。
這恐怕是行不通的。 (除了應該比較productFlavors和buildTypes的.name屬性外)。它將遍歷每個productFlavor和BuildType。因此,即使我選擇uglyRelease,我的buildFlags列表中也會有NDK_DEBUG = 1,PRETTY和UGLY。 –