任务中的Android gradle resValue

时间:2014-11-20 10:05:25

标签: android gradle resources

我需要访问“ resValue ”才能操作 strings.xml 。在 android buildTypes 的范围内,可以这样做。

当我想在android范围内的任务中使用它时,它不起作用!

我该如何使用?我不想用解析/替换来操作文件,......。

编辑:

好的,好的。在构建开始之前,我迭代n个文件,获取密钥并希望将它们作为值添加到resValue。然后构建必须从该配置开始

CODE:

apply plugin: 'com.android.application'

android {     compileSdkVersion 21     buildToolsVersion“21.0.2”

defaultConfig {
    ...
    // here reference to resValue possible
}

signingConfigs {

    release {
        ...
    // here reference to resValue possible
    }
}

buildTypes {
    debug {
    // here reference to resValue possible
        ...
    }
    release {
        ...
    // here reference to resValue possible

    }
}

task keysourceAll << {

    // here no reference to resValue

    def configFiles = loadConfigFiles("./configs")
    configFiles.each { File configFile ->
        if(configFile.isFile()){
            def lines = configFile.readLines()
            def configKey = lines.get(2)
            String key = getKey(configKey)

            println key
        }
    }
}
}
File[] loadConfigFiles (String rootDir) {
    file(rootDir).listFiles()
}

String getKey(String resourceLine){
    int indexStart = resourceLine.indexOf(">")
    String subString = resourceLine.subSequence(indexStart+1, resourceLine.length())
    int indexEnd = subString.indexOf("<")
    return subString.subSequence(0,indexEnd)
}

迎接

Luser_k

0 个答案:

没有答案