【问题标题】:Manually Created Flavor Resources Not Building Correctly手动创建的风味资源未正确构建
【发布时间】:2018-06-28 19:35:12
【问题描述】:

我有一个奇怪的问题。我已经找到了解决问题的方法,但是我很好奇为什么当我手动尝试创建风味的资产文件夹时它不起作用。

所以我想在已经包含一些风格的现有 Android 项目中添加一个新的风格。我进入了 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 SetValues 作为 Resource Type,创建"/app/src/Flavor_Two/res/values" 文件夹和父文件夹。它与我之前手动创建的文件夹名称相同。然后我复制了strings.xml 文件。我只需要通过 Android Studio 的菜单创建初始文件夹;我可以复制我之前使用的“mimap-hdpi”文件夹,并且味道会正确构建。

我的问题是:
为什么 Android Studio 和 Gradle 看不到我手动创建的文件夹,如果我想通过菜单制作文件夹,我还需要做什么?以后手动做所有事情。

如果有人有任何见解,谢谢。


Android Studio 版本:3.1.3
Gradle 构建版本:3.1.3
构建工具版本:27.0.3
编译的 SDK 版本:23
操作系统:Windows 10

【问题讨论】:

  • 我正在使用最新更新的 Android Studio 3.x 版本,并且遇到与海报相同的问题。在构建过程中无法识别手动创建的文件夹和文件。这是一个错误吗?

标签: android android-studio android-gradle-plugin android-flavors


【解决方案1】:

应该没问题。可能只是同步问题。尝试手动创建文件夹,然后在手动创建目录后点击 Android Studio 中的“与文件系统同步”和“使用 Gradle 文件同步项目”工具栏图标。位于保存图标旁边。

【讨论】:

    猜你喜欢
    • 2016-04-04
    • 2023-04-03
    • 1970-01-01
    • 2023-01-23
    • 1970-01-01
    • 1970-01-01
    • 2023-01-31
    • 1970-01-01
    • 2015-09-30
    相关资源
    最近更新 更多