我们现在有一个 Android 应用程序,可以使用 Retrofit 正常运行。我们正在尝试自动化测试和生产发布的构建,以减少人为错误的可能性(即开发人员在为生产构建时忘记将基本 URL 指向生产等)
我注意到 Retrofit 的基本 URL 是在类文件中定义的。有什么方法可以用来将其配置在属性文件或 xml 中,以便我们可以使用 Gradle 脚本选择要包含在构建中的正确文件?
谢谢
最佳答案
您可以在 buildTypes 中定义一个常量:
buildTypes {
debug {
buildConfigField "String", "API_URL", "\"https://url/pre/\""
}
release {
buildConfigField "String", "API_URL", "\"https://url/pro/\""
}
}
然后在改造构建器中使用它:
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(BuildConfig.API_URL)
.build();
请注意,如果您有不同的模块,BuildConfig 将在每个模块中定义。对于这种情况,我在应用程序模块中定义了 buildTypes,并将 BuildConfig.API_URL 作为参数传递给带有改造构建器的模块调用。
关于android - 如何在 Retrofit for Android 中外部化基本 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55518814/