使用 Gradle 构建配置字段不起作用
Using Gradle Build Config Fields Not Working
我正在尝试使用我的 build.gradle 中的 API_URL 来进行改造,但我在 RetrofitServices 文件中收到“未解决的引用”错误,我该如何解决?
- Build.gradle:
flavorDimensions "environment"
productFlavors{
create("develop"){
dimension = "environment"
applicationIdSuffix = ".develop"
versionNameSuffix = "-develop"
buildConfigField "String", "API_URL", "\"https://rickandmortyapi.com/\""
}
create("production"){
dimension = "environment"
applicationIdSuffix = ".production"
versionNameSuffix = "-production"
buildConfigField "String", "API_URL", "\"https://rickandmortyapi.com/\""
}
}
- 改造服务:
object RetrofitServices {
val instance: Retrofit
get() {
val httpClient = OkHttpClient.Builder()
.addInterceptor(HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY))
.build()
return Retrofit.Builder()
.baseUrl(BuildConfig.API_URL)
.addConverterFactory(GsonConverterFactory.create())
.client(httpClient)
.build()
}
}
当您将 buildConfigField
添加到 Gradle 设置时,这会告诉构建工具将所需的字段添加到 BuildConfig
。但是,添加字段不会在您键入 build.gradle
时立即发生。它会在应用程序的下一个版本中发生。然后,应该会出现新字段。
因此,在尝试引用新字段之前构建应用程序,之后新字段应该就在那里。
如果该字段似乎没有显示:
确保导入正确BuildConfig
确保您的 build.gradle
设置为每个可能的构建变体定义了 buildConfigField
我正在尝试使用我的 build.gradle 中的 API_URL 来进行改造,但我在 RetrofitServices 文件中收到“未解决的引用”错误,我该如何解决?
- Build.gradle:
flavorDimensions "environment"
productFlavors{
create("develop"){
dimension = "environment"
applicationIdSuffix = ".develop"
versionNameSuffix = "-develop"
buildConfigField "String", "API_URL", "\"https://rickandmortyapi.com/\""
}
create("production"){
dimension = "environment"
applicationIdSuffix = ".production"
versionNameSuffix = "-production"
buildConfigField "String", "API_URL", "\"https://rickandmortyapi.com/\""
}
}
- 改造服务:
object RetrofitServices {
val instance: Retrofit
get() {
val httpClient = OkHttpClient.Builder()
.addInterceptor(HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY))
.build()
return Retrofit.Builder()
.baseUrl(BuildConfig.API_URL)
.addConverterFactory(GsonConverterFactory.create())
.client(httpClient)
.build()
}
}
当您将 buildConfigField
添加到 Gradle 设置时,这会告诉构建工具将所需的字段添加到 BuildConfig
。但是,添加字段不会在您键入 build.gradle
时立即发生。它会在应用程序的下一个版本中发生。然后,应该会出现新字段。
因此,在尝试引用新字段之前构建应用程序,之后新字段应该就在那里。
如果该字段似乎没有显示:
确保导入正确
BuildConfig
确保您的
build.gradle
设置为每个可能的构建变体定义了buildConfigField