根据 API 响应动态创建 strings.xml 文件

Dynamic strings.xml file creation from API response

我想在每次从 Android Studio 构建项目时动态创建我的 strings.xml 文件。现在我正在使用 Loco 在 Android 和 IOS 之间共享字符串。此工具公开了一个 API,其响应是我的 strings.xml 或 .strings 文件 (IOS)。我想知道是否有任何方法可以从 gradle 调用 API 以便在每次构建项目时更新字符串文件。 也许 Fastlane 可以帮我解决这个问题?

终于找到了解决办法。基本上,在 gradle 中使用 groovy 脚本,您可以通过 URL class 从 java.net 调用 http 端点,得到 GET 作为字符串调用并将响应写入您的 string.xml 文件。

在我的 build.gradle(项目级别)中,我将“syncStrings”任务定义如下:

task syncStrings {
    def strings = new URL( 'https://localise.biz/api/export/locale/it-IT.xml?format=android&key=<api_key>' ).text
    File file = new File("app/src/main/res/values/strings.xml")
    file.write(strings)
}

希望对其他人有所帮助 ;)