在具有库支持的主项目中找不到包含自定义buildType的资源

时间:2017-07-11 18:36:16

标签: android android-build-type

所以,我有以下项目结构:

我的主要项目包含一些不错的布局。 我也有我的图书馆项目,它有一些颜色,尺寸值等等。

主要项目

  • debug buildType
  • env1 buildType
  • env2 buildType

图书馆计划

  • debug buildType
  • 发布buildType

在添加自定义buildType之前,一切都运行良好:主项目有布局,我使用了库项目中的res / drawables / colors。

在我将自定义buildTypes添加到我的主项目gradle之后,我无法再构建项目,说没有找到具有该名称的资源。重要的是,只有在我选择其他调试buildType时才会发生这种情况。使用调试它仍然有效,但我不能在端点之间进行更改。

有人能告诉我,为什么图书馆项目无法提供资源(使用调试配置)?

任何可能的解决方案?

我想拥有什么: final APK ==任何自定义buildType +库debug buildType

我现在能做什么: final APK == debug buildType + debug BuildType

请从主项目的gradle中找到代码:

`debug{
  

debuggable true;
    testCoverageEnabled true;
  //默认值
   resValue“string”,“app_name”,“MyApp S1”
     buildConfigField“String”,“applicationName”,“MyApp S1”'     buildConfigField“String”,“applicationVersion”,“”4.0“'
 }
 ENV2 {
initWith(buildTypes.debug)        applicationIdSuffix'.envtwo'
      versionNameSuffix“_ ENV 2”
 resValue“string”,“app_name”,“MyApp ENV2”
      buildConfigField“String”,“applicationName”,“MyApp ENV2”'   }`

错误消息:

  

/app/src/main/res/layout/failover_tutorial.xml

     

错误:(1)没有资源   发现匹配给定的名称(在'背景'与值   “@颜色/ manual_bg_color”)。

其中failover_tutorial.xml位于主项目中,@ color应来自库。

1 个答案:

答案 0 :(得分:0)

所以,我找到了以下解决方案:

  1. 单击应用程序模块并转到模块设置
  2. 左侧模块列表中的
  3. 选择' app'并转到依赖关系'标签
  4. 将您的图书馆项目视为依赖
  5. 确保'范围'不是'调试编译',如果它然后设置为'编译'
  6. 通过这样做,它将使用所有buildTypes进行编译。