【发布时间】:2013-05-20 04:12:18
【问题描述】:
请注意:答案在 Xavier 的回答之后编辑
我正在尝试为 Android Studio 中的同一个应用程序项目使用不同的 Build Flavors。但是,我似乎很难将其配置为正常工作。
步骤:
- 创建一个名为“Test”的新 Android Studio 项目。
-
打开 build.gradle* 并添加以下行:
productFlavors { flavor1 { packageName 'com.android.studio.test.flavor1' } flavor2 { packageName 'com.android.studio.test.flavor2' } } - 重新启动 Android Studio 后,我现在在 Build Variants 部分下看到 4 个构建变体。这意味着到目前为止,我们成功地设置了产品口味。 **
-
为 flavor1 创建了一个新的 Source 文件夹;但是,我不确定我是否以正确的方式进行操作。我是这样做的:
- 请记住,我的这个项目的包名称是:
com.foo.test - 右键单击
src文件夹,对于flavor1,我实际上在资源管理器中创建了各个文件夹,其结构为src/flavor1/java/com/foo/test/MainActivity.java。 - 上述操作运行良好,因为“java”文件夹为蓝色,这意味着 IDE 知道它是一个活动源目录。此外,包是自动创建的。尽管如此,我还是收到了发现重复类的警告。 See screenshot here.
- 对于flavor2,我尝试手动创建包,但是flavor2的'src'文件夹似乎不是蓝色的,因此右键单击时选项不同,并且我无法使用'New Package'。 See image here.
- 请注意,对于flavor1,我还创建了一个“res”目录,它确实会变成蓝色,但尽管如此,它不提供创建 Android 资源文件或 Andorid 资源目录的能力,以防万一为不同的口味使用不同的资源。
- 请记住,我的这个项目的包名称是:
我做错了吗?还是我错过了什么?如果您需要更多信息,请告诉我。
*我的项目似乎有 两个 build.gradle 文件。一个位于项目文件夹的根目录 (\GradleTest),这个是空的。第二个位于 \GradleTest 子文件夹的根目录,也标记为“GradleTest”(GradleTest-GradleTest),这是打开时已经有代码的那个;因此,那是我编辑的那个。
** 我检查了 gradle 设置,显然 Use auto-import 是 already enabled. 尽管如此,还是更改了 build.gradle 文件 doesn't automatically update 构建变体。 注意:我也尝试过使用 Build - Rebuild Project 和/或 Build - Make Project,不行。我仍然必须关闭项目,然后重新打开才能使更改生效。
【问题讨论】:
-
请注意,现在支持
applicationId而不是packageName。
标签: android intellij-idea gradle android-studio