如何在strings.xml中使用build.gradle中定义的变量?

时间:2018-01-06 13:38:29

标签: android xml variables gradle resources

我在build.gradle(模块:应用程序)中有一个变量,用于计算内部版本号(编译的数量是准确的:

String content = ""

def buildCountFile = new File("c:\\projects\\aviacheck\\spec\\aviacheck-build-counter.txt")

if (buildCountFile.exists()) {
    content = buildCountFile.getText('UTF-8')
}
int count = 0;
if (content.isNumber()) {
    count = content.toInteger() + 1;
}
buildCountFile.write(count.toString())
// build counter ends

buildTypes {
    debug{
        resValue "string", "bNr", count.toString()
    }
    release {
        resValue "string", "bNr", count.toString()
    }
}

存储在“bNr”中。

当然我可以在getResoures()的代码中使用它,但是我想在strings.xml中将它连接一个字符串而不编写代码。

所以,定义那样的版本编译:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE resources [
    <!ENTITY appVer "1.2">
    ]>

<resources>
//    ........
    <string name="ver">"&appVer; Build: &bNr;</string>
//    ........
</resources>

不幸的是,&bNr仍未解决。

关于问题可能是什么的任何想法?

1 个答案:

答案 0 :(得分:0)

  

我想在strings.xml中连接一个字符串而不编写代码

不支持,抱歉。

  

不幸的是&amp; bNr一直没有解决。

该名称没有HTML实体。