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

相关推荐
龙之叶3 分钟前
【Android Monkey源码解析一】-系统执行
android
Fate_I_C9 分钟前
Kotlin 中 `@JvmField` 注解的使用
android·开发语言·kotlin
大大祥10 分钟前
一个kotlin实现的视频播放器
android·开发语言·kotlin·音视频
卸载引擎25 分钟前
vue3+vite如何兼容低版本浏览器的白屏问题(安卓7/ios11)
android·javascript
笔夏29 分钟前
【安卓学习之myt】git常用命令
android·git
Eastmount33 分钟前
[论文阅读] (47)LAMD: 基于大模型上下文驱动的Android恶意软件检测与分类
android·论文阅读·大模型·系统安全·恶意代码检测
毕设源码-钟学长34 分钟前
【开题答辩全过程】以 基于安卓的家政服务app为例,包含答辩的问题和答案
android
雪芽蓝域zzs1 小时前
uniapp 判断运行设备类型(安卓、苹果、鸿蒙、微信小程序、H5)
android·uni-app·harmonyos
三天不学习1 小时前
【2025年CSDN博客之星主题创作文章】我在 Python 与数据智能领域的深耕与突破 —— 年度技术复盘与思考
android·数据库·python
lxysbly1 小时前
安卓 PSX 模拟器,手机上重温 PS1 经典的几种选择
android·智能手机