根据 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)
}
希望对其他人有所帮助 ;)
我想在每次从 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)
}
希望对其他人有所帮助 ;)