Android Studio/IntelliJ的Run Configuration能否切换Build Variant?
解决方案
方法1:直接绑定Run Configuration和对应Build Variant(推荐)
Android Studio 3.0及以上版本原生支持Run Configuration和构建变体绑定,不需要手动写gradlew安装命令:
- 打开顶部菜单栏
Run->Edit Configurations,找到你之前创建的AzureDebug这类配置 - 在
General选项卡下,找到Deploy部分的Build Variants下拉菜单,直接选中你要绑定的变体(比如azureDebug) - 删掉你之前自定义的
gradlew installAzureDebug执行步骤,AS会自动根据你选的变体完成构建、安装、启动流程,完全不受侧边栏当前选中的变体影响 - 所有其他变体对应的Run Configuration都按这个逻辑配置即可,切换Run Configuration的时候会自动切换对应变体
方法2:保留自定义gradle执行命令的适配方案
如果你一定要保留自定义的gradle执行逻辑,需要额外修改启动配置避免AS拉起错误变体:
- 先确认每个构建变体对应的完整applicationId(如果配置了flavor后缀、debug后缀的话要带上对应后缀)
- 在Run Configuration的
Before launch步骤里,保留gradlew installAzureDebug的基础上,新增一个adb命令执行步骤:adb shell am start -n 对应变体的完整包名/启动Activity全类名 - 同时在
General选项卡的Launch Options里,把Launch属性改为Nothing,屏蔽AS默认启动当前侧边栏选中变体的逻辑
问题根因说明
你之前的配置只覆盖了安装逻辑,没有修改AS默认的启动逻辑,AS默认会启动侧边栏Build Variants面板当前选中的变体,才会出现安装了Debug版本但拉起Release版本的问题。优先使用方法1的原生绑定逻辑,后续修改构建配置不需要同步改Run Configuration的自定义命令,维护成本更低。
内容的提问来源于stack exchange,提问作者rtsketo
相关产品推荐
相关产品推荐

