Android 如何在gradle文件中使用字符串资源

问题描述 投票:0回答:3

这个页上,写着:

versionName — 用作向用户显示的版本号的字符串。 该设置可以指定为原始字符串或对 字符串资源。

我想使用资源作为版本号。类似 @string/version 之类的东西。

怎么走?

谢谢

朱利安

android gradle resources
3个回答
5
投票

我使用@Yaroslav的答案创建了方法(https://stackoverflow.com/a/37432654/6711554)。这是从字符串文件设置包名称的代码。

def getPackageName() {
  try {
     def stringsFile = file("./src/main/res/values/string.xml")
     return new XmlParser().parse(stringsFile).string.find { [email protected] 'your_package_name' }.text()
  }catch(e){
     println(e)
     return "default.packagename"
  }
}

并像

一样使用它
 applicationId getPackageName()

您可以从任何资源文件中读取 gradle 中的任何字符串。


0
投票

尝试以下操作,通过单击“立即同步”按钮或从菜单中选择“文件”->“将项目与 Gradle 文件同步”,将项目与 Gradle 同步。

android {
    // ...

    defaultConfig {
        // The @string-resource only in single quotation marks!
        resValue "string", "<your_variable_name>", '@string/<your_string_resource_name>'
    }
}

-1
投票

有一个类似的问题,已经得到解答 - Android Gradle Read App Name from strings.xml。 @SamuilYanovski 提供使用像 gradle.properties 这样的配置文件,而不是尝试从 gradle 文件访问 Android 资源。

© www.soinside.com 2019 - 2024. All rights reserved.