Product Flavors
在 build.gradle
配置多个 Flavor
在 app/build.gradle
文件中配置:
android {flavorDimensions "default"productFlavors {dev {dimension "default"applicationIdSuffix ".dev"versionNameSuffix "-dev"buildConfigField "String", "BASE_URL", "\"https://api-dev.example.com/\""buildConfigField "String", "AUTH_URL", "\"https://auth-dev.example.com/\""}staging {dimension "default"applicationIdSuffix ".staging"versionNameSuffix "-staging"buildConfigField "String", "BASE_URL", "\"https://api-staging.example.com/\""buildConfigField "String", "AUTH_URL", "\"https://auth-staging.example.com/\""}prod {dimension "default"buildConfigField "String", "BASE_URL", "\"https://api.example.com/\""buildConfigField "String", "AUTH_URL", "\"https://auth.example.com/\""}}
}
在 Java 代码中使用 BuildConfig
public class ApiConfig {public static final String BASE_URL = BuildConfig.BASE_URL;public static final String AUTH_URL = BuildConfig.AUTH_URL;
}
在 Android Studio 选择不同环境
在 Build Variants 选择:
devDebug
stagingDebug
prodRelease
这样就可以使用不同的 API 地址了。