diff --git a/common/androidx-test/Android.bp b/common/androidx-test/Android.bp
new file mode 100644
index 0000000..7450aaf
--- /dev/null
+++ b/common/androidx-test/Android.bp
@@ -0,0 +1,276 @@
+// Automatically generated with:
+// pom2bp -rewrite 'androidx.test.espresso:espresso-=androidx.test.espresso.' -rewrite 'androidx.test:=androidx.test.' -rewrite 'androidx.test.ext:=androidx.test.ext.' -rewrite 'com.google.truth:truth=truth-prebuilt' -rewrite 'net.sf.kxml:kxml2=kxml2-android' -rewrite 'androidx.lifecycle:lifecycle-common=androidx.lifecycle_lifecycle-common' -rewrite 'androidx.annotation:annotation=androidx.annotation_annotation' -rewrite 'org.hamcrest:hamcrest-integration=hamcrest' -rewrite 'javax.inject:javax.inject=jsr330' -rewrite 'com.google.android.material:material=com.google.android.material_material' -rewrite 'androidx.drawerlayout:drawerlayout=androidx.drawerlayout_drawerlayout' -rewrite 'androidx.viewpager:viewpager=androidx.viewpager_viewpager' -rewrite 'androidx.recyclerview:recyclerview=androidx.recyclerview_recyclerview' -rewrite 'androidx.core:core=androidx.core_core' -rewrite 'androidx.legacy:legacy-support-core-utils=androidx.legacy_legacy-support-core-utils' -sdk-version current .
+
+android_library_import {
+    name: "androidx.test.core-nodeps",
+    aars: ["androidx/test/core/1.1.0/core-1.1.0.aar"],
+    sdk_version: "current",
+    // min_sdk_version: "14",
+    static_libs: [
+        "androidx.test.monitor",
+    ],
+}
+
+android_library {
+    name: "androidx.test.core",
+    sdk_version: "current",
+    // min_sdk_version: "14",
+    manifest: "manifests/androidx.test.core/AndroidManifest.xml",
+    static_libs: [
+        "androidx.test.core-nodeps",
+        "androidx.annotation_annotation",
+        "androidx.lifecycle_lifecycle-common",
+        "androidx.test.monitor",
+    ],
+    java_version: "1.7",
+}
+
+android_library_import {
+    name: "androidx.test.espresso.contrib-nodeps",
+    aars: ["androidx/test/espresso/espresso-contrib/3.1.1/espresso-contrib-3.1.1.aar"],
+    sdk_version: "current",
+    // min_sdk_version: "14",
+    static_libs: [
+        "androidx.test.espresso.core",
+        "androidx.test.espresso.idling-resource",
+    ],
+}
+
+android_library {
+    name: "androidx.test.espresso.contrib",
+    sdk_version: "current",
+    // min_sdk_version: "14",
+    manifest: "manifests/androidx.test.espresso.contrib/AndroidManifest.xml",
+    static_libs: [
+        "androidx.test.espresso.contrib-nodeps",
+        "com.google.android.material_material",
+        "androidx.recyclerview_recyclerview",
+        "androidx.core_core",
+        "androidx.drawerlayout_drawerlayout",
+        "androidx.viewpager_viewpager",
+        "androidx.legacy_legacy-support-core-utils",
+        "accessibility-test-framework",
+        "androidx.test.espresso.core",
+        "androidx.test.espresso.idling-resource",
+    ],
+    java_version: "1.7",
+}
+
+android_library_import {
+    name: "androidx.test.espresso.core-nodeps",
+    aars: ["androidx/test/espresso/espresso-core/3.1.1/espresso-core-3.1.1.aar"],
+    sdk_version: "current",
+    // min_sdk_version: "14",
+    static_libs: [
+        "androidx.test.runner",
+        "androidx.test.espresso.idling-resource",
+    ],
+}
+
+android_library {
+    name: "androidx.test.espresso.core",
+    sdk_version: "current",
+    // min_sdk_version: "14",
+    manifest: "manifests/androidx.test.espresso.core/AndroidManifest.xml",
+    static_libs: [
+        "androidx.test.espresso.core-nodeps",
+        "javawriter",
+        "jsr330",
+        "hamcrest-library",
+        "hamcrest",
+        "jsr305",
+        "androidx.test.runner",
+        "androidx.test.espresso.idling-resource",
+    ],
+    java_version: "1.7",
+}
+
+android_library_import {
+    name: "androidx.test.espresso.idling-resource-nodeps",
+    aars: ["androidx/test/espresso/espresso-idling-resource/3.1.1/espresso-idling-resource-3.1.1.aar"],
+    sdk_version: "current",
+    // min_sdk_version: "14",
+    static_libs: [
+    ],
+}
+
+android_library {
+    name: "androidx.test.espresso.idling-resource",
+    sdk_version: "current",
+    // min_sdk_version: "14",
+    manifest: "manifests/androidx.test.espresso.idling-resource/AndroidManifest.xml",
+    static_libs: [
+        "androidx.test.espresso.idling-resource-nodeps",
+    ],
+    java_version: "1.7",
+}
+
+android_library_import {
+    name: "androidx.test.espresso.intents-nodeps",
+    aars: ["androidx/test/espresso/espresso-intents/3.1.1/espresso-intents-3.1.1.aar"],
+    sdk_version: "current",
+    // min_sdk_version: "14",
+    static_libs: [
+        "androidx.test.espresso.core",
+        "androidx.test.core",
+        "androidx.test.rules",
+    ],
+}
+
+android_library {
+    name: "androidx.test.espresso.intents",
+    sdk_version: "current",
+    // min_sdk_version: "14",
+    manifest: "manifests/androidx.test.espresso.intents/AndroidManifest.xml",
+    static_libs: [
+        "androidx.test.espresso.intents-nodeps",
+        "androidx.test.espresso.core",
+        "androidx.test.core",
+        "androidx.test.rules",
+    ],
+    java_version: "1.7",
+}
+
+android_library_import {
+    name: "androidx.test.espresso.web-nodeps",
+    aars: ["androidx/test/espresso/espresso-web/3.1.1/espresso-web-3.1.1.aar"],
+    sdk_version: "current",
+    // min_sdk_version: "14",
+    static_libs: [
+        "androidx.test.espresso.core",
+    ],
+}
+
+android_library {
+    name: "androidx.test.espresso.web",
+    sdk_version: "current",
+    // min_sdk_version: "14",
+    manifest: "manifests/androidx.test.espresso.web/AndroidManifest.xml",
+    static_libs: [
+        "androidx.test.espresso.web-nodeps",
+        "androidx.annotation_annotation",
+        "tagsoup",
+        "androidx.test.espresso.core",
+    ],
+    java_version: "1.7",
+}
+
+android_library_import {
+    name: "androidx.test.ext.junit-nodeps",
+    aars: ["androidx/test/ext/junit/1.1.0/junit-1.1.0.aar"],
+    sdk_version: "current",
+    // min_sdk_version: "14",
+    static_libs: [
+        "androidx.test.core",
+        "androidx.test.monitor",
+    ],
+}
+
+android_library {
+    name: "androidx.test.ext.junit",
+    sdk_version: "current",
+    // min_sdk_version: "14",
+    manifest: "manifests/androidx.test.ext.junit/AndroidManifest.xml",
+    static_libs: [
+        "androidx.test.ext.junit-nodeps",
+        "junit",
+        "androidx.annotation_annotation",
+        "androidx.test.core",
+        "androidx.test.monitor",
+    ],
+    java_version: "1.7",
+}
+
+android_library_import {
+    name: "androidx.test.ext.truth-nodeps",
+    aars: ["androidx/test/ext/truth/1.1.0/truth-1.1.0.aar"],
+    sdk_version: "current",
+    // min_sdk_version: "14",
+    static_libs: [
+        "androidx.test.core",
+    ],
+}
+
+android_library {
+    name: "androidx.test.ext.truth",
+    sdk_version: "current",
+    // min_sdk_version: "14",
+    manifest: "manifests/androidx.test.ext.truth/AndroidManifest.xml",
+    static_libs: [
+        "androidx.test.ext.truth-nodeps",
+        "guava",
+	// TODO: figure out why this cannot be found
+        //"truth-prebuilt",
+        "androidx.annotation_annotation",
+        "androidx.test.core",
+    ],
+    java_version: "1.7",
+}
+
+android_library_import {
+    name: "androidx.test.monitor-nodeps",
+    aars: ["androidx/test/monitor/1.1.1/monitor-1.1.1.aar"],
+    sdk_version: "current",
+    // min_sdk_version: "14",
+    static_libs: [
+    ],
+}
+
+android_library {
+    name: "androidx.test.monitor",
+    sdk_version: "current",
+    // min_sdk_version: "14",
+    manifest: "manifests/androidx.test.monitor/AndroidManifest.xml",
+    static_libs: [
+        "androidx.test.monitor-nodeps",
+        "androidx.annotation_annotation",
+    ],
+    java_version: "1.7",
+}
+
+android_library_import {
+    name: "androidx.test.rules-nodeps",
+    aars: ["androidx/test/rules/1.1.1/rules-1.1.1.aar"],
+    sdk_version: "current",
+    // min_sdk_version: "14",
+    static_libs: [
+        "androidx.test.runner",
+    ],
+}
+
+android_library {
+    name: "androidx.test.rules",
+    sdk_version: "current",
+    // min_sdk_version: "14",
+    manifest: "manifests/androidx.test.rules/AndroidManifest.xml",
+    static_libs: [
+        "androidx.test.rules-nodeps",
+        "androidx.test.runner",
+    ],
+    java_version: "1.7",
+}
+
+android_library_import {
+    name: "androidx.test.runner-nodeps",
+    aars: ["androidx/test/runner/1.1.1/runner-1.1.1.aar"],
+    sdk_version: "current",
+    // min_sdk_version: "14",
+    static_libs: [
+        "androidx.test.monitor",
+    ],
+}
+
+android_library {
+    name: "androidx.test.runner",
+    sdk_version: "current",
+    // min_sdk_version: "14",
+    manifest: "manifests/androidx.test.runner/AndroidManifest.xml",
+    static_libs: [
+        "androidx.test.runner-nodeps",
+        "androidx.annotation_annotation",
+        "junit",
+        "kxml2-android",
+        "androidx.test.monitor",
+    ],
+    java_version: "1.7",
+}
diff --git a/common/androidx-test/MODULE_LICENSE_APL b/common/androidx-test/MODULE_LICENSE_APL
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/common/androidx-test/MODULE_LICENSE_APL
diff --git a/common/androidx-test/PREBUILT b/common/androidx-test/PREBUILT
new file mode 100644
index 0000000..dfac213
--- /dev/null
+++ b/common/androidx-test/PREBUILT
@@ -0,0 +1,3 @@
+Artifacts downloaded from https://dl.google.com/dl/android/maven2 (google.maven.com) via the update-from-gmaven.py script
+
+Release note: https://developer.android.com/topic/libraries/testing-support-library/release-notes.html
diff --git a/common/androidx-test/androidx/test/core/1.1.0/core-1.1.0.aar b/common/androidx-test/androidx/test/core/1.1.0/core-1.1.0.aar
new file mode 100644
index 0000000..ef59bb1
--- /dev/null
+++ b/common/androidx-test/androidx/test/core/1.1.0/core-1.1.0.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/core/1.1.0/core-1.1.0.pom b/common/androidx-test/androidx/test/core/1.1.0/core-1.1.0.pom
new file mode 100644
index 0000000..b727375
--- /dev/null
+++ b/common/androidx-test/androidx/test/core/1.1.0/core-1.1.0.pom
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+    xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>androidx.test</groupId>
+  <artifactId>core</artifactId>
+  <version>1.1.0</version>
+  <packaging>aar</packaging>
+  <name>AndroidX Test Library</name>
+  <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
+  <url>https://developer.android.com/testing</url>
+  <inceptionYear>2015</inceptionYear>
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+  <developers>
+    <developer>
+      <name>The Android Open Source Project</name>
+    </developer>
+  </developers>
+  <dependencies>
+    <dependency>
+      <groupId>androidx.annotation</groupId>
+      <artifactId>annotation</artifactId>
+      <version>1.0.0</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>androidx.test</groupId>
+      <artifactId>monitor</artifactId>
+      <version>1.1.1</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>androidx.lifecycle</groupId>
+      <artifactId>lifecycle-common</artifactId>
+      <version>2.0.0</version>
+      <scope>compile</scope>
+    </dependency>
+  </dependencies>
+</project>
diff --git a/common/androidx-test/androidx/test/espresso/espresso-contrib/3.1.1/espresso-contrib-3.1.1.aar b/common/androidx-test/androidx/test/espresso/espresso-contrib/3.1.1/espresso-contrib-3.1.1.aar
new file mode 100644
index 0000000..26fba7c
--- /dev/null
+++ b/common/androidx-test/androidx/test/espresso/espresso-contrib/3.1.1/espresso-contrib-3.1.1.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-contrib/3.1.1/espresso-contrib-3.1.1.pom b/common/androidx-test/androidx/test/espresso/espresso-contrib/3.1.1/espresso-contrib-3.1.1.pom
new file mode 100644
index 0000000..1547954
--- /dev/null
+++ b/common/androidx-test/androidx/test/espresso/espresso-contrib/3.1.1/espresso-contrib-3.1.1.pom
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+    xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>androidx.test.espresso</groupId>
+  <artifactId>espresso-contrib</artifactId>
+  <version>3.1.1</version>
+  <packaging>aar</packaging>
+  <name>AndroidX Test Library</name>
+  <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
+  <url>https://developer.android.com/testing</url>
+  <inceptionYear>2015</inceptionYear>
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+  <developers>
+    <developer>
+      <name>The Android Open Source Project</name>
+    </developer>
+  </developers>
+  <dependencies>
+    <dependency>
+      <groupId>androidx.test.espresso</groupId>
+      <artifactId>espresso-core</artifactId>
+      <version>3.1.1</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>androidx.test.espresso</groupId>
+      <artifactId>espresso-idling-resource</artifactId>
+      <version>3.1.1</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.google.android.material</groupId>
+      <artifactId>material</artifactId>
+      <version>1.0.0</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>androidx.recyclerview</groupId>
+      <artifactId>recyclerview</artifactId>
+      <version>1.0.0</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>androidx.core</groupId>
+      <artifactId>core</artifactId>
+      <version>1.0.0</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>androidx.drawerlayout</groupId>
+      <artifactId>drawerlayout</artifactId>
+      <version>1.0.0</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>androidx.viewpager</groupId>
+      <artifactId>viewpager</artifactId>
+      <version>1.0.0</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>androidx.legacy</groupId>
+      <artifactId>legacy-support-core-utils</artifactId>
+      <version>1.0.0</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.google.android.apps.common.testing.accessibility.framework</groupId>
+      <artifactId>accessibility-test-framework</artifactId>
+      <version>2.0</version>
+      <scope>compile</scope>
+    </dependency>
+  </dependencies>
+</project>
diff --git a/common/androidx-test/androidx/test/espresso/espresso-core/3.1.1/espresso-core-3.1.1.aar b/common/androidx-test/androidx/test/espresso/espresso-core/3.1.1/espresso-core-3.1.1.aar
new file mode 100644
index 0000000..8b6c7d4
--- /dev/null
+++ b/common/androidx-test/androidx/test/espresso/espresso-core/3.1.1/espresso-core-3.1.1.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-core/3.1.1/espresso-core-3.1.1.pom b/common/androidx-test/androidx/test/espresso/espresso-core/3.1.1/espresso-core-3.1.1.pom
new file mode 100644
index 0000000..6eeb82c
--- /dev/null
+++ b/common/androidx-test/androidx/test/espresso/espresso-core/3.1.1/espresso-core-3.1.1.pom
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+    xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>androidx.test.espresso</groupId>
+  <artifactId>espresso-core</artifactId>
+  <version>3.1.1</version>
+  <packaging>aar</packaging>
+  <name>AndroidX Test Library</name>
+  <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
+  <url>https://developer.android.com/testing</url>
+  <inceptionYear>2015</inceptionYear>
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+  <developers>
+    <developer>
+      <name>The Android Open Source Project</name>
+    </developer>
+  </developers>
+  <dependencies>
+    <dependency>
+      <groupId>androidx.test</groupId>
+      <artifactId>runner</artifactId>
+      <version>1.1.1</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>androidx.test.espresso</groupId>
+      <artifactId>espresso-idling-resource</artifactId>
+      <version>3.1.1</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.squareup</groupId>
+      <artifactId>javawriter</artifactId>
+      <version>2.1.1</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>javax.inject</groupId>
+      <artifactId>javax.inject</artifactId>
+      <version>1</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.hamcrest</groupId>
+      <artifactId>hamcrest-library</artifactId>
+      <version>1.3</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.hamcrest</groupId>
+      <artifactId>hamcrest-integration</artifactId>
+      <version>1.3</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.google.code.findbugs</groupId>
+      <artifactId>jsr305</artifactId>
+      <version>2.0.1</version>
+      <scope>compile</scope>
+    </dependency>
+  </dependencies>
+</project>
diff --git a/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.1.1/espresso-idling-resource-3.1.1.aar b/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.1.1/espresso-idling-resource-3.1.1.aar
new file mode 100644
index 0000000..df9c6ac
--- /dev/null
+++ b/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.1.1/espresso-idling-resource-3.1.1.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.1.1/espresso-idling-resource-3.1.1.pom b/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.1.1/espresso-idling-resource-3.1.1.pom
new file mode 100644
index 0000000..ba25667
--- /dev/null
+++ b/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.1.1/espresso-idling-resource-3.1.1.pom
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+    xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>androidx.test.espresso</groupId>
+  <artifactId>espresso-idling-resource</artifactId>
+  <version>3.1.1</version>
+  <packaging>aar</packaging>
+  <name>AndroidX Test Library</name>
+  <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
+  <url>https://developer.android.com/testing</url>
+  <inceptionYear>2015</inceptionYear>
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+  <developers>
+    <developer>
+      <name>The Android Open Source Project</name>
+    </developer>
+  </developers>
+  <dependencies>
+
+  </dependencies>
+</project>
diff --git a/common/androidx-test/androidx/test/espresso/espresso-intents/3.1.1/espresso-intents-3.1.1.aar b/common/androidx-test/androidx/test/espresso/espresso-intents/3.1.1/espresso-intents-3.1.1.aar
new file mode 100644
index 0000000..3a200d0
--- /dev/null
+++ b/common/androidx-test/androidx/test/espresso/espresso-intents/3.1.1/espresso-intents-3.1.1.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-intents/3.1.1/espresso-intents-3.1.1.pom b/common/androidx-test/androidx/test/espresso/espresso-intents/3.1.1/espresso-intents-3.1.1.pom
new file mode 100644
index 0000000..e486a4b
--- /dev/null
+++ b/common/androidx-test/androidx/test/espresso/espresso-intents/3.1.1/espresso-intents-3.1.1.pom
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+    xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>androidx.test.espresso</groupId>
+  <artifactId>espresso-intents</artifactId>
+  <version>3.1.1</version>
+  <packaging>aar</packaging>
+  <name>AndroidX Test Library</name>
+  <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
+  <url>https://developer.android.com/testing</url>
+  <inceptionYear>2015</inceptionYear>
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+  <developers>
+    <developer>
+      <name>The Android Open Source Project</name>
+    </developer>
+  </developers>
+  <dependencies>
+    <dependency>
+      <groupId>androidx.test.espresso</groupId>
+      <artifactId>espresso-core</artifactId>
+      <version>3.1.1</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>androidx.test</groupId>
+      <artifactId>core</artifactId>
+      <version>1.1.0</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>androidx.test</groupId>
+      <artifactId>rules</artifactId>
+      <version>1.1.1</version>
+      <scope>compile</scope>
+    </dependency>
+  </dependencies>
+</project>
diff --git a/common/androidx-test/androidx/test/espresso/espresso-web/3.1.1/espresso-web-3.1.1.aar b/common/androidx-test/androidx/test/espresso/espresso-web/3.1.1/espresso-web-3.1.1.aar
new file mode 100644
index 0000000..b20905e
--- /dev/null
+++ b/common/androidx-test/androidx/test/espresso/espresso-web/3.1.1/espresso-web-3.1.1.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-web/3.1.1/espresso-web-3.1.1.pom b/common/androidx-test/androidx/test/espresso/espresso-web/3.1.1/espresso-web-3.1.1.pom
new file mode 100644
index 0000000..334f2d8
--- /dev/null
+++ b/common/androidx-test/androidx/test/espresso/espresso-web/3.1.1/espresso-web-3.1.1.pom
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+    xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>androidx.test.espresso</groupId>
+  <artifactId>espresso-web</artifactId>
+  <version>3.1.1</version>
+  <packaging>aar</packaging>
+  <name>AndroidX Test Library</name>
+  <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
+  <url>https://developer.android.com/testing</url>
+  <inceptionYear>2015</inceptionYear>
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+  <developers>
+    <developer>
+      <name>The Android Open Source Project</name>
+    </developer>
+  </developers>
+  <dependencies>
+    <dependency>
+      <groupId>androidx.test.espresso</groupId>
+      <artifactId>espresso-core</artifactId>
+      <version>3.1.1</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>androidx.annotation</groupId>
+      <artifactId>annotation</artifactId>
+      <version>1.0.0</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.ccil.cowan.tagsoup</groupId>
+      <artifactId>tagsoup</artifactId>
+      <version>1.2</version>
+      <scope>compile</scope>
+    </dependency>
+  </dependencies>
+</project>
diff --git a/common/androidx-test/androidx/test/ext/junit/1.1.0/junit-1.1.0.aar b/common/androidx-test/androidx/test/ext/junit/1.1.0/junit-1.1.0.aar
new file mode 100644
index 0000000..2ac9ddf
--- /dev/null
+++ b/common/androidx-test/androidx/test/ext/junit/1.1.0/junit-1.1.0.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/ext/junit/1.1.0/junit-1.1.0.pom b/common/androidx-test/androidx/test/ext/junit/1.1.0/junit-1.1.0.pom
new file mode 100644
index 0000000..795d31a
--- /dev/null
+++ b/common/androidx-test/androidx/test/ext/junit/1.1.0/junit-1.1.0.pom
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+    xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>androidx.test.ext</groupId>
+  <artifactId>junit</artifactId>
+  <version>1.1.0</version>
+  <packaging>aar</packaging>
+  <name>AndroidX Test Library</name>
+  <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
+  <url>https://developer.android.com/testing</url>
+  <inceptionYear>2015</inceptionYear>
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+  <developers>
+    <developer>
+      <name>The Android Open Source Project</name>
+    </developer>
+  </developers>
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.12</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>androidx.test</groupId>
+      <artifactId>core</artifactId>
+      <version>1.1.0</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>androidx.test</groupId>
+      <artifactId>monitor</artifactId>
+      <version>1.1.1</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>androidx.annotation</groupId>
+      <artifactId>annotation</artifactId>
+      <version>1.0.0</version>
+      <scope>compile</scope>
+    </dependency>
+  </dependencies>
+</project>
diff --git a/common/androidx-test/androidx/test/ext/truth/1.1.0/truth-1.1.0.aar b/common/androidx-test/androidx/test/ext/truth/1.1.0/truth-1.1.0.aar
new file mode 100644
index 0000000..bf92353
--- /dev/null
+++ b/common/androidx-test/androidx/test/ext/truth/1.1.0/truth-1.1.0.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/ext/truth/1.1.0/truth-1.1.0.pom b/common/androidx-test/androidx/test/ext/truth/1.1.0/truth-1.1.0.pom
new file mode 100644
index 0000000..e14ff16
--- /dev/null
+++ b/common/androidx-test/androidx/test/ext/truth/1.1.0/truth-1.1.0.pom
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+    xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>androidx.test.ext</groupId>
+  <artifactId>truth</artifactId>
+  <version>1.1.0</version>
+  <packaging>aar</packaging>
+  <name>AndroidX Test Library</name>
+  <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
+  <url>https://developer.android.com/testing</url>
+  <inceptionYear>2015</inceptionYear>
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+  <developers>
+    <developer>
+      <name>The Android Open Source Project</name>
+    </developer>
+  </developers>
+  <dependencies>
+    <dependency>
+      <groupId>androidx.test</groupId>
+      <artifactId>core</artifactId>
+      <version>1.1.0</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>guava</artifactId>
+      <version>26.0-android</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.google.truth</groupId>
+      <artifactId>truth</artifactId>
+      <version>0.42</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>androidx.annotation</groupId>
+      <artifactId>annotation</artifactId>
+      <version>1.0.0</version>
+      <scope>compile</scope>
+    </dependency>
+  </dependencies>
+</project>
diff --git a/common/androidx-test/androidx/test/monitor/1.1.1/monitor-1.1.1.aar b/common/androidx-test/androidx/test/monitor/1.1.1/monitor-1.1.1.aar
new file mode 100644
index 0000000..2fe1450
--- /dev/null
+++ b/common/androidx-test/androidx/test/monitor/1.1.1/monitor-1.1.1.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/monitor/1.1.1/monitor-1.1.1.pom b/common/androidx-test/androidx/test/monitor/1.1.1/monitor-1.1.1.pom
new file mode 100644
index 0000000..4f1037e
--- /dev/null
+++ b/common/androidx-test/androidx/test/monitor/1.1.1/monitor-1.1.1.pom
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+    xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>androidx.test</groupId>
+  <artifactId>monitor</artifactId>
+  <version>1.1.1</version>
+  <packaging>aar</packaging>
+  <name>AndroidX Test Library</name>
+  <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
+  <url>https://developer.android.com/testing</url>
+  <inceptionYear>2015</inceptionYear>
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+  <developers>
+    <developer>
+      <name>The Android Open Source Project</name>
+    </developer>
+  </developers>
+  <dependencies>
+    <dependency>
+      <groupId>androidx.annotation</groupId>
+      <artifactId>annotation</artifactId>
+      <version>1.0.0</version>
+      <scope>compile</scope>
+    </dependency>
+  </dependencies>
+</project>
diff --git a/common/androidx-test/androidx/test/rules/1.1.1/rules-1.1.1.aar b/common/androidx-test/androidx/test/rules/1.1.1/rules-1.1.1.aar
new file mode 100644
index 0000000..33079b4
--- /dev/null
+++ b/common/androidx-test/androidx/test/rules/1.1.1/rules-1.1.1.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/rules/1.1.1/rules-1.1.1.pom b/common/androidx-test/androidx/test/rules/1.1.1/rules-1.1.1.pom
new file mode 100644
index 0000000..c92edea
--- /dev/null
+++ b/common/androidx-test/androidx/test/rules/1.1.1/rules-1.1.1.pom
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+    xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>androidx.test</groupId>
+  <artifactId>rules</artifactId>
+  <version>1.1.1</version>
+  <packaging>aar</packaging>
+  <name>AndroidX Test Library</name>
+  <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
+  <url>https://developer.android.com/testing</url>
+  <inceptionYear>2015</inceptionYear>
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+  <developers>
+    <developer>
+      <name>The Android Open Source Project</name>
+    </developer>
+  </developers>
+  <dependencies>
+    <dependency>
+      <groupId>androidx.test</groupId>
+      <artifactId>runner</artifactId>
+      <version>1.1.1</version>
+      <scope>compile</scope>
+    </dependency>
+  </dependencies>
+</project>
diff --git a/common/androidx-test/androidx/test/runner/1.1.1/runner-1.1.1.aar b/common/androidx-test/androidx/test/runner/1.1.1/runner-1.1.1.aar
new file mode 100644
index 0000000..117353d
--- /dev/null
+++ b/common/androidx-test/androidx/test/runner/1.1.1/runner-1.1.1.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/runner/1.1.1/runner-1.1.1.pom b/common/androidx-test/androidx/test/runner/1.1.1/runner-1.1.1.pom
new file mode 100644
index 0000000..5a8f033
--- /dev/null
+++ b/common/androidx-test/androidx/test/runner/1.1.1/runner-1.1.1.pom
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+    xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>androidx.test</groupId>
+  <artifactId>runner</artifactId>
+  <version>1.1.1</version>
+  <packaging>aar</packaging>
+  <name>AndroidX Test Library</name>
+  <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
+  <url>https://developer.android.com/testing</url>
+  <inceptionYear>2015</inceptionYear>
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+  <developers>
+    <developer>
+      <name>The Android Open Source Project</name>
+    </developer>
+  </developers>
+  <dependencies>
+    <dependency>
+      <groupId>androidx.annotation</groupId>
+      <artifactId>annotation</artifactId>
+      <version>1.0.0</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>androidx.test</groupId>
+      <artifactId>monitor</artifactId>
+      <version>1.1.1</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.12</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>net.sf.kxml</groupId>
+      <artifactId>kxml2</artifactId>
+      <version>2.3.0</version>
+      <scope>compile</scope>
+    </dependency>
+  </dependencies>
+</project>
diff --git a/common/androidx-test/manifests/androidx.test.core/AndroidManifest.xml b/common/androidx-test/manifests/androidx.test.core/AndroidManifest.xml
new file mode 100644
index 0000000..87f598c
--- /dev/null
+++ b/common/androidx-test/manifests/androidx.test.core/AndroidManifest.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+-->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="androidx.test.core" >
+
+    <uses-sdk
+        android:minSdkVersion="14"
+        android:targetSdkVersion="28" />
+
+    <uses-permission android:name="android.permission.REORDER_TASKS" />
+
+    <application>
+        <activity
+            android:name="androidx.test.core.app.InstrumentationActivityInvoker$BootstrapActivity"
+            android:theme="@style/InstrumentationActivityInvokerBootstrapActivityTheme" >
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+            </intent-filter>
+        </activity>
+        <activity
+            android:name="androidx.test.core.app.InstrumentationActivityInvoker$EmptyActivity"
+            android:theme="@style/InstrumentationActivityInvokerEmptyActivityTheme" >
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+            </intent-filter>
+        </activity>
+        <activity
+            android:name="androidx.test.core.app.InstrumentationActivityInvoker$EmptyFloatingActivity"
+            android:theme="@style/InstrumentationActivityInvokerFloatingActivityTheme" >
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+            </intent-filter>
+        </activity>
+    </application>
+
+</manifest>
\ No newline at end of file
diff --git a/common/androidx-test/manifests/androidx.test.espresso.contrib/AndroidManifest.xml b/common/androidx-test/manifests/androidx.test.espresso.contrib/AndroidManifest.xml
new file mode 100644
index 0000000..602c3d3
--- /dev/null
+++ b/common/androidx-test/manifests/androidx.test.espresso.contrib/AndroidManifest.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2014 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+-->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="androidx.test.espresso.contrib" >
+
+    <uses-sdk
+        android:minSdkVersion="14"
+        android:targetSdkVersion="28" />
+
+    <application />
+
+</manifest>
\ No newline at end of file
diff --git a/common/androidx-test/manifests/androidx.test.espresso.core/AndroidManifest.xml b/common/androidx-test/manifests/androidx.test.espresso.core/AndroidManifest.xml
new file mode 100644
index 0000000..a48e3b0
--- /dev/null
+++ b/common/androidx-test/manifests/androidx.test.espresso.core/AndroidManifest.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2014 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+-->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="androidx.test.espresso" >
+
+    <uses-sdk
+        android:minSdkVersion="14"
+        android:targetSdkVersion="28" />
+
+</manifest>
\ No newline at end of file
diff --git a/common/androidx-test/manifests/androidx.test.espresso.idling-resource/AndroidManifest.xml b/common/androidx-test/manifests/androidx.test.espresso.idling-resource/AndroidManifest.xml
new file mode 100644
index 0000000..e201e84
--- /dev/null
+++ b/common/androidx-test/manifests/androidx.test.espresso.idling-resource/AndroidManifest.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2017 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+-->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="androidx.test.espresso" >
+
+    <uses-sdk
+        android:minSdkVersion="14"
+        android:targetSdkVersion="28" />
+
+</manifest>
\ No newline at end of file
diff --git a/common/androidx-test/manifests/androidx.test.espresso.intents/AndroidManifest.xml b/common/androidx-test/manifests/androidx.test.espresso.intents/AndroidManifest.xml
new file mode 100644
index 0000000..4794b77
--- /dev/null
+++ b/common/androidx-test/manifests/androidx.test.espresso.intents/AndroidManifest.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2015 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+-->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="androidx.test.espresso.intent" >
+
+    <uses-sdk
+        android:minSdkVersion="14"
+        android:targetSdkVersion="28" />
+
+</manifest>
\ No newline at end of file
diff --git a/common/androidx-test/manifests/androidx.test.espresso.web/AndroidManifest.xml b/common/androidx-test/manifests/androidx.test.espresso.web/AndroidManifest.xml
new file mode 100644
index 0000000..e258c4c
--- /dev/null
+++ b/common/androidx-test/manifests/androidx.test.espresso.web/AndroidManifest.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2017 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+-->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="androidx.test.espresso.web" >
+
+    <uses-sdk
+        android:minSdkVersion="14"
+        android:targetSdkVersion="28" />
+
+</manifest>
\ No newline at end of file
diff --git a/common/androidx-test/manifests/androidx.test.ext.junit/AndroidManifest.xml b/common/androidx-test/manifests/androidx.test.ext.junit/AndroidManifest.xml
new file mode 100644
index 0000000..ed2316c
--- /dev/null
+++ b/common/androidx-test/manifests/androidx.test.ext.junit/AndroidManifest.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+-->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="androidx.test.ext.junit" >
+
+    <uses-sdk
+        android:minSdkVersion="14"
+        android:targetSdkVersion="28" />
+
+</manifest>
\ No newline at end of file
diff --git a/common/androidx-test/manifests/androidx.test.ext.truth/AndroidManifest.xml b/common/androidx-test/manifests/androidx.test.ext.truth/AndroidManifest.xml
new file mode 100644
index 0000000..910000a
--- /dev/null
+++ b/common/androidx-test/manifests/androidx.test.ext.truth/AndroidManifest.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2018 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+-->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="androidx.test.ext.truth" >
+
+    <uses-sdk
+        android:minSdkVersion="14"
+        android:targetSdkVersion="28" />
+
+</manifest>
\ No newline at end of file
diff --git a/common/androidx-test/manifests/androidx.test.monitor/AndroidManifest.xml b/common/androidx-test/manifests/androidx.test.monitor/AndroidManifest.xml
new file mode 100644
index 0000000..f3e4b2e
--- /dev/null
+++ b/common/androidx-test/manifests/androidx.test.monitor/AndroidManifest.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2017 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+-->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="androidx.test" >
+
+    <uses-sdk
+        android:minSdkVersion="14"
+        android:targetSdkVersion="28" />
+
+</manifest>
\ No newline at end of file
diff --git a/common/androidx-test/manifests/androidx.test.rules/AndroidManifest.xml b/common/androidx-test/manifests/androidx.test.rules/AndroidManifest.xml
new file mode 100644
index 0000000..f3e4b2e
--- /dev/null
+++ b/common/androidx-test/manifests/androidx.test.rules/AndroidManifest.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2017 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+-->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="androidx.test" >
+
+    <uses-sdk
+        android:minSdkVersion="14"
+        android:targetSdkVersion="28" />
+
+</manifest>
\ No newline at end of file
diff --git a/common/androidx-test/manifests/androidx.test.runner/AndroidManifest.xml b/common/androidx-test/manifests/androidx.test.runner/AndroidManifest.xml
new file mode 100644
index 0000000..f3e4b2e
--- /dev/null
+++ b/common/androidx-test/manifests/androidx.test.runner/AndroidManifest.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2017 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+-->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="androidx.test" >
+
+    <uses-sdk
+        android:minSdkVersion="14"
+        android:targetSdkVersion="28" />
+
+</manifest>
\ No newline at end of file
diff --git a/common/androidx-test/update-from-gmaven.py b/common/androidx-test/update-from-gmaven.py
new file mode 100755
index 0000000..04c7d5e
--- /dev/null
+++ b/common/androidx-test/update-from-gmaven.py
@@ -0,0 +1,120 @@
+#!/usr/bin/python3
+
+# Helper script for updating androidx.test prebuilts from maven
+#
+# Usage:
+#   a. Initialize android environment eg . build/envsetup.sh; lunch <target>
+#   b. Update the version numbers in this file
+#   c. ./prebuilts/misc/androidx-test/update-from-gmaven.py
+#
+# The script will then:
+#   1. Remove the previous artifacts
+#   2. Download the aars and poms into a file structure mirroring their maven
+#      path
+#   3. Extract the AndroidManifest from the aars into the manifests folder
+#   4. Run pom2bp to generate the Android.bp
+
+import os
+import subprocess
+import sys
+
+runnerVersion="1.1.1"
+rulesVersion="1.1.1"
+espressoVersion="3.1.1"
+coreVersion="1.1.0"
+extJUnitVersion="1.1.0"
+extTruthVersion="1.1.0"
+
+mavenToBpPatternMap = {
+    "androidx.test:" : "androidx.test.",
+    "androidx.test.ext:": "androidx.test.ext.",
+    "androidx.test.espresso:espresso-":"androidx.test.espresso.",
+    }
+
+def cmd(args):
+   print(args)
+   out = subprocess.run(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
+   if (out.returncode != 0):
+      print(out.stderr.decode("utf-8"))
+      sys.exit(out.returncode)
+   out_string = out.stdout.decode("utf-8")
+   print(out_string)
+   return out_string
+
+def chdir(path):
+   print("cd %s" % path)
+   os.chdir(path)
+
+def getAndroidRoot():
+   if os.path.isdir(".repo/projects"):
+      return os.getcwd()
+   elif 'TOP' in os.environ:
+      return os.environ['TOP']
+   else:
+      print("Error: Run from android source root or set TOP envvar")
+      sys.exit(-1)
+
+def downloadArtifact(groupId, artifactId, version):
+   """Downloads an aar and pom from google maven"""
+   groupPath = groupId.replace('.', '/')
+   artifactDirPath = os.path.join(groupPath, artifactId, version)
+   artifactPath = os.path.join(artifactDirPath, "%s-%s" % (artifactId, version))
+   cmd("mkdir -p " + artifactDirPath)
+   # download aar
+   cmd("wget -O %s.aar https://dl.google.com/dl/android/maven2/%s.aar" % (artifactPath, artifactPath))
+
+   # extract AndroidManifest.xml from aar, into path expected by pom2bp
+   manifestDir = getManifestPath("%s:%s" % (groupId,artifactId))
+   cmd("mkdir -p " + manifestDir)
+   cmd("unzip -o %s.aar AndroidManifest.xml -d %s" % (artifactPath, manifestDir))
+
+   # download pom
+   cmd("wget -O %s.pom https://dl.google.com/dl/android/maven2/%s.pom" % (artifactPath, artifactPath))
+
+
+def getManifestPath(mavenArtifactName):
+  """Get the path to the aar's manifest as generated by pom2bp."""
+  manifestPath = mavenArtifactName
+  for searchPattern in mavenToBpPatternMap:
+    manifestPath = manifestPath.replace(searchPattern, mavenToBpPatternMap[searchPattern])
+  return "manifests/%s" % manifestPath
+
+prebuiltDir = os.path.join(getAndroidRoot(), "prebuilts/misc/common/androidx-test")
+chdir(prebuiltDir)
+
+cmd("rm -rf androidx/test")
+cmd("rm -rf manifests")
+
+downloadArtifact("androidx.test", "core", coreVersion)
+downloadArtifact("androidx.test.espresso", "espresso-core", espressoVersion)
+downloadArtifact("androidx.test.espresso", "espresso-contrib", espressoVersion)
+downloadArtifact("androidx.test.espresso", "espresso-idling-resource", espressoVersion)
+downloadArtifact("androidx.test.espresso", "espresso-intents", espressoVersion)
+downloadArtifact("androidx.test.espresso", "espresso-idling-resource", espressoVersion)
+downloadArtifact("androidx.test.espresso", "espresso-web", espressoVersion)
+downloadArtifact("androidx.test", "monitor", runnerVersion)
+downloadArtifact("androidx.test", "rules", rulesVersion)
+downloadArtifact("androidx.test", "runner", runnerVersion)
+downloadArtifact("androidx.test.ext", "junit", extJUnitVersion)
+downloadArtifact("androidx.test.ext", "truth", extTruthVersion)
+
+atxRewriteStr = ""
+for name in mavenToBpPatternMap:
+  atxRewriteStr += "-rewrite %s=%s " % (name, mavenToBpPatternMap[name])
+
+cmd("pom2mk " + atxRewriteStr +
+    # map external maven dependencies to Android module names
+    "-rewrite com.google.truth:truth=truth-prebuilt " +
+    "-rewrite net.sf.kxml:kxml2=kxml2-android " +
+    "-rewrite androidx.lifecycle:lifecycle-common=androidx.lifecycle_lifecycle-common " +
+    "-rewrite androidx.annotation:annotation=androidx.annotation_annotation " +
+    "-rewrite org.hamcrest:hamcrest-integration=hamcrest " +
+    "-rewrite javax.inject:javax.inject=jsr330 " +
+    "-rewrite com.google.android.material:material=com.google.android.material_material " +
+    "-rewrite androidx.drawerlayout:drawerlayout=androidx.drawerlayout_drawerlayout " +
+    "-rewrite androidx.viewpager:viewpager=androidx.viewpager_viewpager " +
+    "-rewrite androidx.recyclerview:recyclerview=androidx.recyclerview_recyclerview " +
+    "-rewrite androidx.core:core=androidx.core_core " +
+    "-rewrite androidx.legacy:legacy-support-core-utils=androidx.legacy_legacy-support-core-utils " +
+    "-sdk-version current " +
+    ". > Android.mk")
diff --git a/common/kxml2/Android.bp b/common/kxml2/Android.bp
index 9e56499..ee347b2 100644
--- a/common/kxml2/Android.bp
+++ b/common/kxml2/Android.bp
@@ -17,3 +17,8 @@
     jars: ["kxml2-2.3.0.jar"],
     installable: true,
 }
+
+java_import {
+    name: "kxml2-android",
+    jars: ["kxml2-2.3.0.jar"],
+}
