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

相关推荐
pigdreams8 分钟前
Google 官方 Android CLI:让AI直接读布局结构而不是用adb截图验证
android·人工智能·adb
hunterandroid3 小时前
[Android 从零到一] Glide 图片加载原理:三级缓存、生命周期绑定与内存优化
android
法的空间3 小时前
AI 编程时代,为什么 Dart 分析会拖慢大型项目的开发
android·flutter·ios
鱼儿也有烦恼3 小时前
客户端应用架构模式
android·架构
独隅4 小时前
Claude 高效应用实战指南
android·java·开发语言·claude·claude code
硅基手札4 小时前
Android 系统全景专栏 00 · 总目录
android·操作系统·嵌入式开发
YB13754 小时前
Jetpack Compose 动画Crossfade
android
2401_833269305 小时前
Android歌词功能实现
android
恋猫de小郭5 小时前
Flutter 紧急发布 3.47.8 安全升级版本,建议都升级
android·前端·flutter
YB13755 小时前
Jetpack Compose 动画AnimatedContent
android