java - 创建特定 flavor 的类

标签 java android android-studio android-gradle-plugin android-productflavors

我为我的 Android 应用程序创建了两个 Flavors,包名称为 com.test.flavors

我创建了两种口味:

1) flavor1
2) flavor2

现在我正在尝试为其创建特定于 flavor 的类:我已在 src 文件夹下创建了 flavor1 文件夹,并在该文件夹下创建了包名为 com.test.flavors 的文件夹。

所以基本上是这样的:

src--->|
       |----->flavor1 -->java-->com.test.flavors
       |
       |----->main --> All classes and resources as generally present
       |
       |----->flavor2 --> java-->This is where I cannot create the package directory

现在,当我尝试为 flavor 2 实现同样的目标时,我无法实现它。在 flavor2 文件夹中创建 java 文件夹后,我无法创建名为 com.test.flavors 的包文件夹。此外,Android Studio 查看器中的 java 文件夹对于 main 以及 flavor1 为蓝色,而对于 flavor2 则为蓝色颜色不是蓝色。

谁能帮我纠正这个错误吗?

最佳答案

为了能够编译特定风格的文件,您必须:

  1. 将其包含到您的 build.gradle 脚本中。
  2. 点击将项目与 Gradle 文件同步
  3. Build Variants面板中切换到基于该风格的构建变体(以DebugRelease结尾,即使它是第一个一种是开发时的共同选择)。

这非常烦人,因为您在编码时无法编译多个构建变体。如果您将一个类添加到从主代码引用它的 flavor 中,并且忘记将其添加到同一 flavor 维度中的其他 flavor 中,那么您将破坏它们而不会看到任何错误。不过,您始终可以从 Build > Generate Signed APK 向导构建多个构建变体(在 Mac 上,只需在选择时按 cmd您想要构建的所有变体),因此某些 APK 可能会构建,而另一些则不会。

关于java - 创建特定 flavor 的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51349253/

相关文章:

android - 未找到与给定名称匹配的资源...升级 compileSdkVerion 和 buildToolsVersion 后

Android Studio : Use GPU

java - ListPreference 抛出 NullPointerException

java - 通过打开/关闭 300 多个复选框来改善用户体验

java - Android NFC 读卡器给出 "avc: denied"

android - 用于 Firebase 和 Google Analytics 的 google-services.json

android - 未注释的参数覆盖@NonNull 参数

java - 使用 RTMPT 时 Red5 几秒钟后崩溃

java - 合并回来时不会调用分离实体的生命周期回调

java - 从android部分发送图像并从pc接收它,但是图像已损坏