寻求Android Studio/Gradle按buildType配置raw目录AAD B2C JSON文件示例
实现多环境raw资源适配方案
正确的目录配置逻辑
你之前在main的raw目录下建子目录的方式不符合Android资源覆盖规则,Android会按构建类型/产品风味对应的src子目录做资源优先级匹配,相同文件名的资源会优先使用当前构建变体对应目录下的文件。
参考目录结构如下:
app/ ├── src/ │ ├── main/ │ │ └── res/ │ │ └── raw/ │ │ # 通用资源放这里,无需放置各环境差异化的auth_config_multiple_account.json,避免冲突 │ ├── dev/ │ │ └── res/ │ │ └── raw/ │ │ └── auth_config_multiple_account.json # 开发环境专属配置 │ ├── test/ │ │ └── res/ │ │ └── raw/ │ │ └── auth_config_multiple_account.json # 测试环境专属配置 │ └── prod/ │ └── res/ │ └── raw/ │ └── auth_config_multiple_account.json # 生产环境专属配置 └── build.gradle
build.gradle 配置示例
确保你的模块级build.gradle中已经声明了对应buildType:
android { namespace "com.your.app.package" compileSdk 34 defaultConfig { applicationId "com.your.app.package" minSdk 24 targetSdk 34 versionCode 1 versionName "1.0" } buildTypes { dev { debuggable true minifyEnabled false } test { debuggable true minifyEnabled false } prod { debuggable false minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } // 后续适配productFlavor的逻辑完全一致,只需在src下新建对应flavor名称的目录,放入对应raw资源即可 }
完成配置后无需修改原有代码,R.raw.auth_config_multiple_account会自动匹配当前构建变体对应的配置文件。
Android Studio默认运行的buildType说明
默认点击运行按钮使用的是debug构建类型,你可以通过「顶部菜单栏 > Run > Edit Configurations > General > Build Variants」查看或修改当前运行的构建变体。
内容的提问来源于stack exchange,提问作者lcj
相关产品推荐
相关产品推荐

