diff --git a/examples/flutter_gallery/android/build.gradle b/examples/flutter_gallery/android/build.gradle index d82a1548b9..ee5325df80 100644 --- a/examples/flutter_gallery/android/build.gradle +++ b/examples/flutter_gallery/android/build.gradle @@ -14,6 +14,12 @@ allprojects { } } +rootProject.buildDir = '../build' +subprojects { + project.buildDir = "${rootProject.buildDir}/${project.name}" + project.evaluationDependsOn(':app') +} + task clean(type: Delete) { delete rootProject.buildDir } diff --git a/examples/flutter_gallery/android/settings.gradle b/examples/flutter_gallery/android/settings.gradle index e7b4def49c..115da6cb4f 100644 --- a/examples/flutter_gallery/android/settings.gradle +++ b/examples/flutter_gallery/android/settings.gradle @@ -1 +1,15 @@ include ':app' + +def flutterProjectRoot = rootProject.projectDir.parentFile.toPath() + +def plugins = new Properties() +def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins') +if (pluginsFile.exists()) { + pluginsFile.withInputStream { stream -> plugins.load(stream) } +} + +plugins.each { name, path -> + def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile() + include ":$name" + project(":$name").projectDir = pluginDirectory +} diff --git a/examples/flutter_view/android/build.gradle b/examples/flutter_view/android/build.gradle index d82a1548b9..ee5325df80 100644 --- a/examples/flutter_view/android/build.gradle +++ b/examples/flutter_view/android/build.gradle @@ -14,6 +14,12 @@ allprojects { } } +rootProject.buildDir = '../build' +subprojects { + project.buildDir = "${rootProject.buildDir}/${project.name}" + project.evaluationDependsOn(':app') +} + task clean(type: Delete) { delete rootProject.buildDir } diff --git a/examples/flutter_view/android/settings.gradle b/examples/flutter_view/android/settings.gradle index e7b4def49c..115da6cb4f 100644 --- a/examples/flutter_view/android/settings.gradle +++ b/examples/flutter_view/android/settings.gradle @@ -1 +1,15 @@ include ':app' + +def flutterProjectRoot = rootProject.projectDir.parentFile.toPath() + +def plugins = new Properties() +def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins') +if (pluginsFile.exists()) { + pluginsFile.withInputStream { stream -> plugins.load(stream) } +} + +plugins.each { name, path -> + def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile() + include ":$name" + project(":$name").projectDir = pluginDirectory +} diff --git a/examples/hello_world/android/build.gradle b/examples/hello_world/android/build.gradle index d82a1548b9..ee5325df80 100644 --- a/examples/hello_world/android/build.gradle +++ b/examples/hello_world/android/build.gradle @@ -14,6 +14,12 @@ allprojects { } } +rootProject.buildDir = '../build' +subprojects { + project.buildDir = "${rootProject.buildDir}/${project.name}" + project.evaluationDependsOn(':app') +} + task clean(type: Delete) { delete rootProject.buildDir } diff --git a/examples/hello_world/android/settings.gradle b/examples/hello_world/android/settings.gradle index e7b4def49c..115da6cb4f 100644 --- a/examples/hello_world/android/settings.gradle +++ b/examples/hello_world/android/settings.gradle @@ -1 +1,15 @@ include ':app' + +def flutterProjectRoot = rootProject.projectDir.parentFile.toPath() + +def plugins = new Properties() +def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins') +if (pluginsFile.exists()) { + pluginsFile.withInputStream { stream -> plugins.load(stream) } +} + +plugins.each { name, path -> + def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile() + include ":$name" + project(":$name").projectDir = pluginDirectory +} diff --git a/examples/platform_channel/android/build.gradle b/examples/platform_channel/android/build.gradle index d82a1548b9..ee5325df80 100644 --- a/examples/platform_channel/android/build.gradle +++ b/examples/platform_channel/android/build.gradle @@ -14,6 +14,12 @@ allprojects { } } +rootProject.buildDir = '../build' +subprojects { + project.buildDir = "${rootProject.buildDir}/${project.name}" + project.evaluationDependsOn(':app') +} + task clean(type: Delete) { delete rootProject.buildDir } diff --git a/examples/platform_channel/android/settings.gradle b/examples/platform_channel/android/settings.gradle index e7b4def49c..115da6cb4f 100644 --- a/examples/platform_channel/android/settings.gradle +++ b/examples/platform_channel/android/settings.gradle @@ -1 +1,15 @@ include ':app' + +def flutterProjectRoot = rootProject.projectDir.parentFile.toPath() + +def plugins = new Properties() +def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins') +if (pluginsFile.exists()) { + pluginsFile.withInputStream { stream -> plugins.load(stream) } +} + +plugins.each { name, path -> + def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile() + include ":$name" + project(":$name").projectDir = pluginDirectory +} diff --git a/examples/stocks/android/build.gradle b/examples/stocks/android/build.gradle index d82a1548b9..ee5325df80 100644 --- a/examples/stocks/android/build.gradle +++ b/examples/stocks/android/build.gradle @@ -14,6 +14,12 @@ allprojects { } } +rootProject.buildDir = '../build' +subprojects { + project.buildDir = "${rootProject.buildDir}/${project.name}" + project.evaluationDependsOn(':app') +} + task clean(type: Delete) { delete rootProject.buildDir } diff --git a/examples/stocks/android/settings.gradle b/examples/stocks/android/settings.gradle index e7b4def49c..115da6cb4f 100644 --- a/examples/stocks/android/settings.gradle +++ b/examples/stocks/android/settings.gradle @@ -1 +1,15 @@ include ':app' + +def flutterProjectRoot = rootProject.projectDir.parentFile.toPath() + +def plugins = new Properties() +def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins') +if (pluginsFile.exists()) { + pluginsFile.withInputStream { stream -> plugins.load(stream) } +} + +plugins.each { name, path -> + def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile() + include ":$name" + project(":$name").projectDir = pluginDirectory +} diff --git a/packages/flutter_tools/templates/create/android.tmpl/build.gradle b/packages/flutter_tools/templates/create/android.tmpl/build.gradle index 3053745fdc..ee5325df80 100644 --- a/packages/flutter_tools/templates/create/android.tmpl/build.gradle +++ b/packages/flutter_tools/templates/create/android.tmpl/build.gradle @@ -17,6 +17,7 @@ allprojects { rootProject.buildDir = '../build' subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" + project.evaluationDependsOn(':app') } task clean(type: Delete) { diff --git a/packages/flutter_tools/templates/plugin/android.tmpl/src/main/java/com/yourcompany/projectName/pluginClass.java.tmpl b/packages/flutter_tools/templates/plugin/android.tmpl/src/main/java/com/yourcompany/projectName/pluginClass.java.tmpl index 95ba465fdb..84b499970a 100644 --- a/packages/flutter_tools/templates/plugin/android.tmpl/src/main/java/com/yourcompany/projectName/pluginClass.java.tmpl +++ b/packages/flutter_tools/templates/plugin/android.tmpl/src/main/java/com/yourcompany/projectName/pluginClass.java.tmpl @@ -6,9 +6,6 @@ import io.flutter.plugin.common.FlutterMethodChannel.MethodCallHandler; import io.flutter.plugin.common.FlutterMethodChannel.Response; import io.flutter.plugin.common.MethodCall; -import java.util.HashMap; -import java.util.Map; - /** * {{pluginClass}} */