Add2App: Fix crash resulted from hard-code module 'app' based resource copy. (#27154)

This commit is contained in:
KyleWong
2019-01-31 02:29:29 +08:00
committed by Jonah Williams
parent 6d20ff2446
commit 7c19ec6ca8
2 changed files with 15 additions and 1 deletions

View File

@@ -429,8 +429,16 @@ class FlutterPlugin implements Plugin<Project> {
}
if (packageAssets) {
String mainModuleName = "app"
try {
String tmpModuleName = project.rootProject.ext.mainModuleName
if (tmpModuleName != null && !tmpModuleName.empty) {
mainModuleName = tmpModuleName
}
} catch (Exception e) {
}
// Only include configurations that exist in parent project.
Task mergeAssets = project.tasks.findByPath(":app:merge${variant.name.capitalize()}Assets")
Task mergeAssets = project.tasks.findByPath(":${mainModuleName}:merge${variant.name.capitalize()}Assets")
if (mergeAssets) {
mergeAssets.dependsOn(copyFlutterAssetsTask)
}

View File

@@ -19,6 +19,12 @@ plugins.each { name, path ->
}
gradle.getGradle().projectsLoaded { g ->
g.rootProject.beforeEvaluate { p ->
_mainModuleName = binding.variables['mainModuleName']
if (_mainModuleName != null && !_mainModuleName.empty) {
p.ext.mainModuleName = _mainModuleName
}
}
g.rootProject.afterEvaluate { p ->
p.subprojects { sp ->
if (sp.name != 'flutter') {