You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android配置productFlavors时Baseline Profile构建失败如何解决

问题原因

添加产品风味后,benchmark测试模块依赖主app模块时,仅声明了匹配benchmark构建类型、对应AGP版本的运行时组件要求,没有指定要匹配的产品风味。此时devBenchmarkRuntimeElements和liveBenchmarkRuntimeElements两个变体都满足已声明的匹配规则,Gradle无法自动选择,因此构建失败。

解决方法

根据实际需求二选一即可:

方法一:指定默认匹配的产品风味

如果只需要针对单个风味跑基准测试、生成Baseline Profiles,在benchmark模块的build.gradle文件中添加配置,明确指定默认匹配的风味:

android {
    // 原有配置保持不变
    defaultConfig {
        // 和app模块的风味维度对应,第二个参数填你要测试的风味名
        missingDimensionStrategy 'default', 'live'
        // 若要测试dev风味,将上面的'live'改为'dev'即可
    }
}

如果benchmark模块本身需要区分风味,直接在该模块下配置和app模块同维度、同名的产品风味,Gradle会自动完成同名风味的匹配。

方法二:执行对应风味的专属测试任务

如果需要为两个风味分别跑测试、生成对应基线配置,不需要额外加上述配置,直接执行带风味标识的专属任务即可,任务名遵循connected<风味名首字母大写>BenchmarkAndroidTest规则:

  • 测试dev风味:执行命令 ./gradlew :benchmark:connectedDevBenchmarkAndroidTest
  • 测试live风味:执行命令 ./gradlew :benchmark:connectedLiveBenchmarkAndroidTest
    执行对应风味的专属任务时,Gradle会自动匹配对应变体,不会出现选择冲突。
补充说明
  • Baseline Profiles建议针对正式发布的生产风味(即示例中的live风味)生成,保证规则匹配正式包的代码混淆、优化逻辑,性能提升效果最准确。
  • 后续新增产品风味时,要么在benchmark模块补充对应的missingDimensionStrategy规则,要么直接执行对应风味命名的专属测试任务即可。

内容的提问来源于stack exchange,提问作者TRose

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 00:33:21