Android build默认在build.gradle中构建什么产品风味?

Joe*_*Joe 156 android gradle android-studio android-gradle-plugin

我们有一个使用新Gradle构建系统的Android项目,我们使用Android Studio作为开发工具.如果指定了多种产品风格build.gradle,我们会注意到Android Studio按字母顺序构建了第一个.有没有办法告诉Android Studio在开发过程中只构建和测试特定的产品风格?

Xav*_*het 325

在Studio窗口的左下方有一个名为"Build Variants"的停靠视图.

打开它并选择您想要处理的任何变体.这将影响构建哪个变体,但也会影响已启用的源文件夹,这将驱动代码和资源编辑器的完成.

  • 变体是风味和构造类型的组合.您只能部署变体.你永远不能建立一个只有一种风味的apk. (34认同)
  • 凉.有没有办法在初始导入时自定义哪一个? (12认同)
  • 如果您感兴趣,可以使用命令行构建指定的变体:./ gradlew assemble <Flavor1> <Flavor2> <...> <BuildType>,例如assembleGooglePlayRelease.您可以使用以下命令在连接的设备或模拟器上构建和安装:./ gradlew install <Flavor1> <Flavor2> <...> <BuildType> (5认同)
  • 但是,Android工作室默认构建应用程序的产品风格是什么? (4认同)
  • 我不这么认为.如果我们可以添加这个,我可以问工程师.但如果您有口味,这可能会因项目而异. (3认同)
  • 如果有一种方法来定义构建风格,我会感兴趣,在签出项目时默认选择该风格.目前它选择第二种风味和第二种类型,但我想以我的方式定义它 (3认同)
  • 嗯,这个面板只选择构建变体,而不是产品风味.让Android运行变种的任何方式? (2认同)
  • 在 Android Studio 3.5 中,您可以将 `isDefault true` 放入 build.gradle 的 buildtype 中,如下所示: `android { buildTypes { dev { isDefault true } } }` (2认同)

Ant*_*aev 17

目前似乎无法选择默认风味.Android问题跟踪器中有一项功能请求:

https://code.google.com/p/android/issues/detail?id=64917

您可以对请求加注星标/投票,因此它在Android开发工具积压上获得更高的优先级.

  • 此功能将在Android Studio 3.5中提供。不开玩笑-这花了5年才能实现!(查看票证创建日期) (2认同)

小智 15

是的,有一种方法:

android {
    productFlavors {
        foo {
            isDefault true
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

其他具有调试构建类型的变体受到青睐。

它是在 Android Studio 3.5 中添加的,请参阅功能请求

“包含在 Android Gradle 插件 3.5.0-alpha08 和 Android Studio 3.5 Canary 8 [3.5.0.7] 中。

使用旧 AGP 的项目和没有显式设置的项目的启发式也已更新,以支持具有构建类型调试的变体,如提交消息中所述。”

  • isDefault 被声明为最终的,并且没有可用的设置器。但是我们可以使用 isDefault.set(true) (2认同)