我有一个奇怪的问题。我已经想出了解决该问题的方法,但是我很好奇为什么手动尝试创建Flavor的资产文件夹时该方法不起作用。
因此,我想向现有的Android项目中添加一个新的Flavor,该项目已经包含了几种样式。我进入了 app级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 查找本地数据库,该数据库应该为com.fancyapp.two
,但找到的是com.fancyapp.APP_NAME
。
我确定是否删除了手动创建的文件夹Flavor_Two
,而是通过Android Studio的菜单"File > New > Android Resource Directory"
并选择了Flavor_Two
作为Source Set
和{{1} }作为Values
,创建了Resource Type
文件夹和父文件夹。它与我之前手动创建的文件夹名称相同。然后,我复制了"/app/src/Flavor_Two/res/values"
文件。我只需要通过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
答案 0 :(得分:1)
应该可以了。可能只是同步问题。尝试手动创建文件夹,然后在手动创建目录后在Android Studio中点击“与文件系统同步”,然后单击“与Gradle文件同步项目”工具栏图标。保存图标旁边的。