diff --git a/dev/bots/download_android_sdk.sh b/dev/bots/download_android_sdk.sh
new file mode 100755
index 0000000..cafa3f4
--- /dev/null
+++ b/dev/bots/download_android_sdk.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+set -e
+
+if [[ -z $ANDROID_SDK_TOOLS_URL || -z $ANDROID_HOME || -z $ANDROID_SDK_ROOT ]]; then
+  exit 0
+fi
+
+curl -L $ANDROID_SDK_TOOLS_URL --output android_sdk_tools.zip
+
+mkdir -p $ANDROID_SDK_ROOT
+unzip android_sdk_tools.zip -d $ANDROID_SDK_ROOT
+rm android_sdk_tools.zip
+
+yes | $ANDROID_SDK_ROOT/tools/bin/sdkmanager --licenses
+$ANDROID_SDK_ROOT/tools/bin/sdkmanager tools
+$ANDROID_SDK_ROOT/tools/bin/sdkmanager platform-tools
+# this is large and we don't need it just yet
+# $ANDROID_SDK_ROOT/tools/bin/sdkmanager emulator
+$ANDROID_SDK_ROOT/tools/bin/sdkmanager  "platforms;android-28" \
+    "build-tools;28.0.3" \
+    "platforms;android-27" \
+    "build-tools;27.0.3" \
+    "extras;google;m2repository" \
+    "extras;android;m2repository"
+
+
diff --git a/dev/bots/download_open_jdk.sh b/dev/bots/download_open_jdk.sh
new file mode 100755
index 0000000..313ce05
--- /dev/null
+++ b/dev/bots/download_open_jdk.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+set -e
+
+if [[ -z $OPEN_JDK_URL ]]; then
+  exit 0
+fi
+
+mkdir -p $HOME/Java
+pushd $HOME/Java
+curl -L $OPEN_JDK_URL --output open_jdk.tar.gz
+tar -xvf open_jdk.tar.gz
+rm open_jdk.tar.gz
+popd
diff --git a/dev/bots/test.dart b/dev/bots/test.dart
index 45666f6..1a8284b 100644
--- a/dev/bots/test.dart
+++ b/dev/bots/test.dart
@@ -27,6 +27,7 @@
   'tool_tests': _runToolTests,
   'build_tests': _runBuildTests,
   'coverage': _runCoverage,
+  'integration_tests': _runIntegrationTests,
   'add2app_test': _runAdd2AppTest,
 };
 
@@ -615,3 +616,51 @@
     exit(1);
   }
 }
+
+Future<void> _runIntegrationTests() async {
+  print('Platform env vars:');
+
+  await _runDevicelabTest('dartdocs');
+
+  if (Platform.isLinux) {
+    await _runDevicelabTest('flutter_create_offline_test_linux');
+  } else if (Platform.isWindows) {
+    await _runDevicelabTest('flutter_create_offline_test_windows');
+  } else if (Platform.isMacOS) {
+    await _runDevicelabTest('flutter_create_offline_test_mac');
+    await _runDevicelabTest('module_test_ios');
+  }
+  await _integrationTestsAndroidSdk();
+}
+
+Future<void> _runDevicelabTest(String testName, {Map<String, String> env}) async {
+  await runCommand(
+    dart,
+    <String>['bin/run.dart', '-t', testName],
+    workingDirectory: path.join(flutterRoot, 'dev', 'devicelab'),
+    environment: env,
+  );
+}
+
+Future<void> _integrationTestsAndroidSdk() async {
+  final String androidSdkRoot = (Platform.environment['ANDROID_HOME']?.isEmpty ?? true)
+      ? Platform.environment['ANDROID_SDK_ROOT']
+      : Platform.environment['ANDROID_HOME'];
+  if (androidSdkRoot == null || androidSdkRoot.isEmpty) {
+    print('No Android SDK detected, skipping Android Integration Tests');
+    return;
+  }
+
+  final Map<String, String> env = <String, String> {
+    'ANDROID_HOME': androidSdkRoot,
+    'ANDROID_SDK_ROOT': androidSdkRoot,
+  };
+
+  // TODO(dnfield): gradlew is crashing on the cirrus image and it's not clear why.
+  if (!Platform.isWindows) {
+    await _runDevicelabTest('gradle_plugin_test', env: env);
+    await _runDevicelabTest('module_test', env: env);
+  }
+  // note: this also covers plugin_test_win as long as Windows has an Android SDK available.
+  await _runDevicelabTest('plugin_test', env: env);
+}
\ No newline at end of file
