如何在Android Studio中运行不同的产品口味

sau*_*atz 22 android

我正在编写我的第一个Android应用程序,而我只是开始使用产品风味.我有一个广告支持的应用程序测试版,我正在编写一个没有广告的付费版本.我想,我可以编译这两种口味.当我打开gradle窗口时,我会看到像"编译AdsDebugSources"和"编译PremiumDebugSources"这样的目标.

现在,如果我双击其中任何一个,构建运行完成没有错误,但我无法弄清楚如何运行结果.如果我点击屏幕顶部的绿色"运行"箭头,我就永远无法运行高级应用.

只有一个条目,"app"导致在连接的设备上安装并运行apk,它是AdsDebug版本.我想我需要添加一个新配置,但我找不到任何甚至提到"味道"这个词的文档.

我已经尝试添加配置,但我不明白这些问题是什么意思.我查看了默认应用程序的设置,但它们似乎没有多大意义.我如何告诉它我想要我的应用程序的高级版本?

或者我的问题与配置无关?我注意到,当我看到Build/Edit Flavors列出的两种风格,但没有填写任何数据字段.我会认为这些将从清单中复制.我忽略了什么吗?

我所做的就是将这些代码添加到app level build.gradle文件:

flavorDimensions "dummy"

productFlavors {
    ads {
        dimension "dummy"
        applicationId 'com.example.myApp.ads'
    }

    premium {
        dimension "dummy"
        applicationId 'com.example.myApp.premium'
    }
Run Code Online (Sandbox Code Playgroud)

}

我还需要做什么?

Com*_*are 44

在Android Studio中打开Build Variants工具.默认情况下,它停靠在左侧.

它将显示项目中的模块列表,每个模块都有一个下拉列表,指示将由"运行"按钮使用的构建变体.

Android Studio Build Variants工具

  • @saulspatz:这……太奇怪了。您可以从主菜单尝试 Tools > Android > Sync Project with Gradle Files,看看现在是否会导致在 Build Variants 工具中显示内容。您也可以考虑在 Android Studio 中创建一个废弃项目并查看那里的 Build Variants 工具,您应该在其中看到一个包含两个构建变体(`debug` 和 `release`)的“app”条目。 (2认同)
  • @johnrubythecat 现在在文件 > 与 Gradle 文件同步项目中 (2认同)