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 地址了。

相关推荐
MSTcheng.16 分钟前
【C语言】自定义类型:结构体,联合,枚举(下)
android·java·c语言
博界IT精灵24 分钟前
分支与循环(上)
android
droidHZ24 分钟前
Compose Multiplatform 之旅 — 图标、图片展示(coil)
android·kotlin
续天续地25 分钟前
求助: Compose开发多图片列表时遇到严重卡顿问题
android
追寻向上1 小时前
基于图像比对的跨平台UI一致性校验工具开发全流程指南——Android/iOS/Web三端自动化测试实战
android·ui·ios
w23617346013 小时前
Android多线程通信机制
android·多线程通信机制
每次的天空4 小时前
Android 应用开发:架构重构、性能优化与离线缓存系统实现
android·缓存·性能优化·重构·架构·kotlin
Bonnie_cat6 小时前
Android Framwork 之深入理解 IPC Binder机制
android·binder
syy敬礼8 小时前
Android实现简易计算器
android
CL_IN12 小时前
高效集成销售订单数据到MySQL的方法
android·数据库·mysql