aar*_*ino 5 android gradle android-gradle-plugin android-module
我的模块化 Android 项目subprojects在根 build.gradle 中使用,以最小化每个子模块的 build.gradle 中所需的配置。例如,我可以使用它来将我们的自定义 buildType 添加到每个模块
subprojects
afterEvaluate { project ->
if (project.plugins.findPlugin('android') ?: project.plugins.findPlugin('android-library')) {
android {
buildTypes {
qa {
initWith debug
matchingFallbacks = ['debug']
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的假设是,如果我还将此构建配置添加到模块级别 build.gradle 中,它将覆盖项目级别定义的配置。然而,情况似乎并非如此。
如果我将以下内容添加到我的app / build.gradle时,我的应用程序将在选择qa buildtype时,请结束后缀'dev'。
buildTypes {
debug {
applicationIdSuffix = ".dev"
signingConfig signingConfigs.debug
}
qa {
initWith debug
applicationIdSuffix = ".qa"
matchingFallbacks = ['debug']
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试在模块中使用特定于 buildType 的 buildConfigFields 时,同样的问题也适用;他们被忽略了。
如何获取模块的 buildType 声明以覆盖父项目中定义的声明?我阅读了 gradle 文档,它建议使用类似 的语法android.buildTypes.qa{...},但是由于“方法”qa 未被识别,这会导致错误。
| 归档时间: |
|
| 查看次数: |
457 次 |
| 最近记录: |