在具有库支持的主项目中找不到带有自定义 buildType 的资源
No resource found with custom buildType from main project with library support
所以,我有以下项目结构:
我有我的主要项目,其中包含一些不错的布局。
我也有我的图书馆项目,它有一些颜色,维度值等等。
主要项目
- 调试构建类型
- env1 构建类型
- env2 构建类型
图书馆项目
- 调试构建类型
- 发布buildType
在添加自定义 buildType 之前一切都运行良好:主项目有布局,我在其中使用了库项目中的 res/drawables/colors。
将我的自定义 buildTypes 添加到我的主项目后 gradle 我无法再构建该项目,说找不到具有该名称的资源。重要的是,只有当我选择其他然后调试 buildType 时才会发生这种情况。通过调试它仍然有效,但我无法在端点之间进行更改。
有人能告诉我,为什么库项目无法提供资源(使用调试配置)?
任何可能的解决方案?
我想要的是:
最终 APK == 任何自定义构建类型 + 库调试构建类型
我现在能做的:
最终 APK == debug buildType + debug BuildType
请从我的主项目中找到代码 gradle:
`debug{
可调试为真;
测试覆盖启用真;
//默认值
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
Error:(1) No resource
found that matches the given name (at 'background' with value
'@color/manual_bg_color’).
其中 failover_tutorial.xml 位于主项目中,@color 应该来自库。
所以,我找到了以下解决方案:
- 点击应用模块并进入模块设置
- 在左侧模块列表 select 'app' 并转到 'Dependencies' 选项卡
- 查找您的库项目作为依赖项
- 确保 'Scope' 不是 'Debug compile',如果它被设置为 'Compile'
通过这样做,它将使用您所有的 buildTypes 进行编译。
所以,我有以下项目结构:
我有我的主要项目,其中包含一些不错的布局。 我也有我的图书馆项目,它有一些颜色,维度值等等。
主要项目
- 调试构建类型
- env1 构建类型
- env2 构建类型
图书馆项目
- 调试构建类型
- 发布buildType
在添加自定义 buildType 之前一切都运行良好:主项目有布局,我在其中使用了库项目中的 res/drawables/colors。
将我的自定义 buildTypes 添加到我的主项目后 gradle 我无法再构建该项目,说找不到具有该名称的资源。重要的是,只有当我选择其他然后调试 buildType 时才会发生这种情况。通过调试它仍然有效,但我无法在端点之间进行更改。
有人能告诉我,为什么库项目无法提供资源(使用调试配置)?
任何可能的解决方案?
我想要的是: 最终 APK == 任何自定义构建类型 + 库调试构建类型
我现在能做的: 最终 APK == debug buildType + debug BuildType
请从我的主项目中找到代码 gradle:
`debug{
可调试为真;
测试覆盖启用真;
//默认值
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
Error:(1) No resource found that matches the given name (at 'background' with value '@color/manual_bg_color’).
其中 failover_tutorial.xml 位于主项目中,@color 应该来自库。
所以,我找到了以下解决方案:
- 点击应用模块并进入模块设置
- 在左侧模块列表 select 'app' 并转到 'Dependencies' 选项卡
- 查找您的库项目作为依赖项
- 确保 'Scope' 不是 'Debug compile',如果它被设置为 'Compile'
通过这样做,它将使用您所有的 buildTypes 进行编译。