Update /examples/ to new gradle based build flow (#8173)

* Update hello_world to new gradle based build flow

* Update flutter_gallery to gradle based build

* Align hello_services with new gradle based build

* Update platform_services to new gradle based build

* Upgrade stock to gradle based build
diff --git a/examples/stocks/android/.gitignore b/examples/stocks/android/.gitignore
new file mode 100644
index 0000000..5c4ef82
--- /dev/null
+++ b/examples/stocks/android/.gitignore
@@ -0,0 +1,12 @@
+*.iml
+.gradle
+/local.properties
+/.idea/workspace.xml
+/.idea/libraries
+.DS_Store
+/build
+/captures
+
+/gradle
+/gradlew
+/gradlew.bat
diff --git a/examples/stocks/android/app/build.gradle b/examples/stocks/android/app/build.gradle
new file mode 100644
index 0000000..90c2899
--- /dev/null
+++ b/examples/stocks/android/app/build.gradle
@@ -0,0 +1,46 @@
+def localProperties = new Properties()
+def localPropertiesFile = rootProject.file('local.properties')
+if (localPropertiesFile.exists()) {
+    localPropertiesFile.withInputStream { stream ->
+        localProperties.load(stream)
+    }
+}
+
+def flutterRoot = localProperties.getProperty('flutter.sdk')
+if (flutterRoot == null) {
+    throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
+}
+
+apply plugin: 'com.android.application'
+apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
+
+android {
+    compileSdkVersion 25
+    buildToolsVersion '24.0.1'
+
+    lintOptions {
+        disable 'InvalidPackage'
+    }
+
+    defaultConfig {
+        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+    }
+
+    buildTypes {
+        release {
+            // TODO: Add your own signing config for the release build.
+            // Signing with the debug keys for now, so `flutter run --release` works.
+            signingConfig signingConfigs.debug
+        }
+    }
+}
+
+flutter {
+    source '../..'
+}
+
+dependencies {
+    androidTestCompile 'com.android.support:support-annotations:25.0.0'
+    androidTestCompile 'com.android.support.test:runner:0.5'
+    androidTestCompile 'com.android.support.test:rules:0.5'
+}
diff --git a/examples/stocks/android/AndroidManifest.xml b/examples/stocks/android/app/src/main/AndroidManifest.xml
similarity index 100%
rename from examples/stocks/android/AndroidManifest.xml
rename to examples/stocks/android/app/src/main/AndroidManifest.xml
diff --git a/examples/stocks/android/res/mipmap-hdpi/ic_launcher.png b/examples/stocks/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
similarity index 100%
rename from examples/stocks/android/res/mipmap-hdpi/ic_launcher.png
rename to examples/stocks/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
Binary files differ
diff --git a/examples/stocks/android/res/mipmap-mdpi/ic_launcher.png b/examples/stocks/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
similarity index 100%
rename from examples/stocks/android/res/mipmap-mdpi/ic_launcher.png
rename to examples/stocks/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
Binary files differ
diff --git a/examples/stocks/android/res/mipmap-xhdpi/ic_launcher.png b/examples/stocks/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
similarity index 100%
rename from examples/stocks/android/res/mipmap-xhdpi/ic_launcher.png
rename to examples/stocks/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
Binary files differ
diff --git a/examples/stocks/android/res/mipmap-xxhdpi/ic_launcher.png b/examples/stocks/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
similarity index 100%
rename from examples/stocks/android/res/mipmap-xxhdpi/ic_launcher.png
rename to examples/stocks/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
Binary files differ
diff --git a/examples/stocks/android/res/mipmap-xxxhdpi/ic_launcher.png b/examples/stocks/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
similarity index 100%
rename from examples/stocks/android/res/mipmap-xxxhdpi/ic_launcher.png
rename to examples/stocks/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
Binary files differ
diff --git a/examples/stocks/android/build.gradle b/examples/stocks/android/build.gradle
new file mode 100644
index 0000000..d82a154
--- /dev/null
+++ b/examples/stocks/android/build.gradle
@@ -0,0 +1,23 @@
+buildscript {
+    repositories {
+        jcenter()
+    }
+
+    dependencies {
+        classpath 'com.android.tools.build:gradle:2.2.3'
+    }
+}
+
+allprojects {
+    repositories {
+        jcenter()
+    }
+}
+
+task clean(type: Delete) {
+    delete rootProject.buildDir
+}
+
+task wrapper(type: Wrapper) {
+    gradleVersion = '2.14.1'
+}
diff --git a/examples/stocks/android/gradle.properties b/examples/stocks/android/gradle.properties
new file mode 100644
index 0000000..8bd86f6
--- /dev/null
+++ b/examples/stocks/android/gradle.properties
@@ -0,0 +1 @@
+org.gradle.jvmargs=-Xmx1536M
diff --git a/examples/stocks/android/settings.gradle b/examples/stocks/android/settings.gradle
new file mode 100644
index 0000000..e7b4def
--- /dev/null
+++ b/examples/stocks/android/settings.gradle
@@ -0,0 +1 @@
+include ':app'