gpt4 book ai didi

android - 带有口味和包装名称的 Douts

转载 作者:太空宇宙 更新时间:2023-11-03 11:00:29 24 4
gpt4 key购买 nike

我的应用程序中有两种 Flavors,所以我的项目具有以下结构:

productFlavors {
green {
resValue "string", "app_name", "green"
minSdkVersion 14
applicationId 'com.company.green'
targetSdkVersion 22
versionCode 3
versionName '3.0.3'
}

red {
resValue "string", "app_name", "red"
minSdkVersion 14
applicationId 'com.company.red'
targetSdkVersion 22
versionCode 3
versionName '3.0.3'
}
}

此外,我在主包中的每个 Flavor 和公共(public)类中都有不同的类实现。
现在假设我必须实现这个类:

MyClass

该类对每种口味都有不同的实现,所以我在绿色和红色的 Flavor

中实现该类

在绿色 Flavor 上创建 MyClass 之后,我遇到了这个错误在类里面。

package name com.company.MyClass does not correspond to the file path

我也试过

package com.company.green.MyClass

但是我得到了相同的包名错误

所以我的问题是:每个 Flavor 的正确包名是什么?

最佳答案

文件 MyClass.java应该位于两个地方: <project>/<module>/src/green/java/com/company/MyClass.java <project>/<module>/src/red/java/com/company/MyClass.java

并且应该有 package com.company ,
所以applicationId flavor 中的设置不会影响类的包名和位置。

然后你可以做 import com.company.MyClass你项目中的任何地方和适当版本的MyClass将被采取。

file tree

有关更多详细信息,请查看此 gist .

关于android - 带有口味和包装名称的 Douts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45031008/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com