Android 多环境(生产、测试、开发)多域名网络配置

Product Flavors

build.gradle 配置多个 Flavor

app/build.gradle 文件中配置:

java 复制代码
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

java 复制代码
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 地址了。

相关推荐
_一条咸鱼_6 小时前
揭秘 Android View 位移原理:源码级深度剖析
android·面试·android jetpack
_一条咸鱼_6 小时前
深度剖析:Android View 滑动原理大揭秘
android·面试·android jetpack
_一条咸鱼_6 小时前
深度揭秘:Android View 滑动冲突原理全解析
android·面试·android jetpack
_一条咸鱼_6 小时前
揭秘 Android View 惯性滑动原理:从源码到实战
android·面试·android jetpack
ansondroider8 小时前
Android adb 安装应用失败(安装次数限制)
android·adb·install
艾小逗9 小时前
uniapp中检查版本,提示升级app,安卓下载apk,ios跳转应用商店
android·ios·uni-app·app升级
tangweiguo0305198711 小时前
Android Kotlin ViewModel 错误处理:最佳 Toast 提示方案详解
android·kotlin
火柴就是我11 小时前
android 基于 PhotoEditor 这个库 开发类似于dlabel的功能_2
android
每次的天空12 小时前
Android学习总结之Java篇(一)
android·java·学习