Merge "Delete Jython prebuilt."
diff --git a/BUILD.bazel b/BUILD.bazel
index 92fae3c..eb173f6 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -7,6 +7,10 @@
     srcs = select({
         "//build/bazel/platforms/os:darwin": ["darwin-x86/yasm/yasm"],
         "//build/bazel/platforms/os:linux": ["linux-x86/yasm/yasm"],
-        "//conditions:default": None,
+    }),
+    target_compatible_with = select({
+        "//build/bazel/platforms/os:darwin": [],
+        "//build/bazel/platforms/os:linux": [],
+        "//conditions:default": ["@platforms//:incompatible"],
     }),
 )
diff --git a/common/androidx-test/Android.bp b/common/androidx-test/Android.bp
index b912f80..fc95ae4 100644
--- a/common/androidx-test/Android.bp
+++ b/common/androidx-test/Android.bp
@@ -7,7 +7,7 @@
 
 android_library_import {
     name: "androidx.test.annotation-nodeps",
-    aars: ["androidx/test/annotation/1.0.1-rc01/annotation-1.0.1-rc01.aar"],
+    aars: ["androidx/test/annotation/1.0.1/annotation-1.0.1.aar"],
     sdk_version: "current",
     apex_available: [
         "//apex_available:platform",
@@ -39,7 +39,7 @@
 
 android_library_import {
     name: "androidx.test.core-nodeps",
-    aars: ["androidx/test/core/1.5.0-rc01/core-1.5.0-rc01.aar"],
+    aars: ["androidx/test/core/1.5.0/core-1.5.0.aar"],
     sdk_version: "current",
     apex_available: [
         "//apex_available:platform",
@@ -83,7 +83,7 @@
 
 android_library_import {
     name: "androidx.test.espresso.contrib-nodeps",
-    aars: ["androidx/test/espresso/espresso-contrib/3.5.0-rc01/espresso-contrib-3.5.0-rc01.aar"],
+    aars: ["androidx/test/espresso/espresso-contrib/3.5.0/espresso-contrib-3.5.0.aar"],
     sdk_version: "current",
     apex_available: [
         "//apex_available:platform",
@@ -129,7 +129,7 @@
 
 android_library_import {
     name: "androidx.test.espresso.core-nodeps",
-    aars: ["androidx/test/espresso/espresso-core/3.5.0-rc01/espresso-core-3.5.0-rc01.aar"],
+    aars: ["androidx/test/espresso/espresso-core/3.5.0/espresso-core-3.5.0.aar"],
     sdk_version: "current",
     apex_available: [
         "//apex_available:platform",
@@ -179,7 +179,7 @@
 
 android_library_import {
     name: "androidx.test.espresso.idling-resource-nodeps",
-    aars: ["androidx/test/espresso/espresso-idling-resource/3.5.0-rc01/espresso-idling-resource-3.5.0-rc01.aar"],
+    aars: ["androidx/test/espresso/espresso-idling-resource/3.5.0/espresso-idling-resource-3.5.0.aar"],
     sdk_version: "current",
     apex_available: [
         "//apex_available:platform",
@@ -207,7 +207,7 @@
 
 android_library_import {
     name: "androidx.test.espresso.intents-nodeps",
-    aars: ["androidx/test/espresso/espresso-intents/3.5.0-rc01/espresso-intents-3.5.0-rc01.aar"],
+    aars: ["androidx/test/espresso/espresso-intents/3.5.0/espresso-intents-3.5.0.aar"],
     sdk_version: "current",
     apex_available: [
         "//apex_available:platform",
@@ -245,7 +245,7 @@
 
 android_library_import {
     name: "androidx.test.espresso.web-nodeps",
-    aars: ["androidx/test/espresso/espresso-web/3.5.0-rc01/espresso-web-3.5.0-rc01.aar"],
+    aars: ["androidx/test/espresso/espresso-web/3.5.0/espresso-web-3.5.0.aar"],
     sdk_version: "current",
     apex_available: [
         "//apex_available:platform",
@@ -279,7 +279,7 @@
 
 android_library_import {
     name: "androidx.test.ext.junit-nodeps",
-    aars: ["androidx/test/ext/junit/1.1.4-rc01/junit-1.1.4-rc01.aar"],
+    aars: ["androidx/test/ext/junit/1.1.4/junit-1.1.4.aar"],
     sdk_version: "current",
     apex_available: [
         "//apex_available:platform",
@@ -315,7 +315,7 @@
 
 android_library_import {
     name: "androidx.test.ext.truth-nodeps",
-    aars: ["androidx/test/ext/truth/1.5.0-rc01/truth-1.5.0-rc01.aar"],
+    aars: ["androidx/test/ext/truth/1.5.0/truth-1.5.0.aar"],
     sdk_version: "current",
     apex_available: [
         "//apex_available:platform",
@@ -385,7 +385,7 @@
 
 android_library_import {
     name: "androidx.test.monitor-nodeps",
-    aars: ["androidx/test/monitor/1.6.0-rc01/monitor-1.6.0-rc01.aar"],
+    aars: ["androidx/test/monitor/1.6.0/monitor-1.6.0.aar"],
     sdk_version: "current",
     apex_available: [
         "//apex_available:platform",
@@ -419,7 +419,7 @@
 
 android_library_import {
     name: "androidx.test.rules-nodeps",
-    aars: ["androidx/test/rules/1.5.0-rc01/rules-1.5.0-rc01.aar"],
+    aars: ["androidx/test/rules/1.5.0/rules-1.5.0.aar"],
     sdk_version: "current",
     apex_available: [
         "//apex_available:platform",
@@ -457,7 +457,7 @@
 
 android_library_import {
     name: "androidx.test.runner-nodeps",
-    aars: ["androidx/test/runner/1.5.0-rc01/runner-1.5.0-rc01.aar"],
+    aars: ["androidx/test/runner/1.5.0/runner-1.5.0.aar"],
     sdk_version: "current",
     apex_available: [
         "//apex_available:platform",
@@ -497,7 +497,7 @@
 
 android_library_import {
     name: "androidx.test.services.storage-nodeps",
-    aars: ["androidx/test/services/storage/1.4.2-rc01/storage-1.4.2-rc01.aar"],
+    aars: ["androidx/test/services/storage/1.4.2/storage-1.4.2.aar"],
     sdk_version: "current",
     apex_available: [
         "//apex_available:platform",
@@ -533,7 +533,7 @@
 
 android_app_import {
     name: "androidx.test.services.test-services",
-    apk: "androidx/test/services/test-services/1.4.2-rc01/test-services-1.4.2-rc01.apk",
+    apk: "androidx/test/services/test-services/1.4.2/test-services-1.4.2.apk",
     apex_available: [
         "//apex_available:platform",
         "//apex_available:anyapex",
diff --git a/common/androidx-test/androidx/test/annotation/1.0.1-rc01/annotation-1.0.1-rc01-sources.jar b/common/androidx-test/androidx/test/annotation/1.0.1/annotation-1.0.1-sources.jar
similarity index 100%
rename from common/androidx-test/androidx/test/annotation/1.0.1-rc01/annotation-1.0.1-rc01-sources.jar
rename to common/androidx-test/androidx/test/annotation/1.0.1/annotation-1.0.1-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/annotation/1.0.1-rc01/annotation-1.0.1-rc01.aar b/common/androidx-test/androidx/test/annotation/1.0.1/annotation-1.0.1.aar
similarity index 100%
rename from common/androidx-test/androidx/test/annotation/1.0.1-rc01/annotation-1.0.1-rc01.aar
rename to common/androidx-test/androidx/test/annotation/1.0.1/annotation-1.0.1.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/annotation/1.0.1-rc01/annotation-1.0.1-rc01.pom b/common/androidx-test/androidx/test/annotation/1.0.1/annotation-1.0.1.pom
similarity index 97%
rename from common/androidx-test/androidx/test/annotation/1.0.1-rc01/annotation-1.0.1-rc01.pom
rename to common/androidx-test/androidx/test/annotation/1.0.1/annotation-1.0.1.pom
index 2d9e3c3..6ad4282 100644
--- a/common/androidx-test/androidx/test/annotation/1.0.1-rc01/annotation-1.0.1-rc01.pom
+++ b/common/androidx-test/androidx/test/annotation/1.0.1/annotation-1.0.1.pom
@@ -5,7 +5,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>androidx.test</groupId>
   <artifactId>annotation</artifactId>
-  <version>1.0.1-rc01</version>
+  <version>1.0.1</version>
   <packaging>aar</packaging>
   <name>AndroidX Test Library</name>
   <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
diff --git a/common/androidx-test/androidx/test/core/1.5.0-rc01/core-1.5.0-rc01-sources.jar b/common/androidx-test/androidx/test/core/1.5.0/core-1.5.0-sources.jar
similarity index 100%
rename from common/androidx-test/androidx/test/core/1.5.0-rc01/core-1.5.0-rc01-sources.jar
rename to common/androidx-test/androidx/test/core/1.5.0/core-1.5.0-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/core/1.5.0-rc01/core-1.5.0-rc01.aar b/common/androidx-test/androidx/test/core/1.5.0/core-1.5.0.aar
similarity index 100%
rename from common/androidx-test/androidx/test/core/1.5.0-rc01/core-1.5.0-rc01.aar
rename to common/androidx-test/androidx/test/core/1.5.0/core-1.5.0.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/core/1.5.0-rc01/core-1.5.0-rc01.pom b/common/androidx-test/androidx/test/core/1.5.0/core-1.5.0.pom
similarity index 95%
rename from common/androidx-test/androidx/test/core/1.5.0-rc01/core-1.5.0-rc01.pom
rename to common/androidx-test/androidx/test/core/1.5.0/core-1.5.0.pom
index 26be0a8..dc106dc 100644
--- a/common/androidx-test/androidx/test/core/1.5.0-rc01/core-1.5.0-rc01.pom
+++ b/common/androidx-test/androidx/test/core/1.5.0/core-1.5.0.pom
@@ -5,7 +5,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>androidx.test</groupId>
   <artifactId>core</artifactId>
-  <version>1.5.0-rc01</version>
+  <version>1.5.0</version>
   <packaging>aar</packaging>
   <name>AndroidX Test Library</name>
   <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -33,13 +33,13 @@
     <dependency>
       <groupId>androidx.test</groupId>
       <artifactId>monitor</artifactId>
-      <version>1.6.0-rc01</version>
+      <version>1.6.0</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>androidx.test.services</groupId>
       <artifactId>storage</artifactId>
-      <version>1.4.2-rc01</version>
+      <version>1.4.2</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
diff --git a/common/androidx-test/androidx/test/espresso/espresso-contrib/3.5.0-rc01/espresso-contrib-3.5.0-rc01-sources.jar b/common/androidx-test/androidx/test/espresso/espresso-contrib/3.5.0/espresso-contrib-3.5.0-sources.jar
similarity index 100%
rename from common/androidx-test/androidx/test/espresso/espresso-contrib/3.5.0-rc01/espresso-contrib-3.5.0-rc01-sources.jar
rename to common/androidx-test/androidx/test/espresso/espresso-contrib/3.5.0/espresso-contrib-3.5.0-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-contrib/3.5.0-rc01/espresso-contrib-3.5.0-rc01.aar b/common/androidx-test/androidx/test/espresso/espresso-contrib/3.5.0/espresso-contrib-3.5.0.aar
similarity index 100%
rename from common/androidx-test/androidx/test/espresso/espresso-contrib/3.5.0-rc01/espresso-contrib-3.5.0-rc01.aar
rename to common/androidx-test/androidx/test/espresso/espresso-contrib/3.5.0/espresso-contrib-3.5.0.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-contrib/3.5.0-rc01/espresso-contrib-3.5.0-rc01.pom b/common/androidx-test/androidx/test/espresso/espresso-contrib/3.5.0/espresso-contrib-3.5.0.pom
similarity index 95%
rename from common/androidx-test/androidx/test/espresso/espresso-contrib/3.5.0-rc01/espresso-contrib-3.5.0-rc01.pom
rename to common/androidx-test/androidx/test/espresso/espresso-contrib/3.5.0/espresso-contrib-3.5.0.pom
index b99d55f..1b2a99b 100644
--- a/common/androidx-test/androidx/test/espresso/espresso-contrib/3.5.0-rc01/espresso-contrib-3.5.0-rc01.pom
+++ b/common/androidx-test/androidx/test/espresso/espresso-contrib/3.5.0/espresso-contrib-3.5.0.pom
@@ -5,7 +5,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>androidx.test.espresso</groupId>
   <artifactId>espresso-contrib</artifactId>
-  <version>3.5.0-rc01</version>
+  <version>3.5.0</version>
   <packaging>aar</packaging>
   <name>AndroidX Test Library</name>
   <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -27,13 +27,13 @@
     <dependency>
       <groupId>androidx.test.espresso</groupId>
       <artifactId>espresso-core</artifactId>
-      <version>3.5.0-rc01</version>
+      <version>3.5.0</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>androidx.test.espresso</groupId>
       <artifactId>espresso-idling-resource</artifactId>
-      <version>3.5.0-rc01</version>
+      <version>3.5.0</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
diff --git a/common/androidx-test/androidx/test/espresso/espresso-core/3.5.0-rc01/espresso-core-3.5.0-rc01-sources.jar b/common/androidx-test/androidx/test/espresso/espresso-core/3.5.0/espresso-core-3.5.0-sources.jar
similarity index 95%
rename from common/androidx-test/androidx/test/espresso/espresso-core/3.5.0-rc01/espresso-core-3.5.0-rc01-sources.jar
rename to common/androidx-test/androidx/test/espresso/espresso-core/3.5.0/espresso-core-3.5.0-sources.jar
index d087109..53aec95 100644
--- a/common/androidx-test/androidx/test/espresso/espresso-core/3.5.0-rc01/espresso-core-3.5.0-rc01-sources.jar
+++ b/common/androidx-test/androidx/test/espresso/espresso-core/3.5.0/espresso-core-3.5.0-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-core/3.5.0-rc01/espresso-core-3.5.0-rc01.aar b/common/androidx-test/androidx/test/espresso/espresso-core/3.5.0/espresso-core-3.5.0.aar
similarity index 79%
rename from common/androidx-test/androidx/test/espresso/espresso-core/3.5.0-rc01/espresso-core-3.5.0-rc01.aar
rename to common/androidx-test/androidx/test/espresso/espresso-core/3.5.0/espresso-core-3.5.0.aar
index f52cb11..11107dc 100644
--- a/common/androidx-test/androidx/test/espresso/espresso-core/3.5.0-rc01/espresso-core-3.5.0-rc01.aar
+++ b/common/androidx-test/androidx/test/espresso/espresso-core/3.5.0/espresso-core-3.5.0.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-core/3.5.0-rc01/espresso-core-3.5.0-rc01.pom b/common/androidx-test/androidx/test/espresso/espresso-core/3.5.0/espresso-core-3.5.0.pom
similarity index 93%
rename from common/androidx-test/androidx/test/espresso/espresso-core/3.5.0-rc01/espresso-core-3.5.0-rc01.pom
rename to common/androidx-test/androidx/test/espresso/espresso-core/3.5.0/espresso-core-3.5.0.pom
index 8a6f949..ac40a8f 100644
--- a/common/androidx-test/androidx/test/espresso/espresso-core/3.5.0-rc01/espresso-core-3.5.0-rc01.pom
+++ b/common/androidx-test/androidx/test/espresso/espresso-core/3.5.0/espresso-core-3.5.0.pom
@@ -5,7 +5,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>androidx.test.espresso</groupId>
   <artifactId>espresso-core</artifactId>
-  <version>3.5.0-rc01</version>
+  <version>3.5.0</version>
   <packaging>aar</packaging>
   <name>AndroidX Test Library</name>
   <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -33,19 +33,19 @@
     <dependency>
       <groupId>androidx.test</groupId>
       <artifactId>core</artifactId>
-      <version>1.5.0-rc01</version>
+      <version>1.5.0</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>androidx.test</groupId>
       <artifactId>runner</artifactId>
-      <version>1.5.0-rc01</version>
+      <version>1.5.0</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>androidx.test.espresso</groupId>
       <artifactId>espresso-idling-resource</artifactId>
-      <version>3.5.0-rc01</version>
+      <version>3.5.0</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
@@ -87,7 +87,7 @@
     <dependency>
       <groupId>androidx.test</groupId>
       <artifactId>annotation</artifactId>
-      <version>1.0.1-rc01</version>
+      <version>1.0.1</version>
       <scope>compile</scope>
     </dependency>
   </dependencies>
diff --git a/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.5.0-rc01/espresso-idling-resource-3.5.0-rc01-sources.jar b/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.5.0/espresso-idling-resource-3.5.0-sources.jar
similarity index 100%
rename from common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.5.0-rc01/espresso-idling-resource-3.5.0-rc01-sources.jar
rename to common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.5.0/espresso-idling-resource-3.5.0-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.5.0-rc01/espresso-idling-resource-3.5.0-rc01.aar b/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.5.0/espresso-idling-resource-3.5.0.aar
similarity index 100%
rename from common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.5.0-rc01/espresso-idling-resource-3.5.0-rc01.aar
rename to common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.5.0/espresso-idling-resource-3.5.0.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.5.0-rc01/espresso-idling-resource-3.5.0-rc01.pom b/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.5.0/espresso-idling-resource-3.5.0.pom
similarity index 96%
rename from common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.5.0-rc01/espresso-idling-resource-3.5.0-rc01.pom
rename to common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.5.0/espresso-idling-resource-3.5.0.pom
index 154969a..345f055 100644
--- a/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.5.0-rc01/espresso-idling-resource-3.5.0-rc01.pom
+++ b/common/androidx-test/androidx/test/espresso/espresso-idling-resource/3.5.0/espresso-idling-resource-3.5.0.pom
@@ -5,7 +5,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>androidx.test.espresso</groupId>
   <artifactId>espresso-idling-resource</artifactId>
-  <version>3.5.0-rc01</version>
+  <version>3.5.0</version>
   <packaging>aar</packaging>
   <name>AndroidX Test Library</name>
   <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
diff --git a/common/androidx-test/androidx/test/espresso/espresso-intents/3.5.0-rc01/espresso-intents-3.5.0-rc01-sources.jar b/common/androidx-test/androidx/test/espresso/espresso-intents/3.5.0/espresso-intents-3.5.0-sources.jar
similarity index 100%
rename from common/androidx-test/androidx/test/espresso/espresso-intents/3.5.0-rc01/espresso-intents-3.5.0-rc01-sources.jar
rename to common/androidx-test/androidx/test/espresso/espresso-intents/3.5.0/espresso-intents-3.5.0-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-intents/3.5.0-rc01/espresso-intents-3.5.0-rc01.aar b/common/androidx-test/androidx/test/espresso/espresso-intents/3.5.0/espresso-intents-3.5.0.aar
similarity index 100%
rename from common/androidx-test/androidx/test/espresso/espresso-intents/3.5.0-rc01/espresso-intents-3.5.0-rc01.aar
rename to common/androidx-test/androidx/test/espresso/espresso-intents/3.5.0/espresso-intents-3.5.0.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-intents/3.5.0-rc01/espresso-intents-3.5.0-rc01.pom b/common/androidx-test/androidx/test/espresso/espresso-intents/3.5.0/espresso-intents-3.5.0.pom
similarity index 90%
rename from common/androidx-test/androidx/test/espresso/espresso-intents/3.5.0-rc01/espresso-intents-3.5.0-rc01.pom
rename to common/androidx-test/androidx/test/espresso/espresso-intents/3.5.0/espresso-intents-3.5.0.pom
index e75a212..74cd436 100644
--- a/common/androidx-test/androidx/test/espresso/espresso-intents/3.5.0-rc01/espresso-intents-3.5.0-rc01.pom
+++ b/common/androidx-test/androidx/test/espresso/espresso-intents/3.5.0/espresso-intents-3.5.0.pom
@@ -5,7 +5,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>androidx.test.espresso</groupId>
   <artifactId>espresso-intents</artifactId>
-  <version>3.5.0-rc01</version>
+  <version>3.5.0</version>
   <packaging>aar</packaging>
   <name>AndroidX Test Library</name>
   <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -27,25 +27,25 @@
     <dependency>
       <groupId>androidx.test.espresso</groupId>
       <artifactId>espresso-core</artifactId>
-      <version>3.5.0-rc01</version>
+      <version>3.5.0</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>androidx.test</groupId>
       <artifactId>core</artifactId>
-      <version>1.5.0-rc01</version>
+      <version>1.5.0</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>androidx.test</groupId>
       <artifactId>rules</artifactId>
-      <version>1.5.0-rc01</version>
+      <version>1.5.0</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>androidx.test</groupId>
       <artifactId>annotation</artifactId>
-      <version>1.0.1-rc01</version>
+      <version>1.0.1</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
diff --git a/common/androidx-test/androidx/test/espresso/espresso-web/3.5.0-rc01/espresso-web-3.5.0-rc01-sources.jar b/common/androidx-test/androidx/test/espresso/espresso-web/3.5.0/espresso-web-3.5.0-sources.jar
similarity index 100%
rename from common/androidx-test/androidx/test/espresso/espresso-web/3.5.0-rc01/espresso-web-3.5.0-rc01-sources.jar
rename to common/androidx-test/androidx/test/espresso/espresso-web/3.5.0/espresso-web-3.5.0-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-web/3.5.0-rc01/espresso-web-3.5.0-rc01.aar b/common/androidx-test/androidx/test/espresso/espresso-web/3.5.0/espresso-web-3.5.0.aar
similarity index 100%
rename from common/androidx-test/androidx/test/espresso/espresso-web/3.5.0-rc01/espresso-web-3.5.0-rc01.aar
rename to common/androidx-test/androidx/test/espresso/espresso-web/3.5.0/espresso-web-3.5.0.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/espresso/espresso-web/3.5.0-rc01/espresso-web-3.5.0-rc01.pom b/common/androidx-test/androidx/test/espresso/espresso-web/3.5.0/espresso-web-3.5.0.pom
similarity index 95%
rename from common/androidx-test/androidx/test/espresso/espresso-web/3.5.0-rc01/espresso-web-3.5.0-rc01.pom
rename to common/androidx-test/androidx/test/espresso/espresso-web/3.5.0/espresso-web-3.5.0.pom
index ae4c279..580f5a6 100644
--- a/common/androidx-test/androidx/test/espresso/espresso-web/3.5.0-rc01/espresso-web-3.5.0-rc01.pom
+++ b/common/androidx-test/androidx/test/espresso/espresso-web/3.5.0/espresso-web-3.5.0.pom
@@ -5,7 +5,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>androidx.test.espresso</groupId>
   <artifactId>espresso-web</artifactId>
-  <version>3.5.0-rc01</version>
+  <version>3.5.0</version>
   <packaging>aar</packaging>
   <name>AndroidX Test Library</name>
   <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -27,7 +27,7 @@
     <dependency>
       <groupId>androidx.test.espresso</groupId>
       <artifactId>espresso-core</artifactId>
-      <version>3.5.0-rc01</version>
+      <version>3.5.0</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
diff --git a/common/androidx-test/androidx/test/ext/junit/1.1.4-rc01/junit-1.1.4-rc01-sources.jar b/common/androidx-test/androidx/test/ext/junit/1.1.4/junit-1.1.4-sources.jar
similarity index 100%
rename from common/androidx-test/androidx/test/ext/junit/1.1.4-rc01/junit-1.1.4-rc01-sources.jar
rename to common/androidx-test/androidx/test/ext/junit/1.1.4/junit-1.1.4-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/ext/junit/1.1.4-rc01/junit-1.1.4-rc01.aar b/common/androidx-test/androidx/test/ext/junit/1.1.4/junit-1.1.4.aar
similarity index 100%
rename from common/androidx-test/androidx/test/ext/junit/1.1.4-rc01/junit-1.1.4-rc01.aar
rename to common/androidx-test/androidx/test/ext/junit/1.1.4/junit-1.1.4.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/ext/junit/1.1.4-rc01/junit-1.1.4-rc01.pom b/common/androidx-test/androidx/test/ext/junit/1.1.4/junit-1.1.4.pom
similarity index 93%
rename from common/androidx-test/androidx/test/ext/junit/1.1.4-rc01/junit-1.1.4-rc01.pom
rename to common/androidx-test/androidx/test/ext/junit/1.1.4/junit-1.1.4.pom
index b12e95d..695b601 100644
--- a/common/androidx-test/androidx/test/ext/junit/1.1.4-rc01/junit-1.1.4-rc01.pom
+++ b/common/androidx-test/androidx/test/ext/junit/1.1.4/junit-1.1.4.pom
@@ -5,7 +5,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>androidx.test.ext</groupId>
   <artifactId>junit</artifactId>
-  <version>1.1.4-rc01</version>
+  <version>1.1.4</version>
   <packaging>aar</packaging>
   <name>AndroidX Test Library</name>
   <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -33,13 +33,13 @@
     <dependency>
       <groupId>androidx.test</groupId>
       <artifactId>core</artifactId>
-      <version>1.5.0-rc01</version>
+      <version>1.5.0</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>androidx.test</groupId>
       <artifactId>monitor</artifactId>
-      <version>1.6.0-rc01</version>
+      <version>1.6.0</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
diff --git a/common/androidx-test/androidx/test/ext/truth/1.5.0-rc01/truth-1.5.0-rc01-sources.jar b/common/androidx-test/androidx/test/ext/truth/1.5.0/truth-1.5.0-sources.jar
similarity index 100%
rename from common/androidx-test/androidx/test/ext/truth/1.5.0-rc01/truth-1.5.0-rc01-sources.jar
rename to common/androidx-test/androidx/test/ext/truth/1.5.0/truth-1.5.0-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/ext/truth/1.5.0-rc01/truth-1.5.0-rc01.aar b/common/androidx-test/androidx/test/ext/truth/1.5.0/truth-1.5.0.aar
similarity index 100%
rename from common/androidx-test/androidx/test/ext/truth/1.5.0-rc01/truth-1.5.0-rc01.aar
rename to common/androidx-test/androidx/test/ext/truth/1.5.0/truth-1.5.0.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/ext/truth/1.5.0-rc01/truth-1.5.0-rc01.pom b/common/androidx-test/androidx/test/ext/truth/1.5.0/truth-1.5.0.pom
similarity index 93%
rename from common/androidx-test/androidx/test/ext/truth/1.5.0-rc01/truth-1.5.0-rc01.pom
rename to common/androidx-test/androidx/test/ext/truth/1.5.0/truth-1.5.0.pom
index c6e4baa..d39c073 100644
--- a/common/androidx-test/androidx/test/ext/truth/1.5.0-rc01/truth-1.5.0-rc01.pom
+++ b/common/androidx-test/androidx/test/ext/truth/1.5.0/truth-1.5.0.pom
@@ -5,7 +5,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>androidx.test.ext</groupId>
   <artifactId>truth</artifactId>
-  <version>1.5.0-rc01</version>
+  <version>1.5.0</version>
   <packaging>aar</packaging>
   <name>AndroidX Test Library</name>
   <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -27,7 +27,7 @@
     <dependency>
       <groupId>androidx.test</groupId>
       <artifactId>core</artifactId>
-      <version>1.5.0-rc01</version>
+      <version>1.5.0</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
@@ -51,7 +51,7 @@
     <dependency>
       <groupId>androidx.test</groupId>
       <artifactId>annotation</artifactId>
-      <version>1.0.1-rc01</version>
+      <version>1.0.1</version>
       <scope>compile</scope>
     </dependency>
   </dependencies>
diff --git a/common/androidx-test/androidx/test/monitor/1.6.0-rc01/monitor-1.6.0-rc01-sources.jar b/common/androidx-test/androidx/test/monitor/1.6.0/monitor-1.6.0-sources.jar
similarity index 100%
rename from common/androidx-test/androidx/test/monitor/1.6.0-rc01/monitor-1.6.0-rc01-sources.jar
rename to common/androidx-test/androidx/test/monitor/1.6.0/monitor-1.6.0-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/monitor/1.6.0-rc01/monitor-1.6.0-rc01.aar b/common/androidx-test/androidx/test/monitor/1.6.0/monitor-1.6.0.aar
similarity index 100%
rename from common/androidx-test/androidx/test/monitor/1.6.0-rc01/monitor-1.6.0-rc01.aar
rename to common/androidx-test/androidx/test/monitor/1.6.0/monitor-1.6.0.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/monitor/1.6.0-rc01/monitor-1.6.0-rc01.pom b/common/androidx-test/androidx/test/monitor/1.6.0/monitor-1.6.0.pom
similarity index 95%
rename from common/androidx-test/androidx/test/monitor/1.6.0-rc01/monitor-1.6.0-rc01.pom
rename to common/androidx-test/androidx/test/monitor/1.6.0/monitor-1.6.0.pom
index 7ec083c..127ebf0 100644
--- a/common/androidx-test/androidx/test/monitor/1.6.0-rc01/monitor-1.6.0-rc01.pom
+++ b/common/androidx-test/androidx/test/monitor/1.6.0/monitor-1.6.0.pom
@@ -5,7 +5,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>androidx.test</groupId>
   <artifactId>monitor</artifactId>
-  <version>1.6.0-rc01</version>
+  <version>1.6.0</version>
   <packaging>aar</packaging>
   <name>AndroidX Test Library</name>
   <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -33,7 +33,7 @@
     <dependency>
       <groupId>androidx.test</groupId>
       <artifactId>annotation</artifactId>
-      <version>1.0.1-rc01</version>
+      <version>1.0.1</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
diff --git a/common/androidx-test/androidx/test/rules/1.5.0-rc01/rules-1.5.0-rc01-sources.jar b/common/androidx-test/androidx/test/rules/1.5.0/rules-1.5.0-sources.jar
similarity index 100%
rename from common/androidx-test/androidx/test/rules/1.5.0-rc01/rules-1.5.0-rc01-sources.jar
rename to common/androidx-test/androidx/test/rules/1.5.0/rules-1.5.0-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/rules/1.5.0-rc01/rules-1.5.0-rc01.aar b/common/androidx-test/androidx/test/rules/1.5.0/rules-1.5.0.aar
similarity index 100%
rename from common/androidx-test/androidx/test/rules/1.5.0-rc01/rules-1.5.0-rc01.aar
rename to common/androidx-test/androidx/test/rules/1.5.0/rules-1.5.0.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/rules/1.5.0-rc01/rules-1.5.0-rc01.pom b/common/androidx-test/androidx/test/rules/1.5.0/rules-1.5.0.pom
similarity index 91%
rename from common/androidx-test/androidx/test/rules/1.5.0-rc01/rules-1.5.0-rc01.pom
rename to common/androidx-test/androidx/test/rules/1.5.0/rules-1.5.0.pom
index e262138..8c31eca 100644
--- a/common/androidx-test/androidx/test/rules/1.5.0-rc01/rules-1.5.0-rc01.pom
+++ b/common/androidx-test/androidx/test/rules/1.5.0/rules-1.5.0.pom
@@ -5,7 +5,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>androidx.test</groupId>
   <artifactId>rules</artifactId>
-  <version>1.5.0-rc01</version>
+  <version>1.5.0</version>
   <packaging>aar</packaging>
   <name>AndroidX Test Library</name>
   <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -27,13 +27,13 @@
     <dependency>
       <groupId>androidx.test</groupId>
       <artifactId>runner</artifactId>
-      <version>1.5.0-rc01</version>
+      <version>1.5.0</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>androidx.test</groupId>
       <artifactId>annotation</artifactId>
-      <version>1.0.1-rc01</version>
+      <version>1.0.1</version>
       <scope>compile</scope>
     </dependency>
   </dependencies>
diff --git a/common/androidx-test/androidx/test/runner/1.5.0-rc01/runner-1.5.0-rc01-sources.jar b/common/androidx-test/androidx/test/runner/1.5.0/runner-1.5.0-sources.jar
similarity index 100%
rename from common/androidx-test/androidx/test/runner/1.5.0-rc01/runner-1.5.0-rc01-sources.jar
rename to common/androidx-test/androidx/test/runner/1.5.0/runner-1.5.0-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/runner/1.5.0-rc01/runner-1.5.0-rc01.aar b/common/androidx-test/androidx/test/runner/1.5.0/runner-1.5.0.aar
similarity index 100%
rename from common/androidx-test/androidx/test/runner/1.5.0-rc01/runner-1.5.0-rc01.aar
rename to common/androidx-test/androidx/test/runner/1.5.0/runner-1.5.0.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/runner/1.5.0-rc01/runner-1.5.0-rc01.pom b/common/androidx-test/androidx/test/runner/1.5.0/runner-1.5.0.pom
similarity index 92%
rename from common/androidx-test/androidx/test/runner/1.5.0-rc01/runner-1.5.0-rc01.pom
rename to common/androidx-test/androidx/test/runner/1.5.0/runner-1.5.0.pom
index b05e8a5..364acee 100644
--- a/common/androidx-test/androidx/test/runner/1.5.0-rc01/runner-1.5.0-rc01.pom
+++ b/common/androidx-test/androidx/test/runner/1.5.0/runner-1.5.0.pom
@@ -5,7 +5,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>androidx.test</groupId>
   <artifactId>runner</artifactId>
-  <version>1.5.0-rc01</version>
+  <version>1.5.0</version>
   <packaging>aar</packaging>
   <name>AndroidX Test Library</name>
   <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -33,19 +33,19 @@
     <dependency>
       <groupId>androidx.test</groupId>
       <artifactId>annotation</artifactId>
-      <version>1.0.1-rc01</version>
+      <version>1.0.1</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>androidx.test</groupId>
       <artifactId>monitor</artifactId>
-      <version>[1.6.0-rc01]</version>
+      <version>[1.6.0]</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>androidx.test.services</groupId>
       <artifactId>storage</artifactId>
-      <version>[1.4.2-rc01]</version>
+      <version>[1.4.2]</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
diff --git a/common/androidx-test/androidx/test/services/storage/1.4.2-rc01/storage-1.4.2-rc01-sources.jar b/common/androidx-test/androidx/test/services/storage/1.4.2/storage-1.4.2-sources.jar
similarity index 100%
rename from common/androidx-test/androidx/test/services/storage/1.4.2-rc01/storage-1.4.2-rc01-sources.jar
rename to common/androidx-test/androidx/test/services/storage/1.4.2/storage-1.4.2-sources.jar
Binary files differ
diff --git a/common/androidx-test/androidx/test/services/storage/1.4.2-rc01/storage-1.4.2-rc01.aar b/common/androidx-test/androidx/test/services/storage/1.4.2/storage-1.4.2.aar
similarity index 100%
rename from common/androidx-test/androidx/test/services/storage/1.4.2-rc01/storage-1.4.2-rc01.aar
rename to common/androidx-test/androidx/test/services/storage/1.4.2/storage-1.4.2.aar
Binary files differ
diff --git a/common/androidx-test/androidx/test/services/storage/1.4.2-rc01/storage-1.4.2-rc01.pom b/common/androidx-test/androidx/test/services/storage/1.4.2/storage-1.4.2.pom
similarity index 93%
rename from common/androidx-test/androidx/test/services/storage/1.4.2-rc01/storage-1.4.2-rc01.pom
rename to common/androidx-test/androidx/test/services/storage/1.4.2/storage-1.4.2.pom
index dc48e77..8685d29 100644
--- a/common/androidx-test/androidx/test/services/storage/1.4.2-rc01/storage-1.4.2-rc01.pom
+++ b/common/androidx-test/androidx/test/services/storage/1.4.2/storage-1.4.2.pom
@@ -5,7 +5,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>androidx.test.services</groupId>
   <artifactId>storage</artifactId>
-  <version>1.4.2-rc01</version>
+  <version>1.4.2</version>
   <packaging>aar</packaging>
   <name>AndroidX Test Library</name>
   <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
@@ -33,7 +33,7 @@
     <dependency>
       <groupId>androidx.test</groupId>
       <artifactId>monitor</artifactId>
-      <version>[1.6.0-rc01]</version>
+      <version>[1.6.0]</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
@@ -45,7 +45,7 @@
     <dependency>
       <groupId>androidx.test</groupId>
       <artifactId>annotation</artifactId>
-      <version>1.0.1-rc01</version>
+      <version>1.0.1</version>
       <scope>compile</scope>
     </dependency>
   </dependencies>
diff --git a/common/androidx-test/androidx/test/services/test-services/1.4.2-rc01/test-services-1.4.2-rc01.apk b/common/androidx-test/androidx/test/services/test-services/1.4.2/test-services-1.4.2.apk
similarity index 98%
rename from common/androidx-test/androidx/test/services/test-services/1.4.2-rc01/test-services-1.4.2-rc01.apk
rename to common/androidx-test/androidx/test/services/test-services/1.4.2/test-services-1.4.2.apk
index dbd2881..86aeb40 100644
--- a/common/androidx-test/androidx/test/services/test-services/1.4.2-rc01/test-services-1.4.2-rc01.apk
+++ b/common/androidx-test/androidx/test/services/test-services/1.4.2/test-services-1.4.2.apk
Binary files differ
diff --git a/common/androidx-test/androidx/test/services/test-services/1.4.2-rc01/test-services-1.4.2-rc01.pom b/common/androidx-test/androidx/test/services/test-services/1.4.2/test-services-1.4.2.pom
similarity index 96%
rename from common/androidx-test/androidx/test/services/test-services/1.4.2-rc01/test-services-1.4.2-rc01.pom
rename to common/androidx-test/androidx/test/services/test-services/1.4.2/test-services-1.4.2.pom
index 0ccf3ea..b01b811 100644
--- a/common/androidx-test/androidx/test/services/test-services/1.4.2-rc01/test-services-1.4.2-rc01.pom
+++ b/common/androidx-test/androidx/test/services/test-services/1.4.2/test-services-1.4.2.pom
@@ -5,7 +5,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>androidx.test.services</groupId>
   <artifactId>test-services</artifactId>
-  <version>1.4.2-rc01</version>
+  <version>1.4.2</version>
   <packaging>apk</packaging>
   <name>AndroidX Test Library</name>
   <description>The AndroidX Test Library provides an extensive framework for testing Android apps</description>
diff --git a/common/androidx-test/update-from-gmaven.py b/common/androidx-test/update-from-gmaven.py
index 6a09405..67156cb 100755
--- a/common/androidx-test/update-from-gmaven.py
+++ b/common/androidx-test/update-from-gmaven.py
@@ -18,15 +18,15 @@
 import subprocess
 import sys
 
-annotationVersion="1.0.1-rc01"
-monitorVersion="1.6.0-rc01"
-runnerVersion="1.5.0-rc01"
-rulesVersion="1.5.0-rc01"
-espressoVersion="3.5.0-rc01"
-coreVersion="1.5.0-rc01"
-extJUnitVersion="1.1.4-rc01"
-extTruthVersion="1.5.0-rc01"
-servicesVersion="1.4.2-rc01"
+annotationVersion="1.0.1"
+monitorVersion="1.6.0"
+runnerVersion="1.5.0"
+rulesVersion="1.5.0"
+espressoVersion="3.5.0"
+coreVersion="1.5.0"
+extJUnitVersion="1.1.4"
+extTruthVersion="1.5.0"
+servicesVersion="1.4.2"
 jankTestHelperVersion="1.0.1"
 
 mavenToBpPatternMap = {
diff --git a/common/robolectric/3.6.2/Android.bp b/common/robolectric/3.6.2/Android.bp
deleted file mode 100644
index ae74b95..0000000
--- a/common/robolectric/3.6.2/Android.bp
+++ /dev/null
@@ -1,27 +0,0 @@
-package {
-    // See: http://go/android-license-faq
-    // A large-scale-change added 'default_applicable_licenses' to import
-    // all of the 'license_kinds' from "prebuilts_misc_license"
-    // to get the below license kinds:
-    //   legacy_restricted
-    default_applicable_licenses: ["prebuilts_misc_license"],
-}
-
-java_import {
-    name: "platform-robolectric-3.6.2-prebuilt",
-    sdk_version: "current",
-    jars: [
-        "lib/annotations-3.6.2.jar",
-        "lib/asm-6.0.jar",
-        "lib/junit-3.6.2.jar",
-        "lib/resources-3.6.2.jar",
-        "lib/sandbox-3.6.2.jar",
-        "lib/shadowapi-3.6.2.jar",
-        "lib/shadows-framework-3.6.2.jar",
-        "lib/shadows-httpclient-3.6.2.jar",
-        "lib/shadows-multidex-3.6.2.jar",
-        "lib/shadows-supportv4-3.6.2.jar",
-        "lib/robolectric-3.6.2.jar",
-        "lib/utils-3.6.2.jar",
-    ],
-}
diff --git a/common/robolectric/3.6.2/PREBUILT/download-libs.gradle b/common/robolectric/3.6.2/PREBUILT/download-libs.gradle
deleted file mode 100644
index a26f65b..0000000
--- a/common/robolectric/3.6.2/PREBUILT/download-libs.gradle
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Modified from https://gist.github.com/xian/05c4f27da6d4156b9827842217c2cd5c
- * Reference: http://robolectric.org/blog/2017/03/01/hermetic-builds/
- */
-defaultTasks 'copyLibs'
-
-def shadowArtifacts = [
-        "org.robolectric:shadows-framework:${robolectricVersion}",
-        "org.robolectric:shadows-httpclient:${robolectricVersion}",
-        "org.robolectric:shadows-multidex:${robolectricVersion}",
-        "org.robolectric:shadows-playservices:${robolectricVersion}",
-        "org.robolectric:shadows-supportv4:${robolectricVersion}",
-]
-
-def buildDir = System.getProperty("user.dir")
-
-apply plugin: 'java'
-
-repositories {
-    mavenCentral()
-}
-
-configurations {
-    sandbox
-    roboSources
-}
-
-// In this section you declare the dependencies for your production and test code
-dependencies {
-    compile("org.robolectric:robolectric:${robolectricVersion}") {
-        // we don't need these MavenDependencyResolver in a hermetic build
-        exclude group: 'org.apache.maven', module: 'maven-ant-tasks'
-        exclude group: 'org.apache.ant', module: 'ant'
-    }
-
-    compile('com.ximpleware:vtd-xml:2.11')
-    // Force ASM dependency to be 6.0 for JDK9 support
-    compile('org.ow2.asm:asm:6.0')
-    compile('org.ow2.asm:asm-commons:6.0')
-
-    shadowArtifacts.forEach { shadowArtifact ->
-        compile shadowArtifact
-        sandbox shadowArtifact
-    }
-
-    def shadowArtifactsSet = shadowArtifacts.collect {it.toString()}  toSet()
-    configurations.runtime.resolvedConfiguration.resolvedArtifacts.each { ResolvedArtifact ra ->
-        ModuleVersionIdentifier id = ra.moduleVersion.id
-        // download only core sources. relax restriction if required
-        if ("org.robolectric".equals(id.group) && !shadowArtifactsSet.contains(id.toString())) {
-            roboSources("${id.group}:${id.name}:${id.version}:sources") {
-                transitive = false
-            }
-        }
-    }
-}
-
-
-task copyLibs(type: Copy) {
-    from configurations.compile
-    from configurations.roboSources
-    into "$buildDir/lib"
-
-    doLast {
-        def f = new File("$buildDir/classpath_jars.mk")
-        f.delete()
-        def jars = source.getFiles()
-            .collect { it.name }
-            .sort()
-            .findAll { !it.endsWith("sources.jar") }
-            .collect { "    lib/${it} " }
-        f << "my_robolectric_runtime_deps := \\\n" << jars.join("\\\n") << "\n"
-    }
-}
diff --git a/common/robolectric/3.6.2/PREBUILT/download-libs.sh b/common/robolectric/3.6.2/PREBUILT/download-libs.sh
deleted file mode 100755
index 2e72b91..0000000
--- a/common/robolectric/3.6.2/PREBUILT/download-libs.sh
+++ /dev/null
@@ -1,118 +0,0 @@
-#! /bin/bash
-
-set -e
-
-printusage() {
-    echo "Usage: ./download-libs.sh <robolectric-version> " >&2
-    echo "    -f <old-directory-to-copy-from>" >&2
-    exit 1
-}
-
-oldVersion=""
-roboVersion="$1"
-shift
-
-while getopts "f:h" opt; do
-    case "$opt" in
-        f)
-            oldVersion="$OPTARG"
-            ;;
-        h)
-            printusage
-            ;;
-    esac
-done
-
-if [[ -z $roboVersion ]] || [[ -z $oldVersion ]]; then
-    printusage
-fi
-
-mkdir -p ../"$roboVersion"/PREBUILT
-# Copy the scripts into the versioned directory for record
-cp download-libs.sh ../"$roboVersion"/PREBUILT/download-libs.sh
-cp download-libs.gradle ../"$roboVersion"/PREBUILT/download-libs.gradle
-
-cd ../"$roboVersion"
-gradle -b PREBUILT/download-libs.gradle \
-    -ProbolectricVersion="$roboVersion" \
-    -PshadowsVersion="$roboVersion"
-
-COPY_FROM_OLD_VERSION=(
-    "java-timeout"
-    "list_failed.sh"
-    "report-internal.mk"
-    "robotest-internal.mk"
-    "robotest.sh"
-    "run_robotests.mk"
-    "wrapper.sh"
-    "wrapper_test.sh"
-)
-
-for file in "${COPY_FROM_OLD_VERSION[@]}"; do
-    cp -n ../"$oldVersion"/$file ./$file
-done
-
-cat <<EOF > Android.mk
-LOCAL_PATH:= \$(call my-dir)
-
-############################
-# Adding the Robolectric .JAR prebuilts from this directory into a single target.
-# This is the one you probably want.
-include \$(CLEAR_VARS)
-
-LOCAL_STATIC_JAVA_LIBRARIES := \\
-    platform-robolectric-${roboVersion}-annotations \\
-    platform-robolectric-${roboVersion}-asm \\
-    platform-robolectric-${roboVersion}-junit \\
-    platform-robolectric-${roboVersion}-resources \\
-    platform-robolectric-${roboVersion}-sandbox \\
-    platform-robolectric-${roboVersion}-shadow-api \\
-    platform-robolectric-${roboVersion}-shadows-framework \\
-    platform-robolectric-${roboVersion}-shadows-httpclient \\
-    platform-robolectric-${roboVersion}-shadows-multidex \\
-    platform-robolectric-${roboVersion}-shadows-support-v4 \\
-    platform-robolectric-${roboVersion}-snapshot \\
-    platform-robolectric-${roboVersion}-utils
-
-LOCAL_MODULE := platform-robolectric-${roboVersion}-prebuilt
-
-LOCAL_SDK_VERSION := current
-
-include \$(BUILD_STATIC_JAVA_LIBRARY)
-
-############################
-# Defining the target names for the static prebuilt .JARs.
-
-prebuilts := \\
-    platform-robolectric-${roboVersion}-annotations:lib/annotations-${roboVersion}.jar \\
-    platform-robolectric-${roboVersion}-asm:lib/asm-6.0.jar \\
-    platform-robolectric-${roboVersion}-junit:lib/junit-${roboVersion}.jar \\
-    platform-robolectric-${roboVersion}-resources:lib/resources-${roboVersion}.jar \\
-    platform-robolectric-${roboVersion}-sandbox:lib/sandbox-${roboVersion}.jar \\
-    platform-robolectric-${roboVersion}-shadow-api:lib/shadowapi-${roboVersion}.jar \\
-    platform-robolectric-${roboVersion}-shadows-framework:lib/shadows-framework-${roboVersion}.jar \\
-    platform-robolectric-${roboVersion}-shadows-httpclient:lib/shadows-httpclient-${roboVersion}.jar \\
-    platform-robolectric-${roboVersion}-shadows-multidex:lib/shadows-multidex-${roboVersion}.jar \\
-    platform-robolectric-${roboVersion}-shadows-support-v4:lib/shadows-supportv4-${roboVersion}.jar \\
-    platform-robolectric-${roboVersion}-snapshot:lib/robolectric-${roboVersion}.jar \\
-    platform-robolectric-${roboVersion}-utils:lib/utils-${roboVersion}.jar
-
-define define-prebuilt
-  \$(eval tw := \$(subst :, ,\$(strip \$(1)))) \\
-  \$(eval include \$(CLEAR_VARS)) \\
-  \$(eval LOCAL_MODULE := \$(word 1,\$(tw))) \\
-  \$(eval LOCAL_MODULE_TAGS := optional) \\
-  \$(eval LOCAL_MODULE_CLASS := JAVA_LIBRARIES) \\
-  \$(eval LOCAL_SRC_FILES := \$(word 2,\$(tw))) \\
-  \$(eval LOCAL_UNINSTALLABLE_MODULE := true) \\
-  \$(eval LOCAL_SDK_VERSION := current) \\
-  \$(eval include \$(BUILD_PREBUILT))
-endef
-
-\$(foreach p,\$(prebuilts),\\
-  \$(call define-prebuilt,\$(p)))
-
-prebuilts :=
-EOF
-
-set +e
diff --git a/common/robolectric/3.6.2/classpath_jars.mk b/common/robolectric/3.6.2/classpath_jars.mk
deleted file mode 100644
index 5631b2f..0000000
--- a/common/robolectric/3.6.2/classpath_jars.mk
+++ /dev/null
@@ -1,32 +0,0 @@
-my_robolectric_runtime_deps := \
-    lib/accessibility-test-framework-2.1.jar \
-    lib/annotations-3.6.2.jar \
-    lib/asm-6.0.jar \
-    lib/asm-commons-6.0.jar \
-    lib/asm-tree-6.0.jar \
-    lib/bcprov-jdk15on-1.52.jar \
-    lib/commons-codec-1.3.jar \
-    lib/commons-logging-1.1.1.jar \
-    lib/guava-20.0.jar \
-    lib/hamcrest-core-1.3.jar \
-    lib/hamcrest-library-1.3.jar \
-    lib/httpclient-4.0.3.jar \
-    lib/httpcore-4.0.1.jar \
-    lib/icu4j-53.1.jar \
-    lib/junit-3.6.2.jar \
-    lib/protobuf-java-2.6.1.jar \
-    lib/resources-3.6.2.jar \
-    lib/robolectric-3.6.2.jar \
-    lib/sandbox-3.6.2.jar \
-    lib/shadowapi-3.6.2.jar \
-    lib/shadows-framework-3.6.2.jar \
-    lib/shadows-httpclient-3.6.2.jar \
-    lib/shadows-multidex-3.6.2.jar \
-    lib/shadows-playservices-3.6.2.jar \
-    lib/shadows-supportv4-3.6.2.jar \
-    lib/sqlite4java-0.282.jar \
-    lib/utils-3.6.2.jar \
-    lib/vtd-xml-2.11.jar \
-    lib/xmlpull-1.1.3.1.jar \
-    lib/xpp3_min-1.1.4c.jar \
-    lib/xstream-1.4.8.jar 
diff --git a/common/robolectric/3.6.2/java-timeout b/common/robolectric/3.6.2/java-timeout
deleted file mode 100755
index 921fc80..0000000
--- a/common/robolectric/3.6.2/java-timeout
+++ /dev/null
@@ -1,94 +0,0 @@
-#!/bin/bash
-#
-# Script for running java with a timeout.
-#
-# The timeout in seconds must be the first argument.  The rest of the arguments
-# are passed to the java binary itself.
-#
-# For example:
-#     java-timeout 120 -cp classes.jar org.junit.runner.JUnitCore
-# runs:
-#     java -cp classes.jar org.junit.runner.JUnitCore
-# with a timeout of 2 minutes.
-
-set -euo pipefail
-
-# Prints a message and terminates the process.
-function fatal() {
-  echo "FATAL: $*"
-  exit 113
-}
-
-# Function that is invoked if java is terminated due to timeout.
-# It take the process ID of the java command as an argument if it has already
-# been started, or the empty string if not. It should very rarely receive the
-# empty string as the pid, but it is possible.
-function on_timeout() {
-  echo 'FATAL: command timed out'
-
-  local pid="${1-}"
-  shift || fatal '[on_timeout] missing argument: pid'
-  test $# = 0 || fatal '[on_timeout] too many arguments'
-
-  if [ "$pid" != '' ]; then
-    # It is possible that the process already terminated, but there is not much
-    # we can do about that.
-    kill -TERM -- "-$pid"  # Kill the entire process group.
-  fi
-}
-
-# Executes java with the given argument, waiting for a termination signal from
-# runalarm which this script is running under. The arguments are passed to the
-# java binary itself.
-function execute() {
-  # Trap SIGTERM, which is what we will receive if runalarm interrupts us.
-  local pid  # Set below after we run the process.
-  trap 'on_timeout $pid' SIGTERM
-  # Starts java within a new process group and saves it process ID before
-  # blocking waiting for it to complete. 'setsid' starts the process within a
-  # new process group, which means that it will not be killed when this shell
-  # command is killed. This is needed so that the signal handler in the trap
-  # command above to be invoked before the java command is terminated (and will
-  # in fact have to terminate it itself).
-  setsid -w java "$@" & pid="$!"; wait "$pid"
-}
-
-# Runs java with a timeout. The first argument is either the timeout in seconds
-# or the string 'execute', which is used internally to execute the command under
-# runalarm.
-function main() {
-  local timeout_secs="${1-}"
-  shift || fatal '[main]: missing argument: timeout_secs'
-  # The reset of the arguments are meant for the java binary itself.
-
-  if [[ $timeout_secs = '0' ]]; then
-    # Run without any timeout.
-    java "$@"
-  elif [[ $timeout_secs = 'execute' ]]; then
-    # This means we actually have to execute the command.
-    execute "$@"
-  elif (( timeout_secs < 30 )); then
-    # We want to have a timeout of at least 30 seconds, so that we are
-    # guaranteed to be able to start the java command in the subshell. This also
-    # catches non-numeric arguments.
-    fatal 'Must specify a timeout of at least 30 seconds.'
-  else
-    # Wrap the command with the standard timeout(1) if available.
-    # "runalarm" is a Google timeout clone, and Mac users who've installed
-    # GNU coreutils have timeout available as "gtimeout".
-    if type timeout > /dev/null 2>&1 ; then
-      timeout "${timeout_secs}" "$0" 'execute' "$@"
-    elif type runalarm > /dev/null 2>&1 ; then
-      runalarm -t "$timeout_secs" "$0" 'execute' "$@"
-    elif type gtimeout > /dev/null 2>&1 ; then
-      gtimeout "${timeout_secs}s" "$0" 'execute' "$@"
-    else
-      # No way to set a timeout available, just execute directly.
-      echo "Warning: unable to enforce timeout." 1>&2
-      java "$@"
-    fi
-  fi
-}
-
-
-main "$@"
diff --git a/common/robolectric/3.6.2/lib/accessibility-test-framework-2.1.jar b/common/robolectric/3.6.2/lib/accessibility-test-framework-2.1.jar
deleted file mode 100644
index 1cd83a3..0000000
--- a/common/robolectric/3.6.2/lib/accessibility-test-framework-2.1.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/annotations-3.6.2-sources.jar b/common/robolectric/3.6.2/lib/annotations-3.6.2-sources.jar
deleted file mode 100644
index 44f3138..0000000
--- a/common/robolectric/3.6.2/lib/annotations-3.6.2-sources.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/annotations-3.6.2.jar b/common/robolectric/3.6.2/lib/annotations-3.6.2.jar
deleted file mode 100644
index dc94d74..0000000
--- a/common/robolectric/3.6.2/lib/annotations-3.6.2.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/asm-6.0.jar b/common/robolectric/3.6.2/lib/asm-6.0.jar
deleted file mode 100644
index cf2de27..0000000
--- a/common/robolectric/3.6.2/lib/asm-6.0.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/asm-commons-6.0.jar b/common/robolectric/3.6.2/lib/asm-commons-6.0.jar
deleted file mode 100644
index 33ba0c4..0000000
--- a/common/robolectric/3.6.2/lib/asm-commons-6.0.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/asm-tree-6.0.jar b/common/robolectric/3.6.2/lib/asm-tree-6.0.jar
deleted file mode 100644
index 2aa9815..0000000
--- a/common/robolectric/3.6.2/lib/asm-tree-6.0.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/bcprov-jdk15on-1.52.jar b/common/robolectric/3.6.2/lib/bcprov-jdk15on-1.52.jar
deleted file mode 100644
index 6c54dd9..0000000
--- a/common/robolectric/3.6.2/lib/bcprov-jdk15on-1.52.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/commons-codec-1.3.jar b/common/robolectric/3.6.2/lib/commons-codec-1.3.jar
deleted file mode 100644
index 957b675..0000000
--- a/common/robolectric/3.6.2/lib/commons-codec-1.3.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/commons-logging-1.1.1.jar b/common/robolectric/3.6.2/lib/commons-logging-1.1.1.jar
deleted file mode 100644
index 1deef14..0000000
--- a/common/robolectric/3.6.2/lib/commons-logging-1.1.1.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/guava-20.0.jar b/common/robolectric/3.6.2/lib/guava-20.0.jar
deleted file mode 100644
index 632772f..0000000
--- a/common/robolectric/3.6.2/lib/guava-20.0.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/hamcrest-core-1.3.jar b/common/robolectric/3.6.2/lib/hamcrest-core-1.3.jar
deleted file mode 100644
index 9d5fe16..0000000
--- a/common/robolectric/3.6.2/lib/hamcrest-core-1.3.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/hamcrest-library-1.3.jar b/common/robolectric/3.6.2/lib/hamcrest-library-1.3.jar
deleted file mode 100644
index 9eac80d..0000000
--- a/common/robolectric/3.6.2/lib/hamcrest-library-1.3.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/httpclient-4.0.3.jar b/common/robolectric/3.6.2/lib/httpclient-4.0.3.jar
deleted file mode 100644
index 16e349a..0000000
--- a/common/robolectric/3.6.2/lib/httpclient-4.0.3.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/httpcore-4.0.1.jar b/common/robolectric/3.6.2/lib/httpcore-4.0.1.jar
deleted file mode 100644
index 4aef35e..0000000
--- a/common/robolectric/3.6.2/lib/httpcore-4.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/icu4j-53.1.jar b/common/robolectric/3.6.2/lib/icu4j-53.1.jar
deleted file mode 100644
index 2c3ff8b..0000000
--- a/common/robolectric/3.6.2/lib/icu4j-53.1.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/junit-3.6.2-sources.jar b/common/robolectric/3.6.2/lib/junit-3.6.2-sources.jar
deleted file mode 100644
index 4a5ceee..0000000
--- a/common/robolectric/3.6.2/lib/junit-3.6.2-sources.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/junit-3.6.2.jar b/common/robolectric/3.6.2/lib/junit-3.6.2.jar
deleted file mode 100644
index f3f8d90..0000000
--- a/common/robolectric/3.6.2/lib/junit-3.6.2.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/protobuf-java-2.6.1.jar b/common/robolectric/3.6.2/lib/protobuf-java-2.6.1.jar
deleted file mode 100644
index 0fcd808..0000000
--- a/common/robolectric/3.6.2/lib/protobuf-java-2.6.1.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/resources-3.6.2-sources.jar b/common/robolectric/3.6.2/lib/resources-3.6.2-sources.jar
deleted file mode 100644
index 2133f55..0000000
--- a/common/robolectric/3.6.2/lib/resources-3.6.2-sources.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/resources-3.6.2.jar b/common/robolectric/3.6.2/lib/resources-3.6.2.jar
deleted file mode 100644
index 7953e40..0000000
--- a/common/robolectric/3.6.2/lib/resources-3.6.2.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/robolectric-3.6.2-sources.jar b/common/robolectric/3.6.2/lib/robolectric-3.6.2-sources.jar
deleted file mode 100644
index 1398273..0000000
--- a/common/robolectric/3.6.2/lib/robolectric-3.6.2-sources.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/robolectric-3.6.2.jar b/common/robolectric/3.6.2/lib/robolectric-3.6.2.jar
deleted file mode 100644
index 77b899d..0000000
--- a/common/robolectric/3.6.2/lib/robolectric-3.6.2.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/sandbox-3.6.2-sources.jar b/common/robolectric/3.6.2/lib/sandbox-3.6.2-sources.jar
deleted file mode 100644
index 3e783a3..0000000
--- a/common/robolectric/3.6.2/lib/sandbox-3.6.2-sources.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/sandbox-3.6.2.jar b/common/robolectric/3.6.2/lib/sandbox-3.6.2.jar
deleted file mode 100644
index d7e31fa..0000000
--- a/common/robolectric/3.6.2/lib/sandbox-3.6.2.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/shadowapi-3.6.2-sources.jar b/common/robolectric/3.6.2/lib/shadowapi-3.6.2-sources.jar
deleted file mode 100644
index 4848f47..0000000
--- a/common/robolectric/3.6.2/lib/shadowapi-3.6.2-sources.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/shadowapi-3.6.2.jar b/common/robolectric/3.6.2/lib/shadowapi-3.6.2.jar
deleted file mode 100644
index d903a2f..0000000
--- a/common/robolectric/3.6.2/lib/shadowapi-3.6.2.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/shadows-framework-3.6.2.jar b/common/robolectric/3.6.2/lib/shadows-framework-3.6.2.jar
deleted file mode 100644
index c619bdc..0000000
--- a/common/robolectric/3.6.2/lib/shadows-framework-3.6.2.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/shadows-httpclient-3.6.2.jar b/common/robolectric/3.6.2/lib/shadows-httpclient-3.6.2.jar
deleted file mode 100644
index 03e2311..0000000
--- a/common/robolectric/3.6.2/lib/shadows-httpclient-3.6.2.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/shadows-multidex-3.6.2.jar b/common/robolectric/3.6.2/lib/shadows-multidex-3.6.2.jar
deleted file mode 100644
index fb1d927..0000000
--- a/common/robolectric/3.6.2/lib/shadows-multidex-3.6.2.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/shadows-playservices-3.6.2.jar b/common/robolectric/3.6.2/lib/shadows-playservices-3.6.2.jar
deleted file mode 100644
index 78e40c8..0000000
--- a/common/robolectric/3.6.2/lib/shadows-playservices-3.6.2.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/shadows-supportv4-3.6.2.jar b/common/robolectric/3.6.2/lib/shadows-supportv4-3.6.2.jar
deleted file mode 100644
index 2c01697..0000000
--- a/common/robolectric/3.6.2/lib/shadows-supportv4-3.6.2.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/sqlite4java-0.282.jar b/common/robolectric/3.6.2/lib/sqlite4java-0.282.jar
deleted file mode 100644
index 686098f..0000000
--- a/common/robolectric/3.6.2/lib/sqlite4java-0.282.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/utils-3.6.2-sources.jar b/common/robolectric/3.6.2/lib/utils-3.6.2-sources.jar
deleted file mode 100644
index 673ff12..0000000
--- a/common/robolectric/3.6.2/lib/utils-3.6.2-sources.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/utils-3.6.2.jar b/common/robolectric/3.6.2/lib/utils-3.6.2.jar
deleted file mode 100644
index ace07d9..0000000
--- a/common/robolectric/3.6.2/lib/utils-3.6.2.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/vtd-xml-2.11.jar b/common/robolectric/3.6.2/lib/vtd-xml-2.11.jar
deleted file mode 100644
index ecf0e2f..0000000
--- a/common/robolectric/3.6.2/lib/vtd-xml-2.11.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/xmlpull-1.1.3.1.jar b/common/robolectric/3.6.2/lib/xmlpull-1.1.3.1.jar
deleted file mode 100644
index cbc149d..0000000
--- a/common/robolectric/3.6.2/lib/xmlpull-1.1.3.1.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/xpp3_min-1.1.4c.jar b/common/robolectric/3.6.2/lib/xpp3_min-1.1.4c.jar
deleted file mode 100644
index 813a9a8..0000000
--- a/common/robolectric/3.6.2/lib/xpp3_min-1.1.4c.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/lib/xstream-1.4.8.jar b/common/robolectric/3.6.2/lib/xstream-1.4.8.jar
deleted file mode 100644
index a493c3b..0000000
--- a/common/robolectric/3.6.2/lib/xstream-1.4.8.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/3.6.2/list_failed.sh b/common/robolectric/3.6.2/list_failed.sh
deleted file mode 100755
index 1000ae1..0000000
--- a/common/robolectric/3.6.2/list_failed.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/bash
-#
-# This script lists the tests which are failing in the output of Robolectric
-# tests.
-# TODO: Remove this script and move the functionality into a custom JUnit runner.
-
-# Matches the line specifying which test has failed and matches the test name
-# and class name as the first and second matching group, respectively.
-readonly FAILED_TEST_RE='^[1-9][0-9]*)\s\(\w\+\)(\(\(\w\|.\)\+\))$'
-
-# Fails with a message.
-function fatal() {
-  echo 1>&2 "FATAL: $@"
-  exit 113
-}
-
-function main() {
-  test $# = 0 || fatal "Too many arguments: $@"
-
-  sed -e '1,/^There \(was 1 failure\|were [0-9]* failures\):$/d' |
-      grep "$FAILED_TEST_RE" |
-      sed -e "s/$FAILED_TEST_RE/\2.\1/" ||
-      true
-}
-
-set -e
-set -o pipefail
-main "$@"
diff --git a/common/robolectric/3.6.2/report-internal.mk b/common/robolectric/3.6.2/report-internal.mk
deleted file mode 100644
index e8713e7..0000000
--- a/common/robolectric/3.6.2/report-internal.mk
+++ /dev/null
@@ -1,52 +0,0 @@
-# Defines a target named $(my_target) for generating a coverage report.
-
-my_report_dir := $(my_coverage_dir)/reports
-my_coverage_output := $(my_report_dir)/coverage.xml
-
-# Private variables.
-$(my_coverage_output): PRIVATE_MODULE := $(LOCAL_MODULE)
-$(my_coverage_output): PRIVATE_COVERAGE_FILE := $(my_coverage_file)
-$(my_coverage_output): PRIVATE_COVERAGE_SRCS_JARS := $(my_coverage_srcs_jars)
-$(my_coverage_output): PRIVATE_INSTRUMENT_SOURCE_DIRS := $(my_instrument_source_dirs)
-$(my_coverage_output): PRIVATE_COVERAGE_REPORT_CLASS := $(my_coverage_report_class)
-$(my_coverage_output): PRIVATE_COVERAGE_REPORT_JAR := $(my_coverage_report_jar)
-$(my_coverage_output): PRIVATE_REPORT_DIR := $(my_report_dir)
-
-# Generate the coverage report.
-$(my_coverage_output): $(my_collect_file) $(my_coverage_report_jar)
-	$(hide) rm -rf $(PRIVATE_REPORT_DIR)
-	$(hide) mkdir -p $(PRIVATE_REPORT_DIR)
-	$(hide) $(JAVA) \
-			-cp $(PRIVATE_COVERAGE_REPORT_JAR) \
-			$(PRIVATE_COVERAGE_REPORT_CLASS) \
-			-classpath $(strip $(call normalize-path-list, $(PRIVATE_COVERAGE_SRCS_JARS))) \
-			--exec-file $(PRIVATE_COVERAGE_FILE) \
-			--name $(PRIVATE_MODULE) \
-			--report-dir $(PRIVATE_REPORT_DIR)/ \
-			--srcs $(strip $(call normalize-path-list, $(PRIVATE_INSTRUMENT_SOURCE_DIRS))) \
-			>$(PRIVATE_REPORT_DIR)/reporter.txt 2>&1
-	@echo "Coverage report: file://"$(realpath $(PRIVATE_REPORT_DIR))"/index.html"
-
-
-# Generate a ZIP file of the coverage report.
-my_coverage_output_zip := $(my_coverage_dir)/report-html.zip
-
-$(my_coverage_output_zip): PRIVATE_REPORT_DIR := $(my_report_dir)
-$(my_coverage_output_zip): $(my_coverage_output)
-	$(hide) cd $(PRIVATE_REPORT_DIR) && zip --quiet -r $(PWD)/$@ .
-
-# Add coverage report zip to dist files.
-$(call dist-for-goals, $(my_report_target), \
-    $(my_coverage_output_zip):robotests-coverage/$(LOCAL_MODULE)/robolectric-html-coverage.zip \
-    $(my_coverage_output):robotests-coverage/$(LOCAL_MODULE)/robolectric-coverage.xml)
-
-ALL_TARGETS.$(my_coverage_output_zip).META_LIC:=$(module_license_metadata)
-ALL_TARGETS.$(my_coverage_output).META_LIC:=$(module_license_metadata)
-
-# Running the coverage will always generate the report.
-$(my_target): $(my_coverage_output)
-
-# Reset local variables.
-my_coverage_output :=
-my_coverage_output_zip :=
-my_report_dir :=
diff --git a/common/robolectric/3.6.2/robotest-internal.mk b/common/robolectric/3.6.2/robotest-internal.mk
deleted file mode 100644
index 81eebd0..0000000
--- a/common/robolectric/3.6.2/robotest-internal.mk
+++ /dev/null
@@ -1,100 +0,0 @@
-# Defines a target named $(my_target) for running robolectric tests.
-
-# Running the tests is done in two stages: we first generate the test output to
-# $(my_target_output), which is also added to the dist list, and store the
-# return value of running the tests in $(my_target_retval). After that we
-# process the output and return value as part of $(my_target). This is needed
-# to make sure that we can install the test output even if the tests actually
-# fail.
-
-# Files in which to store the output and return value of the tests.
-my_target_xml := $(intermediates)/$(my_filename_stem)-output.xml
-my_target_output := $(intermediates)/$(my_filename_stem)-output.txt
-my_target_retval := $(intermediates)/$(my_filename_stem)-retval.txt
-
-ALL_TARGETS.$(my_target_output).META_LIC:=$(module_license_metadata)
-ALL_TARGETS.$(my_target_xml).META_LIC:=$(module_license_metadata)
-
-# We should always re-run the tests, even if nothing has changed.
-# So until the build system has a dedicated "no cache" option, claim
-# to write a file that is never produced.
-my_target_nocache := $(intermediates)/$(my_filename_stem)-nocache
-
-# Private variables.
-$(my_target_output): PRIVATE_MODULE := $(LOCAL_MODULE)
-$(my_target_output): PRIVATE_TESTS := $(my_tests)
-$(my_target_output): PRIVATE_JARS := $(my_jars)
-$(my_target_output): PRIVATE_JAVA_ARGS := $(my_java_args)
-$(my_target_output): PRIVATE_ROBOLECTRIC_PATH := $(my_robolectric_path)
-$(my_target_output): PRIVATE_ROBOLECTRIC_SCRIPT_PATH := $(my_robolectric_script_path)
-$(my_target_output): PRIVATE_TARGET_MESSAGE := $(my_target_message)
-$(my_target_output): PRIVATE_TARGET_OUTPUT := $(my_target_output)
-$(my_target_output): PRIVATE_TARGET_RETVAL := $(my_target_retval)
-$(my_target_output): PRIVATE_TARGET_NOCACHE := $(my_target_nocache)
-$(my_target_output): PRIVATE_TIMEOUT := $(my_timeout)
-# Pin java binary to 8 or 9, the highest robolectric 3.6.2 and ASM 6.0 support:
-$(my_target_output): PRIVATE_JAVA_PATH := $(if $(my_use_java8),$(ANDROID_JAVA8_HOME)/bin:,$(ANDROID_JAVA9_HOME)/bin:)
-$(my_target_output): PRIVATE_XML_OUTPUT_FILE := $(my_target_xml)
-$(my_target_output): .KATI_IMPLICIT_OUTPUTS := $(my_target_xml) $(my_target_retval) $(my_target_nocache)
-# Runs the Robolectric tests and saves the output and return value.
-$(my_target_output): $(my_jars)
-	@echo "host Robolectric: $(PRIVATE_MODULE)"
-	# Run `touch` to always create the output XML file, so the build doesn't break even if the
-	# runner failed to create the XML output
-	$(hide) touch "$(PRIVATE_XML_OUTPUT_FILE)"
-	$(hide) rm -f "$(PRIVATE_TARGET_NOCACHE)"
-	$(hide) \
-	  PRIVATE_INTERMEDIATES="$(dir $@)" \
-	  PRIVATE_JARS="$(PRIVATE_JARS)" \
-	  PRIVATE_JAVA_ARGS="$(PRIVATE_JAVA_ARGS)" \
-	  PRIVATE_ROBOLECTRIC_PATH="$(PRIVATE_ROBOLECTRIC_PATH)" \
-	  PRIVATE_ROBOLECTRIC_SCRIPT_PATH="$(PRIVATE_ROBOLECTRIC_SCRIPT_PATH)" \
-	  PRIVATE_RUN_INDIVIDUALLY="$(ROBOTEST_RUN_INDIVIDUALLY)" \
-	  PRIVATE_TARGET_MESSAGE="$(PRIVATE_TARGET_MESSAGE)" \
-	  PRIVATE_TIMEOUT="$(PRIVATE_TIMEOUT)" \
-	  PRIVATE_TESTS="$(PRIVATE_TESTS)" \
-	  XML_OUTPUT_FILE="$(PRIVATE_XML_OUTPUT_FILE)" \
-	  TEST_WORKSPACE="$(PRIVATE_MODULE)" \
-	  PATH=$(PRIVATE_JAVA_PATH)$${PATH} \
-	  $(PRIVATE_ROBOLECTRIC_SCRIPT_PATH)/wrapper.sh \
-	    "$(PRIVATE_MODULE)" \
-	    "$(PRIVATE_TARGET_OUTPUT)" \
-	    "$(PRIVATE_TARGET_RETVAL)" \
-	    wrap \
-	    $(PRIVATE_ROBOLECTRIC_SCRIPT_PATH)/robotest.sh
-
-# Private variables.
-$(my_target): PRIVATE_MODULE := $(LOCAL_MODULE)
-$(my_target): PRIVATE_TARGET_OUTPUT := $(my_target_output)
-$(my_target): PRIVATE_TARGET_RETVAL := $(my_target_retval)
-$(my_target): PRIVATE_FAILURE_FATAL := $(my_failure_fatal)
-$(my_target): PRIVATE_ROBOLECTRIC_SCRIPT_PATH := $(my_robolectric_script_path)
-# Process the output and the return value of the tests. This will fail if the
-# return value is non-zero.
-$(my_target): $(my_target_output) $(my_target_xml)
-	$(hide) \
-	  result=0; \
-	  $(PRIVATE_ROBOLECTRIC_SCRIPT_PATH)/wrapper.sh \
-	    "$(PRIVATE_MODULE)" \
-	    "$(PRIVATE_TARGET_OUTPUT)" \
-	    "$(PRIVATE_TARGET_RETVAL)" \
-	    eval \
-	      || result=$$?; \
-	  if [ "$(strip $(PRIVATE_FAILURE_FATAL))" = true ]; then \
-	    exit "$$result"; \
-	  fi
-	$(hide) touch $@
-
-# Add the output of the tests to the dist list, so that we will include it even
-# if the tests fail.
-$(call dist-for-goals, $(my_phony_target), \
-    $(my_target_output):robotests/$(LOCAL_MODULE)-$(notdir $(my_target_output)) \
-    $(my_target_xml):robotests/$(LOCAL_MODULE)-$(notdir $(my_target_xml)))
-
-# Clean up local variables.
-my_target_output :=
-my_target_retval :=
-my_target_xml :=
-my_target_nocache :=
-my_filename_stem :=
-my_use_java8 :=
diff --git a/common/robolectric/3.6.2/robotest.sh b/common/robolectric/3.6.2/robotest.sh
deleted file mode 100755
index 160b533..0000000
--- a/common/robolectric/3.6.2/robotest.sh
+++ /dev/null
@@ -1,122 +0,0 @@
-#!/bin/bash
-#
-# Runs robolectric tests.
-
-set -euo pipefail
-
-# Terminate with a fatal error.
-function fatal() {
-  echo "Fatal: $*"
-  exit 113
-}
-
-# Ensures that the given variable is set.
-function validate_var() {
-  local name="$1"; shift || fatal "Missing argument: name"
-  test $# = 0 || fatal "Too many arguments"
-
-  eval [[ -n \${${name}+dummy} ]] || {
-    echo "Variable not set: $name";
-    return 1;
-  }
-}
-
-# Ensures that all the required variables are set.
-function validate_vars() {
-  test $# = 0 || fatal "Too many arguments"
-
-  validate_var 'PRIVATE_INTERMEDIATES'
-  validate_var 'PRIVATE_JARS'
-  validate_var 'PRIVATE_JAVA_ARGS'
-  validate_var 'PRIVATE_ROBOLECTRIC_PATH'
-  validate_var 'PRIVATE_ROBOLECTRIC_SCRIPT_PATH'
-  validate_var 'PRIVATE_RUN_INDIVIDUALLY'
-  validate_var 'PRIVATE_TARGET_MESSAGE'
-  validate_var 'PRIVATE_TESTS'
-  validate_var 'PRIVATE_TIMEOUT'
-
-  validate_var 'XML_OUTPUT_FILE'
-  validate_var 'TEST_WORKSPACE'
-}
-
-# Remove leading and trailing spaces around the given argument.
-function strip() {
-  local value="$1"; shift || fatal "Missing argument: value"
-  test $# = 0 || fatal "Too many arguments"
-
-  echo "$value" | sed -e 's/^ *//' -e 's/ *$//'
-}
-
-# Normalizes a list of paths and turns it into a colon-separated list.
-function normalize-path-list() {
-  echo "$@" | sed -e 's/^ *//' -e 's/ *$//' -e 's/  */ /g' -e 's/ /:/g'
-}
-
-function junit() {
-  # This adds the lib folder to the cp.
-  local classpath="$(strip "$(normalize-path-list "${PRIVATE_JARS}")")"
-  local command=(
-    "${PRIVATE_ROBOLECTRIC_SCRIPT_PATH}/java-timeout"
-    "${PRIVATE_TIMEOUT}"
-    ${PRIVATE_JAVA_ARGS}
-    -Drobolectric.dependency.dir="${PRIVATE_ROBOLECTRIC_PATH}"
-    -Drobolectric.offline=true
-    -Drobolectric.logging=stdout
-    -cp "$classpath"
-    com.android.junitxml.JUnitXmlRunner
-  )
-  echo "${command[@]}" "$@"
-  "${command[@]}" "$@"
-}
-
-function runtests() {
-  local tests="$1"; shift || fatal "Missing argument: tests"
-  test $# = 0 || fatal "Too many arguments"
-
-  if [[ "$(strip "${PRIVATE_RUN_INDIVIDUALLY}")" = 'true' ]]; then
-    local result=0
-    for test in ${tests}; do
-      echo "-------------------------------------------------------------------"
-      echo "Running $test:"
-      junit "${test}"
-    done
-    return "$result"
-  else
-    echo "-------------------------------------------------------------------"
-    echo "Running $tests:"
-    junit $tests  # Contains a space-separated list of tests.
-  fi
-}
-
-# Run the robolectric tests
-function run() {
-  test $# = 0 || fatal "Too many arguments"
-
-  [ "${PRIVATE_TARGET_MESSAGE}" == '' ] || echo "${PRIVATE_TARGET_MESSAGE}"
-  local tests="${PRIVATE_TESTS}"
-  if [ "$tests" = '' ]; then
-    # Somehow there are no tests to run. Assume this is failure.
-    echo "No tests to run."
-    exit 1
-  fi
-  local output="${PRIVATE_INTERMEDIATES}/output.out"
-  local failed="${PRIVATE_INTERMEDIATES}/failed.out"
-  local result=0
-  runtests "${tests}" >"$output" 2>&1 || result="$?"
-  echo "$output"
-  cat "$output"
-  if [ "$result" = 0 ]; then
-    return "$result"
-  fi
-  "${PRIVATE_ROBOLECTRIC_SCRIPT_PATH}/list_failed.sh" <"$output" >"$failed"
-  return "$result"
-}
-
-function main() {
-  test $# = 0 || fatal "Too many arguments"
-
-  validate_vars
-  run
-}
-
-main "$@"
diff --git a/common/robolectric/3.6.2/run_robotests.mk b/common/robolectric/3.6.2/run_robotests.mk
deleted file mode 100644
index 7f2207e..0000000
--- a/common/robolectric/3.6.2/run_robotests.mk
+++ /dev/null
@@ -1,231 +0,0 @@
-# Rules for running robolectric tests.
-#
-# Uses the following variables:
-#
-#   LOCAL_JAVA_LIBRARIES
-#   LOCAL_STATIC_JAVA_LIBRARIES
-#   LOCAL_ROBOTEST_FAILURE_FATAL
-#   LOCAL_ROBOTEST_TIMEOUT
-#   LOCAL_TEST_PACKAGE
-#   LOCAL_ROBOTEST_FILES
-#   ROBOTEST_FAILURE_FATAL
-#   ROBOTEST_FILTER
-#   ROBOTEST_RUN_INDIVIDUALLY
-#
-#
-# If ROBOTEST_FAILURE_FATAL is set to true then failing tests will cause a
-# build failure. Otherwise failures will be logged but ignored by make.
-#
-# If ROBOTEST_FILTER is set to a regex then only tests matching that pattern
-# will be run. This currently only works at the class level.
-#
-# TODO: Switch to a JUnit runner which can support method-level test
-# filtering and use that rather than grep to implement ROBOTEST_FILTER.
-#
-# If ROBOTEST_RUN_INDIVIDUALLY is set to true, each test class will be run by a
-# different JVM, preventing any interaction between different tests. This is
-# significantly slower than running all tests within the same JVM, but prevents
-# unwanted interactions.
-#
-# Tests classes are found by looking for *Test.java files in
-# LOCAL_PATH recursively.
-
-################################################
-# General settings, independent of the module. #
-################################################
-
-### Used for running tests.
-
-# Where to find Robolectric.
-my_robolectric_script_path := $(call my-dir)
-# Explicitly define the jars and their classpath ordering.
-include $(my_robolectric_script_path)/classpath_jars.mk
-my_robolectric_jars := \
-    $(addprefix $(my_robolectric_script_path)/,$(my_robolectric_runtime_deps)) \
-    $(call java-lib-files,junit)
-
-my_collect_target := $(LOCAL_MODULE)-coverage
-my_report_target := $(LOCAL_MODULE)-jacoco
-.PHONY: $(my_collect_target) $(my_report_target)
-# Whether or not to ignore the result of running the robotests.
-# LOCAL_ROBOTEST_FAILURE_FATAL will take precedence over ROBOTEST_FAILURE_FATAL,
-# if present.
-my_failure_fatal := $(if $(LOCAL_ROBOTEST_FAILURE_FATAL)$(ROBOTEST_FAILURE_FATAL),true,false)
-# The timeout for the command. A value of '0' means no timeout. The default is
-# 10 minutes.
-my_timeout := $(if $(LOCAL_ROBOTEST_TIMEOUT),$(LOCAL_ROBOTEST_TIMEOUT),600)
-# Command to filter the list of test classes.
-# If not specified, defaults to including all the tests.
-my_test_filter_command := $(if $(ROBOTEST_FILTER),grep -E "$(ROBOTEST_FILTER)",cat)
-
-# The directory containing the sources.
-my_instrument_makefile_dir := $(dir $(ALL_MODULES.$(LOCAL_TEST_PACKAGE).MAKEFILE))
-my_instrument_source_dirs := $(if $(LOCAL_INSTRUMENT_SOURCE_DIRS),\
-    $(LOCAL_INSTRUMENT_SOURCE_DIRS),\
-    $(my_instrument_makefile_dir)src $(my_instrument_makefile_dir)java)
-
-##########################
-# Used by base_rules.mk. #
-##########################
-
-LOCAL_MODULE_CLASS := ROBOLECTRIC
-# This is actually a phony target that is never built.
-LOCAL_BUILT_MODULE_STEM := test.fake
-# Since it is not built, it cannot be installed. But we will define our own
-# dist files, depending on which of the specific targets is invoked.
-LOCAL_UNINSTALLABLE_MODULE := true
-# Do not build it for checkbuild or mma
-LOCAL_DONT_CHECK_MODULE := true
-
-include $(BUILD_SYSTEM)/base_rules.mk
-
-
-#############################
-# Module specific settings. #
-#############################
-
-### Used for running tests.
-
-# The list of test classes. Robolectric requires an explicit list of tests to
-# run, which is compiled from the Java files ending in "Test" within the
-# directory from which this module is invoked.
-ifeq ($(strip $(LOCAL_ROBOTEST_FILES)),)
-    LOCAL_ROBOTEST_FILES := $(call find-files-in-subdirs,$(LOCAL_PATH)/src,*Test.java,.)
-endif
-# Convert the paths into package names by removing .java extension and replacing "/" with "."
-my_tests := $(subst /,.,$(basename $(LOCAL_ROBOTEST_FILES)))
-my_tests := $(sort $(shell echo '$(my_tests)' | tr ' ' '\n' | $(my_test_filter_command)))
-# The source jars containing the tests.
-my_srcs_jars := \
-    $(foreach lib, \
-        $(LOCAL_JAVA_LIBRARIES) $(LOCAL_STATIC_JAVA_LIBRARIES), \
-        $(call intermediates-dir-for,JAVA_LIBRARIES,$(lib),,COMMON)/classes-pre-proguard.jar) \
-    $(foreach lib, \
-        $(LOCAL_TEST_PACKAGE), \
-        $(call intermediates-dir-for,APPS,$(lib),,COMMON)/classes-pre-proguard.jar)
-# The jars needed to run the tests.
-my_jars := \
-    $(my_robolectric_jars) \
-    $(call resolve-prebuilt-sdk-jar-path,$(LOCAL_SDK_VERSION)) \
-    $(call java-lib-files,junitxml) \
-    $(my_srcs_jars)
-
-
-
-# Run tests.
-my_phony_target := $(LOCAL_MODULE)
-my_target := $(LOCAL_BUILT_MODULE)
-my_filename_stem := test
-
-android_all_lib_path := $(my_robolectric_script_path)/../android-all
-my_robolectric_path := $(intermediates.COMMON)/android-all
-android_all_jars := $(call find-files-in-subdirs,$(android_all_lib_path),*.jar,.)
-copy_android_all_jars := $(foreach j,$(android_all_jars),\
-    $(android_all_lib_path)/$(j):$(my_robolectric_path)/$(j))
-$(my_robolectric_path): $(call copy-many-files,$(copy_android_all_jars))
-$(my_target): $(my_robolectric_path)
-
-# Setting the DEBUG_ROBOLECTRIC environment variable will print additional logging from
-# Robolectric and also make it wait for a debugger to be connected.
-# For Android Studio / IntelliJ the debugger can be connected via the "remote" configuration:
-#     https://www.jetbrains.com/help/idea/2016.2/run-debug-configuration-remote.html
-# From command line the debugger can be connected via
-#     jdb -attach localhost:5005
-ifdef DEBUG_ROBOLECTRIC
-    # The arguments to the JVM needed to debug the tests.
-    # - server: wait for connection rather than connecting to a debugger
-    # - transport: how to accept debugger connections (sockets)
-    # - address: the port on which to accept debugger connections
-    # - timeout: how long (in ms) to wait for a debugger to connect
-    # - suspend: do not start running any code until the debugger connects
-    my_java_args := \
-        -Drobolectric.logging.enabled=true \
-        -Xdebug -agentlib:jdwp=server=y,transport=dt_socket,address=localhost:5005,suspend=y
-
-    # Remove the timeout so Robolectric doesn't get killed while debugging
-    my_timeout := 0
-endif
-
-include $(my_robolectric_script_path)/robotest-internal.mk
-# clean local variables
-my_java_args :=
-my_phony_target :=
-my_target :=
-
-# Target for running robolectric tests using jacoco
-my_phony_target := $(my_report_target)
-my_target := $(LOCAL_BUILT_MODULE)-coverage
-my_collect_file := $(my_target)
-my_filename_stem := coverage
-$(my_collect_target): $(my_target)
-$(my_target): $(call java-lib-files,jvm-jacoco-agent,true) $(my_robolectric_path)
-
-my_coverage_dir := $(intermediates)/coverage
-my_coverage_file := $(my_coverage_dir)/jacoco.exec
-
-# List of packages to exclude jacoco from running
-my_jacoco_excludes := \
-    org.robolectric.* \
-    org.mockito.* \
-    org.junit.* \
-    org.objectweb.* \
-    com.thoughtworks.xstream.*
-# The Jacoco agent JAR.
-my_jacoco_agent_jar := $(call java-lib-files,jvm-jacoco-agent,true)
-# Using Jacoco with Robolectric is broken in 0.7.3 <= version < 0.7.6.
-# In 0.7.6 or above, the parameter "inclnolocationclasses" is needed.
-# See https://github.com/jacoco/jacoco/pull/288 for more
-# In JDK9, if "inclnolocationclasses" is used, we also need to specify
-# exclclassloader=jdk.internal.reflect.DelegatingClassLoader
-# https://github.com/jacoco/jacoco/issues/16
-my_jacoco_agent_args = \
-    destfile=$(my_coverage_file) \
-    excludes=$(call normalize-path-list, $(my_jacoco_excludes)) \
-    inclnolocationclasses=true \
-    exclclassloader=jdk.internal.reflect.DelegatingClassLoader \
-    append=false
-my_java_args := \
-    -javaagent:$(my_jacoco_agent_jar)=$(call normalize-comma-list, $(my_jacoco_agent_args))
-include $(my_robolectric_script_path)/robotest-internal.mk
-# Clear temporary variables
-my_failure_fatal :=
-my_jacoco_agent_jar :=
-my_jacoco_agent_args :=
-my_jacoco_excludes :=
-my_java_args :=
-my_phony_target :=
-my_robolectric_jars :=
-my_target :=
-my_tests :=
-my_filename_stem :=
-
-# Target for generating code coverage reports using jacoco.exec
-my_target := $(LOCAL_BUILT_MODULE)-jacoco
-$(my_report_target): $(my_target)
-
-# The JAR file containing the report generation tool.
-my_coverage_report_class := com.google.android.jacoco.reporter.ReportGenerator
-my_coverage_report_jar := $(call java-lib-files,jvm-jacoco-reporter,true)
-my_coverage_srcs_jars := $(my_srcs_jars)
-my_coverage_report_dist_file := $(my_report_target)-html.zip
-
-## jacoco code coverage reports
-include $(my_robolectric_script_path)/report-internal.mk
-# Clear temporary variables
-my_coverage_dir :=
-my_coverage_file :=
-my_coverage_report_class :=
-my_coverage_report_dist_file :=
-my_coverage_report_jar :=
-my_coverage_srcs_jars :=
-my_robolectric_script_path :=
-my_robolectric_path :=
-my_srcs_jars :=
-my_target :=
-my_collect_file :=
-
-# Clear local variables specific to this build.
-LOCAL_ROBOTEST_FAILURE_FATAL :=
-LOCAL_ROBOTEST_TIMEOUT :=
-LOCAL_ROBOTEST_FILES :=
-LOCAL_INSTRUMENT_SOURCE_DIRS :=
diff --git a/common/robolectric/3.6.2/wrapper.sh b/common/robolectric/3.6.2/wrapper.sh
deleted file mode 100755
index 8d74246..0000000
--- a/common/robolectric/3.6.2/wrapper.sh
+++ /dev/null
@@ -1,76 +0,0 @@
-#!/bin/bash
-#
-# A simple script to wrap the execution of a command so that it stores its
-# output and return value into a file and then process it to later on.
-#
-# This is meant to be used in a makefile, specifically to allow for the output
-# of a command to be stored in a file and added to the dist list, even if the
-# command actually failed.
-#
-# For example, your makefile might include:
-#
-# my_target := lint
-# my_target_output := $(OUT_DIR)/lint-output.txt
-# my_target_retval := $(OUT_DIR)/lint-retval.txt
-#
-# $(my_target_output) $(my_target_retval): PRIVATE_MODULE := $(my_target)
-# $(my_target_output) $(my_target_retval): PRIVATE_OUTPUT := $(my_target_output)
-# $(my_target_output) $(my_target_retval): PRIVATE_RETVAL := $(my_target_retval)
-# $(my_target_output) $(my_target_retval):
-#         $(PATH)/wrapper.sh \
-#           $(PRIVATE_MODULE) \
-#           $(PRIVATE_OUTPUT) \
-#           $(PRIVATE_RETVAL) \
-#           wrap \
-#           $(PATH)/run-list.sh $(LOCAL_PATH)/src
-#
-# $(my_target): PRIVATE_MODULE := $(my_target)
-# $(my_target): PRIVATE_OUTPUT := $(my_target_output)
-# $(my_target): PRIVATE_RETVAL := $(my_target_retval)
-# $(my_target): $(my_target_output) $(my_target_retval)
-#         $(PATH)/wrapper.sh \
-#           $(PRIVATE_MODULE) \
-#           $(PRIVATE_OUTPUT) \
-#           $(PRIVATE_RETVAL) \
-#           eval
-
-set -euo pipefail
-
-# Terminate with a fatal error.
-function fatal() {
-  echo "Fatal: $*"
-  exit 113
-}
-
-function main() {
-  local module="${1-}"; shift || fatal "missing argument: module"
-  local output="${1-}"; shift || fatal "missing argument: output"
-  local retval="${1-}"; shift || fatal "missing argument: retval"
-  local action="${1-}"; shift || fatal "missing argument: action"
-  # The rest of the arguments are the command to run.
-
-  if [ "$action" = 'wrap' ]; then
-    # Run the command specified by the rest of arguments ("$@") and save output
-    # and return value.
-    echo 0 >"${retval}"
-    "$@" >"${output}" 2>&1 || echo "$?" >"${retval}"
-
-    # Wrapping itself is always successful.
-    return
-  elif [ "$action" = 'eval' ]; then
-    local result="$(cat "${retval}")"
-    if [ "$result" = 0 ]; then
-      # If successful only print the last few lines.
-      tail -n 5 "$output" | sed -e "s/^/${module}: /"
-    else
-      # Print the entire output on failure.
-      cat "$output" | sed -e "s/^/${module}: /"
-    fi
-    # Evaluating returns the stored return value.
-    return "$result"
-  else
-    fatal "invalid action: $action"
-  fi
-}
-
-main "$@"
diff --git a/common/robolectric/3.6.2/wrapper_test.sh b/common/robolectric/3.6.2/wrapper_test.sh
deleted file mode 100755
index 42a04c5..0000000
--- a/common/robolectric/3.6.2/wrapper_test.sh
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/bin/bash
-#
-# Tests for wrapper.sh.
-
-set -euo pipefail
-
-# The location of the script under test.
-readonly WRAPPER="$(realpath "$(dirname "$0")/wrapper.sh")"
-# The name of the tests to run. Each test correspond to a function in this file
-# whose name is the name of the test prefixed by 'test'.
-readonly TEST_NAMES=(
-  SuccessfulCase
-  FailedCase
-  FailedSignalCase
-)
-
-# Fails with an error message.
-function fatal() {
-  echo 1>&2 "FATAL: $@"
-  exit 113
-}
-
-function withTestFiles() {
-  (
-    echo '1'
-    echo '2'
-    echo '3'
-    echo '4'
-    echo '5'
-    echo '6'
-    echo '7'
-  ) >testfile
-  (
-    echo 'module: 1'
-    echo 'module: 2'
-    echo 'module: 3'
-    echo 'module: 4'
-    echo 'module: 5'
-    echo 'module: 6'
-    echo 'module: 7'
-  ) >testfileWithModule
-  (
-    echo 'module: 3'
-    echo 'module: 4'
-    echo 'module: 5'
-    echo 'module: 6'
-    echo 'module: 7'
-  ) >testfileWithModuleTruncated
-}
-
-function expectNoWrapOutput() {
-  if [ "$(cat output-wrap)" != '' ]; then
-    echo 'Wrap should not generate any output'
-    diff testfile output || true
-    return 1
-  fi
-}
-
-function expectSavedOutput() {
-  if ! diff testfile output; then
-    echo 'Should have saved the correct output'
-    diff testfile output || true
-    return 1
-  fi
-}
-
-function expectFullOutputWithModule() {
-  if ! diff testfileWithModule output-eval; then
-    echo 'Should have printed the full output'
-    diff testfileWithModule output || true
-    return 1
-  fi
-}
-
-function expectTruncatedOutputWithModule() {
-  if ! diff testfileWithModuleTruncated output-eval; then
-    echo 'Should have printed the truncated output'
-    diff testfileWithModuleTruncated output || true
-    return 1
-  fi
-}
-
-function whenWrap() {
-  "$WRAPPER" module "$PWD/output" "$PWD/retval" 'wrap' "$@" \
-    2>/dev/null \
-    >output-wrap
-}
-
-function whenEval() {
-  "$WRAPPER" module "$PWD/output" "$PWD/retval" 'eval' "$@" \
-    >output-eval 2>&1
-}
-
-function testSuccessfulCase() {
-  withTestFiles
-  (
-    echo '#!/bin/bash'
-    echo
-    echo 'cat testfile'
-  ) >script.sh
-  chmod 755 script.sh
-  whenWrap "$PWD/script.sh"
-  expectNoWrapOutput
-  if ! whenEval; then
-    echo 'Should have run successfully'
-    return 1
-  fi
-  expectSavedOutput
-  expectTruncatedOutputWithModule
-}
-
-function testFailedCase() {
-  withTestFiles
-  (
-    echo '#!/bin/bash'
-    echo
-    echo 'cat testfile'
-    echo 'exit 1'
-  ) >script.sh
-  chmod 755 script.sh
-  whenWrap "$PWD/script.sh"
-  expectNoWrapOutput
-  if whenEval; then
-    echo 'Should have failed to run'
-    return 1
-  fi
-  expectSavedOutput
-  expectFullOutputWithModule
-}
-function testFailedSignalCase() {
-  withTestFiles
-  (
-    echo '#!/bin/bash'
-    echo
-    echo 'cat testfile'
-    echo 'kill -TERM $$'
-    echo 'echo Should not be printed'
-  ) >script.sh
-  chmod 755 script.sh
-  whenWrap "$PWD/script.sh"
-  expectNoWrapOutput
-  if whenEval; then
-    echo 'Should have failed to run'
-    return 1
-  fi
-  expectSavedOutput
-  expectFullOutputWithModule
-}
-
-
-function main() {
-  local result=0
-  local tmp="$(mktemp -d)"
-  for test_name in "${TEST_NAMES[@]}"; do
-    mkdir -p "$tmp/$test_name"
-    cd "$tmp/$test_name"
-    echo -n "Running $test_name..."
-    test"$test_name" >log || {
-      echo "FAILED";
-      sed -e "s/^/$test_name: /" <log
-      rm log
-      result=1;
-      continue;
-    }
-    echo "PASSED"
-    rm log
-  done
-  return "$result"
-}
-
-
-main "$@"
diff --git a/common/robolectric/4.3.1/Android.bp b/common/robolectric/4.3.1/Android.bp
deleted file mode 100644
index 377b3d3..0000000
--- a/common/robolectric/4.3.1/Android.bp
+++ /dev/null
@@ -1,27 +0,0 @@
-package {
-    // See: http://go/android-license-faq
-    // A large-scale-change added 'default_applicable_licenses' to import
-    // all of the 'license_kinds' from "prebuilts_misc_license"
-    // to get the below license kinds:
-    //   legacy_restricted
-    default_applicable_licenses: ["prebuilts_misc_license"],
-}
-
-java_import {
-    name: "platform-robolectric-4.3.1-prebuilt",
-    sdk_version: "current",
-    jars: [
-        "lib/annotations-4.3.1.jar",
-        "lib/asm-6.0.jar",
-        "lib/junit-4.3.1.jar",
-        "lib/resources-4.3.1.jar",
-        "lib/sandbox-4.3.1.jar",
-        "lib/shadowapi-4.3.1.jar",
-        "lib/shadows-framework-4.3.1.jar",
-        "lib/shadows-httpclient-4.3.1.jar",
-        "lib/shadows-multidex-4.3.1.jar",
-        "lib/shadows-supportv4-4.3.1.jar",
-        "lib/robolectric-4.3.1.jar",
-        "lib/utils-4.3.1.jar",
-    ],
-}
diff --git a/common/robolectric/4.3.1/PREBUILT/download-libs.gradle b/common/robolectric/4.3.1/PREBUILT/download-libs.gradle
deleted file mode 100644
index a01d969..0000000
--- a/common/robolectric/4.3.1/PREBUILT/download-libs.gradle
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Modified from https://gist.github.com/xian/05c4f27da6d4156b9827842217c2cd5c
- * Reference: http://robolectric.org/blog/2017/03/01/hermetic-builds/
- */
-defaultTasks 'copyLibs'
-
-def shadowArtifacts = [
-        "org.robolectric:shadows-framework:${robolectricVersion}",
-        "org.robolectric:shadows-httpclient:${robolectricVersion}",
-        "org.robolectric:shadows-multidex:${robolectricVersion}",
-        "org.robolectric:shadows-playservices:${robolectricVersion}",
-        "org.robolectric:shadows-supportv4:${robolectricVersion}",
-]
-
-apply plugin: 'java'
-
-repositories {
-    mavenCentral()
-    google()
-}
-
-configurations {
-    sandbox
-    roboSources
-}
-
-// In this section you declare the dependencies for your production and test code
-dependencies {
-    compile("org.robolectric:robolectric:${robolectricVersion}") {
-        // we don't need these MavenDependencyResolver in a hermetic build
-        exclude group: 'org.apache.maven', module: ''
-        exclude group: 'org.apache.ant', module: ''
-    }
-
-    compile('com.ximpleware:vtd-xml:2.11') { force = true }
-    // Force ASM dependency to be 6.0 for JDK9 support
-    compile('org.ow2.asm:asm:6.0') { force = true }
-    compile('org.ow2.asm:asm-commons:6.0') { force = true }
-    compile('org.ow2.asm:asm-util:6.0') { force = true }
-
-    shadowArtifacts.forEach { shadowArtifact ->
-        compile ("${shadowArtifact}")  {
-            // we don't need these MavenDependencyResolver in a hermetic build
-            exclude group: 'org.apache.maven', module: ''
-            exclude group: 'org.apache.ant', module: ''
-        }
-        sandbox ("${shadowArtifact}")  {
-            // we don't need these MavenDependencyResolver in a hermetic build
-            exclude group: 'org.apache.maven', module: ''
-            exclude group: 'org.apache.ant', module: ''
-        }
-    }
-
-    def shadowArtifactsSet = shadowArtifacts.collect {it.toString()}  toSet()
-    configurations.runtime.resolvedConfiguration.resolvedArtifacts.each { ResolvedArtifact ra ->
-        ModuleVersionIdentifier id = ra.moduleVersion.id
-        // download only core sources. relax restriction if required
-        if ("org.robolectric".equals(id.group) && !shadowArtifactsSet.contains(id.toString())) {
-            roboSources("${id.group}:${id.name}:${id.version}:sources") {
-                transitive = false
-            }
-        }
-    }
-}
-
-
-task copyLibs(type: Copy) {
-    from configurations.compile
-    from configurations.roboSources
-    into "$buildDir/lib"
-
-    doLast {
-        def f = new File("$buildDir/classpath_jars.mk")
-        f.delete()
-        def jars = source.getFiles()
-            .collect { it.name }
-            .sort()
-            .findAll { !it.endsWith("sources.jar") }
-            .collect { "    lib/${it} " }
-        f << "my_robolectric_runtime_deps := \\\n" << jars.join("\\\n") << "\n"
-    }
-}
diff --git a/common/robolectric/4.3.1/PREBUILT/download-libs.sh b/common/robolectric/4.3.1/PREBUILT/download-libs.sh
deleted file mode 100755
index 9853825..0000000
--- a/common/robolectric/4.3.1/PREBUILT/download-libs.sh
+++ /dev/null
@@ -1,78 +0,0 @@
-#! /bin/bash
-
-set -e
-
-printusage() {
-    echo "Usage: ./download-libs.sh <robolectric-version> " >&2
-    echo "    -f <old-directory-to-copy-from>" >&2
-    exit 1
-}
-
-oldVersion=""
-roboVersion="$1"
-shift
-
-while getopts "f:h" opt; do
-    case "$opt" in
-        f)
-            oldVersion="$OPTARG"
-            ;;
-        h)
-            printusage
-            ;;
-    esac
-done
-
-if [[ -z $roboVersion ]] || [[ -z $oldVersion ]]; then
-    printusage
-fi
-
-mkdir -p ../"$roboVersion"/PREBUILT
-# Copy the scripts into the versioned directory for record
-cp download-libs.sh ../"$roboVersion"/PREBUILT/download-libs.sh
-cp download-libs.gradle ../"$roboVersion"/PREBUILT/download-libs.gradle
-
-cd ../"$roboVersion"
-gradle -b PREBUILT/download-libs.gradle \
-    -ProbolectricVersion="$roboVersion" \
-    -PshadowsVersion="$roboVersion" \
-    -PbuildDir="`pwd`"
-
-COPY_FROM_OLD_VERSION=(
-    "java-timeout"
-    "list_failed.sh"
-    "report-internal.mk"
-    "robotest-internal.mk"
-    "robotest.sh"
-    "run_robotests.mk"
-    "wrapper.sh"
-    "wrapper_test.sh"
-)
-
-for file in "${COPY_FROM_OLD_VERSION[@]}"; do
-    cp -n ../"$oldVersion"/$file ./$file
-done
-
-cat <<EOF > Android.bp
-java_import {
-    name: "platform-robolectric-${roboVersion}-prebuilt",
-    sdk_version: "current",
-    jars: [
-        "lib/annotations-${roboVersion}.jar",
-        "lib/asm-6.0.jar",
-        "lib/junit-${roboVersion}.jar",
-        "lib/resources-${roboVersion}.jar",
-        "lib/sandbox-${roboVersion}.jar",
-        "lib/shadowapi-${roboVersion}.jar",
-        "lib/shadows-framework-${roboVersion}.jar",
-        "lib/shadows-httpclient-${roboVersion}.jar",
-        "lib/shadows-multidex-${roboVersion}.jar",
-        "lib/shadows-supportv4-${roboVersion}.jar",
-        "lib/robolectric-${roboVersion}.jar",
-        "lib/utils-${roboVersion}.jar",
-    ],
-}
-
-EOF
-
-set +e
diff --git a/common/robolectric/4.3.1/classpath_jars.mk b/common/robolectric/4.3.1/classpath_jars.mk
deleted file mode 100644
index 2549e13..0000000
--- a/common/robolectric/4.3.1/classpath_jars.mk
+++ /dev/null
@@ -1,47 +0,0 @@
-my_robolectric_runtime_deps := \
-    lib/accessibility-test-framework-2.1.jar \
-    lib/animal-sniffer-annotations-1.17.jar \
-    lib/annotation-1.0.0.jar \
-    lib/annotations-4.3.1.jar \
-    lib/asm-6.0.jar \
-    lib/asm-commons-6.0.jar \
-    lib/asm-tree-6.0.jar \
-    lib/asm-util-6.0.jar \
-    lib/auto-common-0.8.jar \
-    lib/auto-service-1.0-rc4.jar \
-    lib/bcprov-jdk15on-1.52.jar \
-    lib/checker-qual-2.5.2.jar \
-    lib/commons-codec-1.3.jar \
-    lib/commons-logging-1.1.1.jar \
-    lib/error_prone_annotations-2.2.0.jar \
-    lib/failureaccess-1.0.1.jar \
-    lib/guava-27.0.1-jre.jar \
-    lib/hamcrest-core-1.3.jar \
-    lib/hamcrest-library-1.3.jar \
-    lib/httpclient-4.0.3.jar \
-    lib/httpcore-4.0.1.jar \
-    lib/icu4j-53.1.jar \
-    lib/j2objc-annotations-1.1.jar \
-    lib/javax.annotation-api-1.3.2.jar \
-    lib/javax.inject-1.jar \
-    lib/jsr305-3.0.2.jar \
-    lib/junit-4.3.1.jar \
-    lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar \
-    lib/monitor-1.2.0.aar \
-    lib/pluginapi-4.3.1.jar \
-    lib/plugins-maven-dependency-resolver-4.3.1.jar \
-    lib/protobuf-java-2.6.1.jar \
-    lib/resources-4.3.1.jar \
-    lib/robolectric-4.3.1.jar \
-    lib/sandbox-4.3.1.jar \
-    lib/shadowapi-4.3.1.jar \
-    lib/shadows-framework-4.3.1.jar \
-    lib/shadows-httpclient-4.3.1.jar \
-    lib/shadows-multidex-4.3.1.jar \
-    lib/shadows-playservices-4.3.1.jar \
-    lib/shadows-supportv4-4.3.1.jar \
-    lib/sqlite4java-0.282.jar \
-    lib/support-annotations-28.0.0.jar \
-    lib/utils-4.3.1.jar \
-    lib/utils-reflector-4.3.1.jar \
-    lib/vtd-xml-2.11.jar 
diff --git a/common/robolectric/4.3.1/java-timeout b/common/robolectric/4.3.1/java-timeout
deleted file mode 100755
index 921fc80..0000000
--- a/common/robolectric/4.3.1/java-timeout
+++ /dev/null
@@ -1,94 +0,0 @@
-#!/bin/bash
-#
-# Script for running java with a timeout.
-#
-# The timeout in seconds must be the first argument.  The rest of the arguments
-# are passed to the java binary itself.
-#
-# For example:
-#     java-timeout 120 -cp classes.jar org.junit.runner.JUnitCore
-# runs:
-#     java -cp classes.jar org.junit.runner.JUnitCore
-# with a timeout of 2 minutes.
-
-set -euo pipefail
-
-# Prints a message and terminates the process.
-function fatal() {
-  echo "FATAL: $*"
-  exit 113
-}
-
-# Function that is invoked if java is terminated due to timeout.
-# It take the process ID of the java command as an argument if it has already
-# been started, or the empty string if not. It should very rarely receive the
-# empty string as the pid, but it is possible.
-function on_timeout() {
-  echo 'FATAL: command timed out'
-
-  local pid="${1-}"
-  shift || fatal '[on_timeout] missing argument: pid'
-  test $# = 0 || fatal '[on_timeout] too many arguments'
-
-  if [ "$pid" != '' ]; then
-    # It is possible that the process already terminated, but there is not much
-    # we can do about that.
-    kill -TERM -- "-$pid"  # Kill the entire process group.
-  fi
-}
-
-# Executes java with the given argument, waiting for a termination signal from
-# runalarm which this script is running under. The arguments are passed to the
-# java binary itself.
-function execute() {
-  # Trap SIGTERM, which is what we will receive if runalarm interrupts us.
-  local pid  # Set below after we run the process.
-  trap 'on_timeout $pid' SIGTERM
-  # Starts java within a new process group and saves it process ID before
-  # blocking waiting for it to complete. 'setsid' starts the process within a
-  # new process group, which means that it will not be killed when this shell
-  # command is killed. This is needed so that the signal handler in the trap
-  # command above to be invoked before the java command is terminated (and will
-  # in fact have to terminate it itself).
-  setsid -w java "$@" & pid="$!"; wait "$pid"
-}
-
-# Runs java with a timeout. The first argument is either the timeout in seconds
-# or the string 'execute', which is used internally to execute the command under
-# runalarm.
-function main() {
-  local timeout_secs="${1-}"
-  shift || fatal '[main]: missing argument: timeout_secs'
-  # The reset of the arguments are meant for the java binary itself.
-
-  if [[ $timeout_secs = '0' ]]; then
-    # Run without any timeout.
-    java "$@"
-  elif [[ $timeout_secs = 'execute' ]]; then
-    # This means we actually have to execute the command.
-    execute "$@"
-  elif (( timeout_secs < 30 )); then
-    # We want to have a timeout of at least 30 seconds, so that we are
-    # guaranteed to be able to start the java command in the subshell. This also
-    # catches non-numeric arguments.
-    fatal 'Must specify a timeout of at least 30 seconds.'
-  else
-    # Wrap the command with the standard timeout(1) if available.
-    # "runalarm" is a Google timeout clone, and Mac users who've installed
-    # GNU coreutils have timeout available as "gtimeout".
-    if type timeout > /dev/null 2>&1 ; then
-      timeout "${timeout_secs}" "$0" 'execute' "$@"
-    elif type runalarm > /dev/null 2>&1 ; then
-      runalarm -t "$timeout_secs" "$0" 'execute' "$@"
-    elif type gtimeout > /dev/null 2>&1 ; then
-      gtimeout "${timeout_secs}s" "$0" 'execute' "$@"
-    else
-      # No way to set a timeout available, just execute directly.
-      echo "Warning: unable to enforce timeout." 1>&2
-      java "$@"
-    fi
-  fi
-}
-
-
-main "$@"
diff --git a/common/robolectric/4.3.1/lib/accessibility-test-framework-2.1.jar b/common/robolectric/4.3.1/lib/accessibility-test-framework-2.1.jar
deleted file mode 100644
index 1cd83a3..0000000
--- a/common/robolectric/4.3.1/lib/accessibility-test-framework-2.1.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/animal-sniffer-annotations-1.17.jar b/common/robolectric/4.3.1/lib/animal-sniffer-annotations-1.17.jar
deleted file mode 100644
index 6ec7a60..0000000
--- a/common/robolectric/4.3.1/lib/animal-sniffer-annotations-1.17.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/annotation-1.0.0.jar b/common/robolectric/4.3.1/lib/annotation-1.0.0.jar
deleted file mode 100644
index 124f128..0000000
--- a/common/robolectric/4.3.1/lib/annotation-1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/annotations-4.3.1-sources.jar b/common/robolectric/4.3.1/lib/annotations-4.3.1-sources.jar
deleted file mode 100644
index 9ecf821..0000000
--- a/common/robolectric/4.3.1/lib/annotations-4.3.1-sources.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/annotations-4.3.1.jar b/common/robolectric/4.3.1/lib/annotations-4.3.1.jar
deleted file mode 100644
index 3e2d70c..0000000
--- a/common/robolectric/4.3.1/lib/annotations-4.3.1.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/asm-6.0.jar b/common/robolectric/4.3.1/lib/asm-6.0.jar
deleted file mode 100644
index cf2de27..0000000
--- a/common/robolectric/4.3.1/lib/asm-6.0.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/asm-commons-6.0.jar b/common/robolectric/4.3.1/lib/asm-commons-6.0.jar
deleted file mode 100644
index 33ba0c4..0000000
--- a/common/robolectric/4.3.1/lib/asm-commons-6.0.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/asm-tree-6.0.jar b/common/robolectric/4.3.1/lib/asm-tree-6.0.jar
deleted file mode 100644
index 2aa9815..0000000
--- a/common/robolectric/4.3.1/lib/asm-tree-6.0.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/asm-util-6.0.jar b/common/robolectric/4.3.1/lib/asm-util-6.0.jar
deleted file mode 100644
index 9f9671c..0000000
--- a/common/robolectric/4.3.1/lib/asm-util-6.0.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/auto-common-0.8.jar b/common/robolectric/4.3.1/lib/auto-common-0.8.jar
deleted file mode 100644
index af67a4d..0000000
--- a/common/robolectric/4.3.1/lib/auto-common-0.8.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/auto-service-1.0-rc4.jar b/common/robolectric/4.3.1/lib/auto-service-1.0-rc4.jar
deleted file mode 100644
index c61b4c0..0000000
--- a/common/robolectric/4.3.1/lib/auto-service-1.0-rc4.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/bcprov-jdk15on-1.52.jar b/common/robolectric/4.3.1/lib/bcprov-jdk15on-1.52.jar
deleted file mode 100644
index 6c54dd9..0000000
--- a/common/robolectric/4.3.1/lib/bcprov-jdk15on-1.52.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/checker-qual-2.5.2.jar b/common/robolectric/4.3.1/lib/checker-qual-2.5.2.jar
deleted file mode 100644
index ae4e7f1..0000000
--- a/common/robolectric/4.3.1/lib/checker-qual-2.5.2.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/commons-codec-1.3.jar b/common/robolectric/4.3.1/lib/commons-codec-1.3.jar
deleted file mode 100644
index 957b675..0000000
--- a/common/robolectric/4.3.1/lib/commons-codec-1.3.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/commons-logging-1.1.1.jar b/common/robolectric/4.3.1/lib/commons-logging-1.1.1.jar
deleted file mode 100644
index 1deef14..0000000
--- a/common/robolectric/4.3.1/lib/commons-logging-1.1.1.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/error_prone_annotations-2.2.0.jar b/common/robolectric/4.3.1/lib/error_prone_annotations-2.2.0.jar
deleted file mode 100644
index c8e27b5..0000000
--- a/common/robolectric/4.3.1/lib/error_prone_annotations-2.2.0.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/failureaccess-1.0.1.jar b/common/robolectric/4.3.1/lib/failureaccess-1.0.1.jar
deleted file mode 100644
index 9b56dc7..0000000
--- a/common/robolectric/4.3.1/lib/failureaccess-1.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/guava-27.0.1-jre.jar b/common/robolectric/4.3.1/lib/guava-27.0.1-jre.jar
deleted file mode 100644
index f164ce7..0000000
--- a/common/robolectric/4.3.1/lib/guava-27.0.1-jre.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/hamcrest-core-1.3.jar b/common/robolectric/4.3.1/lib/hamcrest-core-1.3.jar
deleted file mode 100644
index 9d5fe16..0000000
--- a/common/robolectric/4.3.1/lib/hamcrest-core-1.3.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/hamcrest-library-1.3.jar b/common/robolectric/4.3.1/lib/hamcrest-library-1.3.jar
deleted file mode 100644
index 9eac80d..0000000
--- a/common/robolectric/4.3.1/lib/hamcrest-library-1.3.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/httpclient-4.0.3.jar b/common/robolectric/4.3.1/lib/httpclient-4.0.3.jar
deleted file mode 100644
index 16e349a..0000000
--- a/common/robolectric/4.3.1/lib/httpclient-4.0.3.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/httpcore-4.0.1.jar b/common/robolectric/4.3.1/lib/httpcore-4.0.1.jar
deleted file mode 100644
index 4aef35e..0000000
--- a/common/robolectric/4.3.1/lib/httpcore-4.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/icu4j-53.1.jar b/common/robolectric/4.3.1/lib/icu4j-53.1.jar
deleted file mode 100644
index 2c3ff8b..0000000
--- a/common/robolectric/4.3.1/lib/icu4j-53.1.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/j2objc-annotations-1.1.jar b/common/robolectric/4.3.1/lib/j2objc-annotations-1.1.jar
deleted file mode 100644
index 4b6f127..0000000
--- a/common/robolectric/4.3.1/lib/j2objc-annotations-1.1.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/javax.annotation-api-1.3.2.jar b/common/robolectric/4.3.1/lib/javax.annotation-api-1.3.2.jar
deleted file mode 100644
index a8a470a..0000000
--- a/common/robolectric/4.3.1/lib/javax.annotation-api-1.3.2.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/javax.inject-1.jar b/common/robolectric/4.3.1/lib/javax.inject-1.jar
deleted file mode 100644
index b2a9d0b..0000000
--- a/common/robolectric/4.3.1/lib/javax.inject-1.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/jsr305-3.0.2.jar b/common/robolectric/4.3.1/lib/jsr305-3.0.2.jar
deleted file mode 100644
index 59222d9..0000000
--- a/common/robolectric/4.3.1/lib/jsr305-3.0.2.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/junit-4.3.1-sources.jar b/common/robolectric/4.3.1/lib/junit-4.3.1-sources.jar
deleted file mode 100644
index 0a985ec..0000000
--- a/common/robolectric/4.3.1/lib/junit-4.3.1-sources.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/junit-4.3.1.jar b/common/robolectric/4.3.1/lib/junit-4.3.1.jar
deleted file mode 100644
index ac5d0bf..0000000
--- a/common/robolectric/4.3.1/lib/junit-4.3.1.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar b/common/robolectric/4.3.1/lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
deleted file mode 100644
index 45832c0..0000000
--- a/common/robolectric/4.3.1/lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/monitor-1.2.0.aar b/common/robolectric/4.3.1/lib/monitor-1.2.0.aar
deleted file mode 100644
index 0c5fb66..0000000
--- a/common/robolectric/4.3.1/lib/monitor-1.2.0.aar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/pluginapi-4.3.1-sources.jar b/common/robolectric/4.3.1/lib/pluginapi-4.3.1-sources.jar
deleted file mode 100644
index 3b6f547..0000000
--- a/common/robolectric/4.3.1/lib/pluginapi-4.3.1-sources.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/pluginapi-4.3.1.jar b/common/robolectric/4.3.1/lib/pluginapi-4.3.1.jar
deleted file mode 100644
index e132a57..0000000
--- a/common/robolectric/4.3.1/lib/pluginapi-4.3.1.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/plugins-maven-dependency-resolver-4.3.1-sources.jar b/common/robolectric/4.3.1/lib/plugins-maven-dependency-resolver-4.3.1-sources.jar
deleted file mode 100644
index c40401f..0000000
--- a/common/robolectric/4.3.1/lib/plugins-maven-dependency-resolver-4.3.1-sources.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/plugins-maven-dependency-resolver-4.3.1.jar b/common/robolectric/4.3.1/lib/plugins-maven-dependency-resolver-4.3.1.jar
deleted file mode 100644
index 2701519..0000000
--- a/common/robolectric/4.3.1/lib/plugins-maven-dependency-resolver-4.3.1.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/protobuf-java-2.6.1.jar b/common/robolectric/4.3.1/lib/protobuf-java-2.6.1.jar
deleted file mode 100644
index 0fcd808..0000000
--- a/common/robolectric/4.3.1/lib/protobuf-java-2.6.1.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/resources-4.3.1-sources.jar b/common/robolectric/4.3.1/lib/resources-4.3.1-sources.jar
deleted file mode 100644
index a6bcf8c..0000000
--- a/common/robolectric/4.3.1/lib/resources-4.3.1-sources.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/resources-4.3.1.jar b/common/robolectric/4.3.1/lib/resources-4.3.1.jar
deleted file mode 100644
index e6ce49e..0000000
--- a/common/robolectric/4.3.1/lib/resources-4.3.1.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/robolectric-4.3.1-sources.jar b/common/robolectric/4.3.1/lib/robolectric-4.3.1-sources.jar
deleted file mode 100644
index 1f23efb..0000000
--- a/common/robolectric/4.3.1/lib/robolectric-4.3.1-sources.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/robolectric-4.3.1.jar b/common/robolectric/4.3.1/lib/robolectric-4.3.1.jar
deleted file mode 100644
index b93a7ff..0000000
--- a/common/robolectric/4.3.1/lib/robolectric-4.3.1.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/sandbox-4.3.1-sources.jar b/common/robolectric/4.3.1/lib/sandbox-4.3.1-sources.jar
deleted file mode 100644
index d35a906..0000000
--- a/common/robolectric/4.3.1/lib/sandbox-4.3.1-sources.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/sandbox-4.3.1.jar b/common/robolectric/4.3.1/lib/sandbox-4.3.1.jar
deleted file mode 100644
index 2492458..0000000
--- a/common/robolectric/4.3.1/lib/sandbox-4.3.1.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/shadowapi-4.3.1-sources.jar b/common/robolectric/4.3.1/lib/shadowapi-4.3.1-sources.jar
deleted file mode 100644
index eceae46..0000000
--- a/common/robolectric/4.3.1/lib/shadowapi-4.3.1-sources.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/shadowapi-4.3.1.jar b/common/robolectric/4.3.1/lib/shadowapi-4.3.1.jar
deleted file mode 100644
index e0d2e05..0000000
--- a/common/robolectric/4.3.1/lib/shadowapi-4.3.1.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/shadows-framework-4.3.1.jar b/common/robolectric/4.3.1/lib/shadows-framework-4.3.1.jar
deleted file mode 100644
index 2131a56..0000000
--- a/common/robolectric/4.3.1/lib/shadows-framework-4.3.1.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/shadows-httpclient-4.3.1.jar b/common/robolectric/4.3.1/lib/shadows-httpclient-4.3.1.jar
deleted file mode 100644
index 8b6afa2..0000000
--- a/common/robolectric/4.3.1/lib/shadows-httpclient-4.3.1.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/shadows-multidex-4.3.1.jar b/common/robolectric/4.3.1/lib/shadows-multidex-4.3.1.jar
deleted file mode 100644
index 4fe5e71..0000000
--- a/common/robolectric/4.3.1/lib/shadows-multidex-4.3.1.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/shadows-playservices-4.3.1.jar b/common/robolectric/4.3.1/lib/shadows-playservices-4.3.1.jar
deleted file mode 100644
index b793942..0000000
--- a/common/robolectric/4.3.1/lib/shadows-playservices-4.3.1.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/shadows-supportv4-4.3.1.jar b/common/robolectric/4.3.1/lib/shadows-supportv4-4.3.1.jar
deleted file mode 100644
index 5bbe9cf..0000000
--- a/common/robolectric/4.3.1/lib/shadows-supportv4-4.3.1.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/sqlite4java-0.282.jar b/common/robolectric/4.3.1/lib/sqlite4java-0.282.jar
deleted file mode 100644
index 686098f..0000000
--- a/common/robolectric/4.3.1/lib/sqlite4java-0.282.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/support-annotations-28.0.0.jar b/common/robolectric/4.3.1/lib/support-annotations-28.0.0.jar
deleted file mode 100644
index c063f2b..0000000
--- a/common/robolectric/4.3.1/lib/support-annotations-28.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/utils-4.3.1-sources.jar b/common/robolectric/4.3.1/lib/utils-4.3.1-sources.jar
deleted file mode 100644
index 495c2fe..0000000
--- a/common/robolectric/4.3.1/lib/utils-4.3.1-sources.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/utils-4.3.1.jar b/common/robolectric/4.3.1/lib/utils-4.3.1.jar
deleted file mode 100644
index 17f62a8..0000000
--- a/common/robolectric/4.3.1/lib/utils-4.3.1.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/utils-reflector-4.3.1-sources.jar b/common/robolectric/4.3.1/lib/utils-reflector-4.3.1-sources.jar
deleted file mode 100644
index 79d4368..0000000
--- a/common/robolectric/4.3.1/lib/utils-reflector-4.3.1-sources.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/utils-reflector-4.3.1.jar b/common/robolectric/4.3.1/lib/utils-reflector-4.3.1.jar
deleted file mode 100644
index aeecc35..0000000
--- a/common/robolectric/4.3.1/lib/utils-reflector-4.3.1.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/lib/vtd-xml-2.11.jar b/common/robolectric/4.3.1/lib/vtd-xml-2.11.jar
deleted file mode 100644
index ecf0e2f..0000000
--- a/common/robolectric/4.3.1/lib/vtd-xml-2.11.jar
+++ /dev/null
Binary files differ
diff --git a/common/robolectric/4.3.1/list_failed.sh b/common/robolectric/4.3.1/list_failed.sh
deleted file mode 100755
index 1000ae1..0000000
--- a/common/robolectric/4.3.1/list_failed.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/bash
-#
-# This script lists the tests which are failing in the output of Robolectric
-# tests.
-# TODO: Remove this script and move the functionality into a custom JUnit runner.
-
-# Matches the line specifying which test has failed and matches the test name
-# and class name as the first and second matching group, respectively.
-readonly FAILED_TEST_RE='^[1-9][0-9]*)\s\(\w\+\)(\(\(\w\|.\)\+\))$'
-
-# Fails with a message.
-function fatal() {
-  echo 1>&2 "FATAL: $@"
-  exit 113
-}
-
-function main() {
-  test $# = 0 || fatal "Too many arguments: $@"
-
-  sed -e '1,/^There \(was 1 failure\|were [0-9]* failures\):$/d' |
-      grep "$FAILED_TEST_RE" |
-      sed -e "s/$FAILED_TEST_RE/\2.\1/" ||
-      true
-}
-
-set -e
-set -o pipefail
-main "$@"
diff --git a/common/robolectric/4.3.1/report-internal.mk b/common/robolectric/4.3.1/report-internal.mk
deleted file mode 100644
index e8713e7..0000000
--- a/common/robolectric/4.3.1/report-internal.mk
+++ /dev/null
@@ -1,52 +0,0 @@
-# Defines a target named $(my_target) for generating a coverage report.
-
-my_report_dir := $(my_coverage_dir)/reports
-my_coverage_output := $(my_report_dir)/coverage.xml
-
-# Private variables.
-$(my_coverage_output): PRIVATE_MODULE := $(LOCAL_MODULE)
-$(my_coverage_output): PRIVATE_COVERAGE_FILE := $(my_coverage_file)
-$(my_coverage_output): PRIVATE_COVERAGE_SRCS_JARS := $(my_coverage_srcs_jars)
-$(my_coverage_output): PRIVATE_INSTRUMENT_SOURCE_DIRS := $(my_instrument_source_dirs)
-$(my_coverage_output): PRIVATE_COVERAGE_REPORT_CLASS := $(my_coverage_report_class)
-$(my_coverage_output): PRIVATE_COVERAGE_REPORT_JAR := $(my_coverage_report_jar)
-$(my_coverage_output): PRIVATE_REPORT_DIR := $(my_report_dir)
-
-# Generate the coverage report.
-$(my_coverage_output): $(my_collect_file) $(my_coverage_report_jar)
-	$(hide) rm -rf $(PRIVATE_REPORT_DIR)
-	$(hide) mkdir -p $(PRIVATE_REPORT_DIR)
-	$(hide) $(JAVA) \
-			-cp $(PRIVATE_COVERAGE_REPORT_JAR) \
-			$(PRIVATE_COVERAGE_REPORT_CLASS) \
-			-classpath $(strip $(call normalize-path-list, $(PRIVATE_COVERAGE_SRCS_JARS))) \
-			--exec-file $(PRIVATE_COVERAGE_FILE) \
-			--name $(PRIVATE_MODULE) \
-			--report-dir $(PRIVATE_REPORT_DIR)/ \
-			--srcs $(strip $(call normalize-path-list, $(PRIVATE_INSTRUMENT_SOURCE_DIRS))) \
-			>$(PRIVATE_REPORT_DIR)/reporter.txt 2>&1
-	@echo "Coverage report: file://"$(realpath $(PRIVATE_REPORT_DIR))"/index.html"
-
-
-# Generate a ZIP file of the coverage report.
-my_coverage_output_zip := $(my_coverage_dir)/report-html.zip
-
-$(my_coverage_output_zip): PRIVATE_REPORT_DIR := $(my_report_dir)
-$(my_coverage_output_zip): $(my_coverage_output)
-	$(hide) cd $(PRIVATE_REPORT_DIR) && zip --quiet -r $(PWD)/$@ .
-
-# Add coverage report zip to dist files.
-$(call dist-for-goals, $(my_report_target), \
-    $(my_coverage_output_zip):robotests-coverage/$(LOCAL_MODULE)/robolectric-html-coverage.zip \
-    $(my_coverage_output):robotests-coverage/$(LOCAL_MODULE)/robolectric-coverage.xml)
-
-ALL_TARGETS.$(my_coverage_output_zip).META_LIC:=$(module_license_metadata)
-ALL_TARGETS.$(my_coverage_output).META_LIC:=$(module_license_metadata)
-
-# Running the coverage will always generate the report.
-$(my_target): $(my_coverage_output)
-
-# Reset local variables.
-my_coverage_output :=
-my_coverage_output_zip :=
-my_report_dir :=
diff --git a/common/robolectric/4.3.1/robotest-internal.mk b/common/robolectric/4.3.1/robotest-internal.mk
deleted file mode 100644
index 9bd9b5d..0000000
--- a/common/robolectric/4.3.1/robotest-internal.mk
+++ /dev/null
@@ -1,100 +0,0 @@
-# Defines a target named $(my_target) for running robolectric tests.
-
-# Running the tests is done in two stages: we first generate the test output to
-# $(my_target_output), which is also added to the dist list, and store the
-# return value of running the tests in $(my_target_retval). After that we
-# process the output and return value as part of $(my_target). This is needed
-# to make sure that we can install the test output even if the tests actually
-# fail.
-
-# Files in which to store the output and return value of the tests.
-my_target_xml := $(intermediates)/$(my_filename_stem)-output.xml
-my_target_output := $(intermediates)/$(my_filename_stem)-output.txt
-my_target_retval := $(intermediates)/$(my_filename_stem)-retval.txt
-
-ALL_TARGETS.$(my_target_output).META_LIC:=$(module_license_metadata)
-ALL_TARGETS.$(my_target_xml).META_LIC:=$(module_license_metadata)
-
-# We should always re-run the tests, even if nothing has changed.
-# So until the build system has a dedicated "no cache" option, claim
-# to write a file that is never produced.
-my_target_nocache := $(intermediates)/$(my_filename_stem)-nocache
-
-# Private variables.
-$(my_target_output): PRIVATE_MODULE := $(LOCAL_MODULE)
-$(my_target_output): PRIVATE_TESTS := $(my_tests)
-$(my_target_output): PRIVATE_JARS := $(my_jars)
-$(my_target_output): PRIVATE_JAVA_ARGS := $(my_java_args)
-$(my_target_output): PRIVATE_ROBOLECTRIC_PATH := $(my_robolectric_path)
-$(my_target_output): PRIVATE_ROBOLECTRIC_SCRIPT_PATH := $(my_robolectric_script_path)
-$(my_target_output): PRIVATE_TARGET_MESSAGE := $(my_target_message)
-$(my_target_output): PRIVATE_TARGET_OUTPUT := $(my_target_output)
-$(my_target_output): PRIVATE_TARGET_RETVAL := $(my_target_retval)
-$(my_target_output): PRIVATE_TARGET_NOCACHE := $(my_target_nocache)
-$(my_target_output): PRIVATE_TIMEOUT := $(my_timeout)
-# Pin java binary to 8 or 9, the highest robolectric 3.6.1 and ASM 6.0 support:
-$(my_target_output): PRIVATE_JAVA_PATH := $(if $(my_use_java8),$(ANDROID_JAVA8_HOME)/bin:,$(ANDROID_JAVA9_HOME)/bin:)
-$(my_target_output): PRIVATE_XML_OUTPUT_FILE := $(my_target_xml)
-$(my_target_output): .KATI_IMPLICIT_OUTPUTS := $(my_target_xml) $(my_target_retval) $(my_target_nocache)
-# Runs the Robolectric tests and saves the output and return value.
-$(my_target_output): $(my_jars)
-	@echo "host Robolectric: $(PRIVATE_MODULE)"
-	# Run `touch` to always create the output XML file, so the build doesn't break even if the
-	# runner failed to create the XML output
-	$(hide) touch "$(PRIVATE_XML_OUTPUT_FILE)"
-	$(hide) rm -f "$(PRIVATE_TARGET_NOCACHE)"
-	$(hide) \
-	  PRIVATE_INTERMEDIATES="$(dir $@)" \
-	  PRIVATE_JARS="$(PRIVATE_JARS)" \
-	  PRIVATE_JAVA_ARGS="$(PRIVATE_JAVA_ARGS)" \
-	  PRIVATE_ROBOLECTRIC_PATH="$(PRIVATE_ROBOLECTRIC_PATH)" \
-	  PRIVATE_ROBOLECTRIC_SCRIPT_PATH="$(PRIVATE_ROBOLECTRIC_SCRIPT_PATH)" \
-	  PRIVATE_RUN_INDIVIDUALLY="$(ROBOTEST_RUN_INDIVIDUALLY)" \
-	  PRIVATE_TARGET_MESSAGE="$(PRIVATE_TARGET_MESSAGE)" \
-	  PRIVATE_TIMEOUT="$(PRIVATE_TIMEOUT)" \
-	  PRIVATE_TESTS="$(PRIVATE_TESTS)" \
-	  XML_OUTPUT_FILE="$(PRIVATE_XML_OUTPUT_FILE)" \
-	  TEST_WORKSPACE="$(PRIVATE_MODULE)" \
-	  PATH=$(PRIVATE_JAVA_PATH)$${PATH} \
-	  $(PRIVATE_ROBOLECTRIC_SCRIPT_PATH)/wrapper.sh \
-	    "$(PRIVATE_MODULE)" \
-	    "$(PRIVATE_TARGET_OUTPUT)" \
-	    "$(PRIVATE_TARGET_RETVAL)" \
-	    wrap \
-	    $(PRIVATE_ROBOLECTRIC_SCRIPT_PATH)/robotest.sh
-
-# Private variables.
-$(my_target): PRIVATE_MODULE := $(LOCAL_MODULE)
-$(my_target): PRIVATE_TARGET_OUTPUT := $(my_target_output)
-$(my_target): PRIVATE_TARGET_RETVAL := $(my_target_retval)
-$(my_target): PRIVATE_FAILURE_FATAL := $(my_failure_fatal)
-$(my_target): PRIVATE_ROBOLECTRIC_SCRIPT_PATH := $(my_robolectric_script_path)
-# Process the output and the return value of the tests. This will fail if the
-# return value is non-zero.
-$(my_target): $(my_target_output) $(my_target_xml)
-	$(hide) \
-	  result=0; \
-	  $(PRIVATE_ROBOLECTRIC_SCRIPT_PATH)/wrapper.sh \
-	    "$(PRIVATE_MODULE)" \
-	    "$(PRIVATE_TARGET_OUTPUT)" \
-	    "$(PRIVATE_TARGET_RETVAL)" \
-	    eval \
-	      || result=$$?; \
-	  if [ "$(strip $(PRIVATE_FAILURE_FATAL))" = true ]; then \
-	    exit "$$result"; \
-	  fi
-	$(hide) touch $@
-
-# Add the output of the tests to the dist list, so that we will include it even
-# if the tests fail.
-$(call dist-for-goals, $(my_phony_target), \
-    $(my_target_output):robotests/$(LOCAL_MODULE)-$(notdir $(my_target_output)) \
-    $(my_target_xml):robotests/$(LOCAL_MODULE)-$(notdir $(my_target_xml)))
-
-# Clean up local variables.
-my_target_output :=
-my_target_retval :=
-my_target_xml :=
-my_target_nocache :=
-my_filename_stem :=
-my_use_java8 :=
diff --git a/common/robolectric/4.3.1/robotest.sh b/common/robolectric/4.3.1/robotest.sh
deleted file mode 100755
index 160b533..0000000
--- a/common/robolectric/4.3.1/robotest.sh
+++ /dev/null
@@ -1,122 +0,0 @@
-#!/bin/bash
-#
-# Runs robolectric tests.
-
-set -euo pipefail
-
-# Terminate with a fatal error.
-function fatal() {
-  echo "Fatal: $*"
-  exit 113
-}
-
-# Ensures that the given variable is set.
-function validate_var() {
-  local name="$1"; shift || fatal "Missing argument: name"
-  test $# = 0 || fatal "Too many arguments"
-
-  eval [[ -n \${${name}+dummy} ]] || {
-    echo "Variable not set: $name";
-    return 1;
-  }
-}
-
-# Ensures that all the required variables are set.
-function validate_vars() {
-  test $# = 0 || fatal "Too many arguments"
-
-  validate_var 'PRIVATE_INTERMEDIATES'
-  validate_var 'PRIVATE_JARS'
-  validate_var 'PRIVATE_JAVA_ARGS'
-  validate_var 'PRIVATE_ROBOLECTRIC_PATH'
-  validate_var 'PRIVATE_ROBOLECTRIC_SCRIPT_PATH'
-  validate_var 'PRIVATE_RUN_INDIVIDUALLY'
-  validate_var 'PRIVATE_TARGET_MESSAGE'
-  validate_var 'PRIVATE_TESTS'
-  validate_var 'PRIVATE_TIMEOUT'
-
-  validate_var 'XML_OUTPUT_FILE'
-  validate_var 'TEST_WORKSPACE'
-}
-
-# Remove leading and trailing spaces around the given argument.
-function strip() {
-  local value="$1"; shift || fatal "Missing argument: value"
-  test $# = 0 || fatal "Too many arguments"
-
-  echo "$value" | sed -e 's/^ *//' -e 's/ *$//'
-}
-
-# Normalizes a list of paths and turns it into a colon-separated list.
-function normalize-path-list() {
-  echo "$@" | sed -e 's/^ *//' -e 's/ *$//' -e 's/  */ /g' -e 's/ /:/g'
-}
-
-function junit() {
-  # This adds the lib folder to the cp.
-  local classpath="$(strip "$(normalize-path-list "${PRIVATE_JARS}")")"
-  local command=(
-    "${PRIVATE_ROBOLECTRIC_SCRIPT_PATH}/java-timeout"
-    "${PRIVATE_TIMEOUT}"
-    ${PRIVATE_JAVA_ARGS}
-    -Drobolectric.dependency.dir="${PRIVATE_ROBOLECTRIC_PATH}"
-    -Drobolectric.offline=true
-    -Drobolectric.logging=stdout
-    -cp "$classpath"
-    com.android.junitxml.JUnitXmlRunner
-  )
-  echo "${command[@]}" "$@"
-  "${command[@]}" "$@"
-}
-
-function runtests() {
-  local tests="$1"; shift || fatal "Missing argument: tests"
-  test $# = 0 || fatal "Too many arguments"
-
-  if [[ "$(strip "${PRIVATE_RUN_INDIVIDUALLY}")" = 'true' ]]; then
-    local result=0
-    for test in ${tests}; do
-      echo "-------------------------------------------------------------------"
-      echo "Running $test:"
-      junit "${test}"
-    done
-    return "$result"
-  else
-    echo "-------------------------------------------------------------------"
-    echo "Running $tests:"
-    junit $tests  # Contains a space-separated list of tests.
-  fi
-}
-
-# Run the robolectric tests
-function run() {
-  test $# = 0 || fatal "Too many arguments"
-
-  [ "${PRIVATE_TARGET_MESSAGE}" == '' ] || echo "${PRIVATE_TARGET_MESSAGE}"
-  local tests="${PRIVATE_TESTS}"
-  if [ "$tests" = '' ]; then
-    # Somehow there are no tests to run. Assume this is failure.
-    echo "No tests to run."
-    exit 1
-  fi
-  local output="${PRIVATE_INTERMEDIATES}/output.out"
-  local failed="${PRIVATE_INTERMEDIATES}/failed.out"
-  local result=0
-  runtests "${tests}" >"$output" 2>&1 || result="$?"
-  echo "$output"
-  cat "$output"
-  if [ "$result" = 0 ]; then
-    return "$result"
-  fi
-  "${PRIVATE_ROBOLECTRIC_SCRIPT_PATH}/list_failed.sh" <"$output" >"$failed"
-  return "$result"
-}
-
-function main() {
-  test $# = 0 || fatal "Too many arguments"
-
-  validate_vars
-  run
-}
-
-main "$@"
diff --git a/common/robolectric/4.3.1/run_robotests.mk b/common/robolectric/4.3.1/run_robotests.mk
deleted file mode 100644
index 7f2207e..0000000
--- a/common/robolectric/4.3.1/run_robotests.mk
+++ /dev/null
@@ -1,231 +0,0 @@
-# Rules for running robolectric tests.
-#
-# Uses the following variables:
-#
-#   LOCAL_JAVA_LIBRARIES
-#   LOCAL_STATIC_JAVA_LIBRARIES
-#   LOCAL_ROBOTEST_FAILURE_FATAL
-#   LOCAL_ROBOTEST_TIMEOUT
-#   LOCAL_TEST_PACKAGE
-#   LOCAL_ROBOTEST_FILES
-#   ROBOTEST_FAILURE_FATAL
-#   ROBOTEST_FILTER
-#   ROBOTEST_RUN_INDIVIDUALLY
-#
-#
-# If ROBOTEST_FAILURE_FATAL is set to true then failing tests will cause a
-# build failure. Otherwise failures will be logged but ignored by make.
-#
-# If ROBOTEST_FILTER is set to a regex then only tests matching that pattern
-# will be run. This currently only works at the class level.
-#
-# TODO: Switch to a JUnit runner which can support method-level test
-# filtering and use that rather than grep to implement ROBOTEST_FILTER.
-#
-# If ROBOTEST_RUN_INDIVIDUALLY is set to true, each test class will be run by a
-# different JVM, preventing any interaction between different tests. This is
-# significantly slower than running all tests within the same JVM, but prevents
-# unwanted interactions.
-#
-# Tests classes are found by looking for *Test.java files in
-# LOCAL_PATH recursively.
-
-################################################
-# General settings, independent of the module. #
-################################################
-
-### Used for running tests.
-
-# Where to find Robolectric.
-my_robolectric_script_path := $(call my-dir)
-# Explicitly define the jars and their classpath ordering.
-include $(my_robolectric_script_path)/classpath_jars.mk
-my_robolectric_jars := \
-    $(addprefix $(my_robolectric_script_path)/,$(my_robolectric_runtime_deps)) \
-    $(call java-lib-files,junit)
-
-my_collect_target := $(LOCAL_MODULE)-coverage
-my_report_target := $(LOCAL_MODULE)-jacoco
-.PHONY: $(my_collect_target) $(my_report_target)
-# Whether or not to ignore the result of running the robotests.
-# LOCAL_ROBOTEST_FAILURE_FATAL will take precedence over ROBOTEST_FAILURE_FATAL,
-# if present.
-my_failure_fatal := $(if $(LOCAL_ROBOTEST_FAILURE_FATAL)$(ROBOTEST_FAILURE_FATAL),true,false)
-# The timeout for the command. A value of '0' means no timeout. The default is
-# 10 minutes.
-my_timeout := $(if $(LOCAL_ROBOTEST_TIMEOUT),$(LOCAL_ROBOTEST_TIMEOUT),600)
-# Command to filter the list of test classes.
-# If not specified, defaults to including all the tests.
-my_test_filter_command := $(if $(ROBOTEST_FILTER),grep -E "$(ROBOTEST_FILTER)",cat)
-
-# The directory containing the sources.
-my_instrument_makefile_dir := $(dir $(ALL_MODULES.$(LOCAL_TEST_PACKAGE).MAKEFILE))
-my_instrument_source_dirs := $(if $(LOCAL_INSTRUMENT_SOURCE_DIRS),\
-    $(LOCAL_INSTRUMENT_SOURCE_DIRS),\
-    $(my_instrument_makefile_dir)src $(my_instrument_makefile_dir)java)
-
-##########################
-# Used by base_rules.mk. #
-##########################
-
-LOCAL_MODULE_CLASS := ROBOLECTRIC
-# This is actually a phony target that is never built.
-LOCAL_BUILT_MODULE_STEM := test.fake
-# Since it is not built, it cannot be installed. But we will define our own
-# dist files, depending on which of the specific targets is invoked.
-LOCAL_UNINSTALLABLE_MODULE := true
-# Do not build it for checkbuild or mma
-LOCAL_DONT_CHECK_MODULE := true
-
-include $(BUILD_SYSTEM)/base_rules.mk
-
-
-#############################
-# Module specific settings. #
-#############################
-
-### Used for running tests.
-
-# The list of test classes. Robolectric requires an explicit list of tests to
-# run, which is compiled from the Java files ending in "Test" within the
-# directory from which this module is invoked.
-ifeq ($(strip $(LOCAL_ROBOTEST_FILES)),)
-    LOCAL_ROBOTEST_FILES := $(call find-files-in-subdirs,$(LOCAL_PATH)/src,*Test.java,.)
-endif
-# Convert the paths into package names by removing .java extension and replacing "/" with "."
-my_tests := $(subst /,.,$(basename $(LOCAL_ROBOTEST_FILES)))
-my_tests := $(sort $(shell echo '$(my_tests)' | tr ' ' '\n' | $(my_test_filter_command)))
-# The source jars containing the tests.
-my_srcs_jars := \
-    $(foreach lib, \
-        $(LOCAL_JAVA_LIBRARIES) $(LOCAL_STATIC_JAVA_LIBRARIES), \
-        $(call intermediates-dir-for,JAVA_LIBRARIES,$(lib),,COMMON)/classes-pre-proguard.jar) \
-    $(foreach lib, \
-        $(LOCAL_TEST_PACKAGE), \
-        $(call intermediates-dir-for,APPS,$(lib),,COMMON)/classes-pre-proguard.jar)
-# The jars needed to run the tests.
-my_jars := \
-    $(my_robolectric_jars) \
-    $(call resolve-prebuilt-sdk-jar-path,$(LOCAL_SDK_VERSION)) \
-    $(call java-lib-files,junitxml) \
-    $(my_srcs_jars)
-
-
-
-# Run tests.
-my_phony_target := $(LOCAL_MODULE)
-my_target := $(LOCAL_BUILT_MODULE)
-my_filename_stem := test
-
-android_all_lib_path := $(my_robolectric_script_path)/../android-all
-my_robolectric_path := $(intermediates.COMMON)/android-all
-android_all_jars := $(call find-files-in-subdirs,$(android_all_lib_path),*.jar,.)
-copy_android_all_jars := $(foreach j,$(android_all_jars),\
-    $(android_all_lib_path)/$(j):$(my_robolectric_path)/$(j))
-$(my_robolectric_path): $(call copy-many-files,$(copy_android_all_jars))
-$(my_target): $(my_robolectric_path)
-
-# Setting the DEBUG_ROBOLECTRIC environment variable will print additional logging from
-# Robolectric and also make it wait for a debugger to be connected.
-# For Android Studio / IntelliJ the debugger can be connected via the "remote" configuration:
-#     https://www.jetbrains.com/help/idea/2016.2/run-debug-configuration-remote.html
-# From command line the debugger can be connected via
-#     jdb -attach localhost:5005
-ifdef DEBUG_ROBOLECTRIC
-    # The arguments to the JVM needed to debug the tests.
-    # - server: wait for connection rather than connecting to a debugger
-    # - transport: how to accept debugger connections (sockets)
-    # - address: the port on which to accept debugger connections
-    # - timeout: how long (in ms) to wait for a debugger to connect
-    # - suspend: do not start running any code until the debugger connects
-    my_java_args := \
-        -Drobolectric.logging.enabled=true \
-        -Xdebug -agentlib:jdwp=server=y,transport=dt_socket,address=localhost:5005,suspend=y
-
-    # Remove the timeout so Robolectric doesn't get killed while debugging
-    my_timeout := 0
-endif
-
-include $(my_robolectric_script_path)/robotest-internal.mk
-# clean local variables
-my_java_args :=
-my_phony_target :=
-my_target :=
-
-# Target for running robolectric tests using jacoco
-my_phony_target := $(my_report_target)
-my_target := $(LOCAL_BUILT_MODULE)-coverage
-my_collect_file := $(my_target)
-my_filename_stem := coverage
-$(my_collect_target): $(my_target)
-$(my_target): $(call java-lib-files,jvm-jacoco-agent,true) $(my_robolectric_path)
-
-my_coverage_dir := $(intermediates)/coverage
-my_coverage_file := $(my_coverage_dir)/jacoco.exec
-
-# List of packages to exclude jacoco from running
-my_jacoco_excludes := \
-    org.robolectric.* \
-    org.mockito.* \
-    org.junit.* \
-    org.objectweb.* \
-    com.thoughtworks.xstream.*
-# The Jacoco agent JAR.
-my_jacoco_agent_jar := $(call java-lib-files,jvm-jacoco-agent,true)
-# Using Jacoco with Robolectric is broken in 0.7.3 <= version < 0.7.6.
-# In 0.7.6 or above, the parameter "inclnolocationclasses" is needed.
-# See https://github.com/jacoco/jacoco/pull/288 for more
-# In JDK9, if "inclnolocationclasses" is used, we also need to specify
-# exclclassloader=jdk.internal.reflect.DelegatingClassLoader
-# https://github.com/jacoco/jacoco/issues/16
-my_jacoco_agent_args = \
-    destfile=$(my_coverage_file) \
-    excludes=$(call normalize-path-list, $(my_jacoco_excludes)) \
-    inclnolocationclasses=true \
-    exclclassloader=jdk.internal.reflect.DelegatingClassLoader \
-    append=false
-my_java_args := \
-    -javaagent:$(my_jacoco_agent_jar)=$(call normalize-comma-list, $(my_jacoco_agent_args))
-include $(my_robolectric_script_path)/robotest-internal.mk
-# Clear temporary variables
-my_failure_fatal :=
-my_jacoco_agent_jar :=
-my_jacoco_agent_args :=
-my_jacoco_excludes :=
-my_java_args :=
-my_phony_target :=
-my_robolectric_jars :=
-my_target :=
-my_tests :=
-my_filename_stem :=
-
-# Target for generating code coverage reports using jacoco.exec
-my_target := $(LOCAL_BUILT_MODULE)-jacoco
-$(my_report_target): $(my_target)
-
-# The JAR file containing the report generation tool.
-my_coverage_report_class := com.google.android.jacoco.reporter.ReportGenerator
-my_coverage_report_jar := $(call java-lib-files,jvm-jacoco-reporter,true)
-my_coverage_srcs_jars := $(my_srcs_jars)
-my_coverage_report_dist_file := $(my_report_target)-html.zip
-
-## jacoco code coverage reports
-include $(my_robolectric_script_path)/report-internal.mk
-# Clear temporary variables
-my_coverage_dir :=
-my_coverage_file :=
-my_coverage_report_class :=
-my_coverage_report_dist_file :=
-my_coverage_report_jar :=
-my_coverage_srcs_jars :=
-my_robolectric_script_path :=
-my_robolectric_path :=
-my_srcs_jars :=
-my_target :=
-my_collect_file :=
-
-# Clear local variables specific to this build.
-LOCAL_ROBOTEST_FAILURE_FATAL :=
-LOCAL_ROBOTEST_TIMEOUT :=
-LOCAL_ROBOTEST_FILES :=
-LOCAL_INSTRUMENT_SOURCE_DIRS :=
diff --git a/common/robolectric/4.3.1/wrapper.sh b/common/robolectric/4.3.1/wrapper.sh
deleted file mode 100755
index 8d74246..0000000
--- a/common/robolectric/4.3.1/wrapper.sh
+++ /dev/null
@@ -1,76 +0,0 @@
-#!/bin/bash
-#
-# A simple script to wrap the execution of a command so that it stores its
-# output and return value into a file and then process it to later on.
-#
-# This is meant to be used in a makefile, specifically to allow for the output
-# of a command to be stored in a file and added to the dist list, even if the
-# command actually failed.
-#
-# For example, your makefile might include:
-#
-# my_target := lint
-# my_target_output := $(OUT_DIR)/lint-output.txt
-# my_target_retval := $(OUT_DIR)/lint-retval.txt
-#
-# $(my_target_output) $(my_target_retval): PRIVATE_MODULE := $(my_target)
-# $(my_target_output) $(my_target_retval): PRIVATE_OUTPUT := $(my_target_output)
-# $(my_target_output) $(my_target_retval): PRIVATE_RETVAL := $(my_target_retval)
-# $(my_target_output) $(my_target_retval):
-#         $(PATH)/wrapper.sh \
-#           $(PRIVATE_MODULE) \
-#           $(PRIVATE_OUTPUT) \
-#           $(PRIVATE_RETVAL) \
-#           wrap \
-#           $(PATH)/run-list.sh $(LOCAL_PATH)/src
-#
-# $(my_target): PRIVATE_MODULE := $(my_target)
-# $(my_target): PRIVATE_OUTPUT := $(my_target_output)
-# $(my_target): PRIVATE_RETVAL := $(my_target_retval)
-# $(my_target): $(my_target_output) $(my_target_retval)
-#         $(PATH)/wrapper.sh \
-#           $(PRIVATE_MODULE) \
-#           $(PRIVATE_OUTPUT) \
-#           $(PRIVATE_RETVAL) \
-#           eval
-
-set -euo pipefail
-
-# Terminate with a fatal error.
-function fatal() {
-  echo "Fatal: $*"
-  exit 113
-}
-
-function main() {
-  local module="${1-}"; shift || fatal "missing argument: module"
-  local output="${1-}"; shift || fatal "missing argument: output"
-  local retval="${1-}"; shift || fatal "missing argument: retval"
-  local action="${1-}"; shift || fatal "missing argument: action"
-  # The rest of the arguments are the command to run.
-
-  if [ "$action" = 'wrap' ]; then
-    # Run the command specified by the rest of arguments ("$@") and save output
-    # and return value.
-    echo 0 >"${retval}"
-    "$@" >"${output}" 2>&1 || echo "$?" >"${retval}"
-
-    # Wrapping itself is always successful.
-    return
-  elif [ "$action" = 'eval' ]; then
-    local result="$(cat "${retval}")"
-    if [ "$result" = 0 ]; then
-      # If successful only print the last few lines.
-      tail -n 5 "$output" | sed -e "s/^/${module}: /"
-    else
-      # Print the entire output on failure.
-      cat "$output" | sed -e "s/^/${module}: /"
-    fi
-    # Evaluating returns the stored return value.
-    return "$result"
-  else
-    fatal "invalid action: $action"
-  fi
-}
-
-main "$@"
diff --git a/common/robolectric/4.3.1/wrapper_test.sh b/common/robolectric/4.3.1/wrapper_test.sh
deleted file mode 100755
index 42a04c5..0000000
--- a/common/robolectric/4.3.1/wrapper_test.sh
+++ /dev/null
@@ -1,172 +0,0 @@
-#!/bin/bash
-#
-# Tests for wrapper.sh.
-
-set -euo pipefail
-
-# The location of the script under test.
-readonly WRAPPER="$(realpath "$(dirname "$0")/wrapper.sh")"
-# The name of the tests to run. Each test correspond to a function in this file
-# whose name is the name of the test prefixed by 'test'.
-readonly TEST_NAMES=(
-  SuccessfulCase
-  FailedCase
-  FailedSignalCase
-)
-
-# Fails with an error message.
-function fatal() {
-  echo 1>&2 "FATAL: $@"
-  exit 113
-}
-
-function withTestFiles() {
-  (
-    echo '1'
-    echo '2'
-    echo '3'
-    echo '4'
-    echo '5'
-    echo '6'
-    echo '7'
-  ) >testfile
-  (
-    echo 'module: 1'
-    echo 'module: 2'
-    echo 'module: 3'
-    echo 'module: 4'
-    echo 'module: 5'
-    echo 'module: 6'
-    echo 'module: 7'
-  ) >testfileWithModule
-  (
-    echo 'module: 3'
-    echo 'module: 4'
-    echo 'module: 5'
-    echo 'module: 6'
-    echo 'module: 7'
-  ) >testfileWithModuleTruncated
-}
-
-function expectNoWrapOutput() {
-  if [ "$(cat output-wrap)" != '' ]; then
-    echo 'Wrap should not generate any output'
-    diff testfile output || true
-    return 1
-  fi
-}
-
-function expectSavedOutput() {
-  if ! diff testfile output; then
-    echo 'Should have saved the correct output'
-    diff testfile output || true
-    return 1
-  fi
-}
-
-function expectFullOutputWithModule() {
-  if ! diff testfileWithModule output-eval; then
-    echo 'Should have printed the full output'
-    diff testfileWithModule output || true
-    return 1
-  fi
-}
-
-function expectTruncatedOutputWithModule() {
-  if ! diff testfileWithModuleTruncated output-eval; then
-    echo 'Should have printed the truncated output'
-    diff testfileWithModuleTruncated output || true
-    return 1
-  fi
-}
-
-function whenWrap() {
-  "$WRAPPER" module "$PWD/output" "$PWD/retval" 'wrap' "$@" \
-    2>/dev/null \
-    >output-wrap
-}
-
-function whenEval() {
-  "$WRAPPER" module "$PWD/output" "$PWD/retval" 'eval' "$@" \
-    >output-eval 2>&1
-}
-
-function testSuccessfulCase() {
-  withTestFiles
-  (
-    echo '#!/bin/bash'
-    echo
-    echo 'cat testfile'
-  ) >script.sh
-  chmod 755 script.sh
-  whenWrap "$PWD/script.sh"
-  expectNoWrapOutput
-  if ! whenEval; then
-    echo 'Should have run successfully'
-    return 1
-  fi
-  expectSavedOutput
-  expectTruncatedOutputWithModule
-}
-
-function testFailedCase() {
-  withTestFiles
-  (
-    echo '#!/bin/bash'
-    echo
-    echo 'cat testfile'
-    echo 'exit 1'
-  ) >script.sh
-  chmod 755 script.sh
-  whenWrap "$PWD/script.sh"
-  expectNoWrapOutput
-  if whenEval; then
-    echo 'Should have failed to run'
-    return 1
-  fi
-  expectSavedOutput
-  expectFullOutputWithModule
-}
-function testFailedSignalCase() {
-  withTestFiles
-  (
-    echo '#!/bin/bash'
-    echo
-    echo 'cat testfile'
-    echo 'kill -TERM $$'
-    echo 'echo Should not be printed'
-  ) >script.sh
-  chmod 755 script.sh
-  whenWrap "$PWD/script.sh"
-  expectNoWrapOutput
-  if whenEval; then
-    echo 'Should have failed to run'
-    return 1
-  fi
-  expectSavedOutput
-  expectFullOutputWithModule
-}
-
-
-function main() {
-  local result=0
-  local tmp="$(mktemp -d)"
-  for test_name in "${TEST_NAMES[@]}"; do
-    mkdir -p "$tmp/$test_name"
-    cd "$tmp/$test_name"
-    echo -n "Running $test_name..."
-    test"$test_name" >log || {
-      echo "FAILED";
-      sed -e "s/^/$test_name: /" <log
-      rm log
-      result=1;
-      continue;
-    }
-    echo "PASSED"
-    rm log
-  done
-  return "$result"
-}
-
-
-main "$@"
diff --git a/protobuf_vendorcompat/Android.bp b/protobuf_vendorcompat/Android.bp
new file mode 100644
index 0000000..f956418
--- /dev/null
+++ b/protobuf_vendorcompat/Android.bp
@@ -0,0 +1,34 @@
+package {
+    default_applicable_licenses: ["prebuilts_misc_protobuf_vendorcompat_license"],
+}
+
+// See: http://go/android-license-faq
+license {
+    name: "prebuilts_misc_protobuf_vendorcompat_license",
+    license_kinds: ["SPDX-license-identifier-BSD"],
+    license_text: ["LICENSE"],
+}
+
+// Workaround for neural networks HAL on barbet
+cc_prebuilt_library_shared {
+    name: "libprotobuf-cpp-full-3.9.1-vendorcompat",
+    stem: "libprotobuf-cpp-full-3.9.1",
+    vendor: true,
+    target: {
+        android_arm64: {
+            srcs: ["arm64/libprotobuf-cpp-full-3.9.1.so"],
+        },
+        android_arm: {
+            srcs: ["arm/libprotobuf-cpp-full-3.9.1.so"],
+        },
+    },
+
+    shared_libs: [
+        "libc++",
+        "libc",
+        "libdl",
+        "liblog",
+        "libm",
+        "libz",
+    ],
+}
diff --git a/protobuf_vendorcompat/LICENSE b/protobuf_vendorcompat/LICENSE
new file mode 100644
index 0000000..19b305b
--- /dev/null
+++ b/protobuf_vendorcompat/LICENSE
@@ -0,0 +1,32 @@
+Copyright 2008 Google Inc.  All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+    * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Code generated by the Protocol Buffer compiler is owned by the owner
+of the input file used when generating it.  This code is not
+standalone and requires a support library to be linked with it.  This
+support library is itself covered by the above license.
diff --git a/protobuf_vendorcompat/arm/PREBUILT b/protobuf_vendorcompat/arm/PREBUILT
new file mode 100644
index 0000000..c9861e3
--- /dev/null
+++ b/protobuf_vendorcompat/arm/PREBUILT
@@ -0,0 +1,5 @@
+Extracted from ab/9269995, target barbet-userdebug as follows:
+
+/google/data/ro/projects/android/fetch_artifact --bid 9269995 --target barbet-userdebug 'barbet-img-9269995.zip'
+unzip barbet-img-9269995.zip vendor.img
+e2cp vendor.img:lib/libprotobuf-cpp-full-3.9.1.so $ANDROID_BUILD_TOP/prebuilts/misc/android-arm/protobuf/
\ No newline at end of file
diff --git a/protobuf_vendorcompat/arm/libprotobuf-cpp-full-3.9.1.so b/protobuf_vendorcompat/arm/libprotobuf-cpp-full-3.9.1.so
new file mode 100644
index 0000000..27975ab
--- /dev/null
+++ b/protobuf_vendorcompat/arm/libprotobuf-cpp-full-3.9.1.so
Binary files differ
diff --git a/protobuf_vendorcompat/arm64/PREBUILT b/protobuf_vendorcompat/arm64/PREBUILT
new file mode 100644
index 0000000..170802e
--- /dev/null
+++ b/protobuf_vendorcompat/arm64/PREBUILT
@@ -0,0 +1,5 @@
+Extracted from ab/9269995, target barbet-userdebug as follows:
+
+/google/data/ro/projects/android/fetch_artifact --bid 9269995 --target barbet-userdebug 'barbet-img-9269995.zip'
+unzip barbet-img-9269995.zip vendor.img
+e2cp vendor.img:lib64/libprotobuf-cpp-full-3.9.1.so $ANDROID_BUILD_TOP/prebuilts/misc/android-arm64/protobuf/
\ No newline at end of file
diff --git a/protobuf_vendorcompat/arm64/libprotobuf-cpp-full-3.9.1.so b/protobuf_vendorcompat/arm64/libprotobuf-cpp-full-3.9.1.so
new file mode 100644
index 0000000..795e2b3
--- /dev/null
+++ b/protobuf_vendorcompat/arm64/libprotobuf-cpp-full-3.9.1.so
Binary files differ