diff --git a/packages/flutter_tools/gradle/flutter.gradle b/packages/flutter_tools/gradle/flutter.gradle index 5583500a6a..e20bc424b9 100644 --- a/packages/flutter_tools/gradle/flutter.gradle +++ b/packages/flutter_tools/gradle/flutter.gradle @@ -429,8 +429,16 @@ class FlutterPlugin implements Plugin { } 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) } diff --git a/packages/flutter_tools/templates/module/android/library/include_flutter.groovy.copy.tmpl b/packages/flutter_tools/templates/module/android/library/include_flutter.groovy.copy.tmpl index 26d060ea2d..c6939be730 100644 --- a/packages/flutter_tools/templates/module/android/library/include_flutter.groovy.copy.tmpl +++ b/packages/flutter_tools/templates/module/android/library/include_flutter.groovy.copy.tmpl @@ -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') {