我有一个奇怪的问题。我已经找到了解决问题的方法,但是我很好奇为什么当我手动尝试创建风味的资产文件夹时它不起作用。
所以我想在一个已经包含一些风格的现有 Android 项目中添加一个新的 Flavor。我进入了应用程序级别的 build.gradle文件并添加了新的风格。在这个例子中,我添加Flavor_Two
:
defaultConfig {
applicationId "com.fancyapp.APP_NAME"
}
flavorDimensions "client"
productFlavors {
Flavor_One {
applicationId 'com.fancyapp.one'
dimension "client"
}
Flavor_Two {
applicationId 'com.fancyapp.two'
dimension "client"
}
}
然后我手动进入我的文件资源管理器并创建了资产文件夹和文件:
"/app/src/Flavor_Two/res/values/strings.xml"
"/app/src/Flavor_Two/res/mimap-hdpi/icon.png"
构建风味时,它不使用 Flavor_Two 资产,而是使用默认值,即com.fancyapp.APP_NAME
不是com.fancyapp.two
. 该应用程序崩溃是因为它还在通过 PackageName 查找本地数据库,而PackageName应该是com.fancyapp.two
,而是找到com.fancyapp.APP_NAME
.
我想知道我是否删除了手动创建的文件夹Flavor_Two
,而是通过 Android Studio 的菜单"File > New > Android Resource Directory"
并选择 myFlavor_Two
作为Source Set
和Values
作为Resource Type
创建"/app/src/Flavor_Two/res/values"
文件夹和父文件夹的文件夹。它与我之前手动创建的文件夹名称相同。然后我复制了strings.xml
文件。我只需要通过 Android Studio 的菜单创建初始文件夹;我可以复制我之前使用过的“mimap-hdpi”文件夹,并且味道会正确构建。
我的问题是:
为什么 Android Studio 和 Gradle 看不到我手动创建的文件夹,如果我以后想手动执行所有操作,我还需要通过菜单制作文件夹做什么。
谢谢,如果有人有任何见解。
Android Studio 版本:3.1.3
Gradle Build 版本:3.1.3
Buildtools 版本:27.0.3
编译 SDK 版本:23
操作系统:Windows 10