【问题标题】:How to change Android Studio's default build flavor?如何更改 Android Studio 的默认构建风格?
【发布时间】:2019-02-03 22:20:34
【问题描述】:

我有一个配置了多种变体和风格的项目:

buildTypes {
    debug {
    }
    release {
    }
}
flavorDimensions "default"
productFlavors {
    mock {
    }
    alpha {
    }
    beta {
    }
    prod {
    }
}

每当我从另一个项目打开项目(因此启动 Android Studio)时,它默认选择 mockDebug 变体。通常我最终会先构建这个,然后意识到我使用了错误的变体。

有没有办法告诉 Android Studio 默认到一个变体,比如说betaDebug

技术:Android Studio 3.1.4、Gradle wrapper 4.4、Android Gradle 3.1.4。

【问题讨论】:

  • 如有重复请举报。
  • 它不记得你在重新打开工作室时构建的最后一个/最近的变体吗?
  • 不是最后一个使用的,没有。请参阅(简单的)accepte asnwer。

标签: android android-studio android-gradle-plugin build.gradle android-studio-3.0


【解决方案1】:

使用 Android Studio 3.5+ 您可以设置默认值:

android {
  flavorDimensions "stage", "target"
  productFlavors {
    develop {
      getIsDefault().set(true) // that does the magic
      dimension "stage"
      ...

当使用 KTS 时,它看起来像这样:

android {
  flavorDimensions("stage", "target")
  productFlavors {
    create("develop") {
      isDefault = true
      dimension("stage")
      ...

【讨论】:

  • 你是怎么知道的?看源码?只是好奇人们第一次是怎么做的=)
  • @MaksimTuraev 很可能来自this issue,在this SO answer 中引用。
  • @MaksimTuraev 我实际上时不时地检查来源 (stackoverflow.com/a/44122888/3660290)。但最简单的方法是切换到 KTS,因为类型安全的访问器提供自动完成功能。
  • 对于 Groovy 文件,“getIsDefault().set(true)”可以替换为“isDefault true”。
【解决方案2】:

实际上对我有用的是启用“Android Studio Preferences -> Experimental -> Only sync the active variant”。重新打开AS或重新同步时保留选择的构建变体,基本解决了原来的问题。

AS/AGP v4.1。

【讨论】:

    【解决方案3】:

    更改您在 productFlavors 中定义它们的顺序。 IDE 总是加载它在其中找到的第一个风格作为默认值。

    【讨论】:

    • 我真傻。谢谢。
    • 这对我来说似乎不是这样——我的Build Variants 列表只是按字母数字排序的。更改 productFlavors 块中的顺序不会影响它。这至少适用于 Android Studio 3.1.3。
    猜你喜欢
    • 2014-10-24
    • 1970-01-01
    • 1970-01-01
    • 2022-10-19
    • 2022-08-24
    • 2016-06-26
    • 1970-01-01
    • 2016-03-06
    • 1970-01-01
    相关资源
    最近更新 更多