This is an automated email from the ASF dual-hosted git repository.

erisu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cordova-android.git


The following commit(s) were added to refs/heads/master by this push:
     new d01ed80  feat: add androidx support (#901)
d01ed80 is described below

commit d01ed80a61c765483c60d5bbf737e71d5fb14b43
Author: エリス <[email protected]>
AuthorDate: Mon Jan 27 15:52:08 2020 +0900

    feat: add androidx support (#901)
---
 .eslintignore                                      |   3 +-
 .gitignore                                         |  11 +++-
 .../cordova/lib/config/GradlePropertiesParser.js   |   6 +-
 bin/templates/cordova/lib/prepare.js               |   7 +++
 test/{ => android}/README.md                       |   0
 test/{ => android}/app/.gitignore                  |   0
 test/{ => android}/app/build.gradle                |   0
 test/{ => android}/app/proguard-rules.pro          |   0
 .../cordova/unittests/BackButtonMultipageTest.java |   0
 .../cordova/unittests/EmbeddedWebViewTest.java     |   0
 .../org/apache/cordova/unittests/ErrorUrlTest.java |   0
 .../org/apache/cordova/unittests/IFrameTest.java   |   0
 .../unittests/MessageChannelMultipageTest.java     |   0
 .../cordova/unittests/StandardActivityTest.java    |   0
 .../{ => android}/app/src/main/AndroidManifest.xml |   0
 .../main/assets/www/backbuttonmultipage/index.html |   0
 .../assets/www/backbuttonmultipage/sample2.html    |   0
 .../assets/www/backbuttonmultipage/sample3.html    |   0
 .../src/main/assets/www/backgroundcolor/index.html |   0
 .../app/src/main/assets/www/cordova.js             |   0
 .../app/src/main/assets/www/cordova_plugins.js     |   0
 .../app/src/main/assets/www/fullscreen/index.html  |   0
 .../src/main/assets/www/htmlnotfound/error.html    |   0
 .../app/src/main/assets/www/iframe/index.html      |   0
 .../app/src/main/assets/www/iframe/index2.html     |   0
 .../app/src/main/assets/www/index.html             |   0
 .../app/src/main/assets/www/lifecycle/index.html   |   0
 .../app/src/main/assets/www/lifecycle/index2.html  |   0
 test/{ => android}/app/src/main/assets/www/main.js |   0
 .../app/src/main/assets/www/master.css             |   0
 .../app/src/main/assets/www/whitelist/index.html   |   0
 .../app/src/main/assets/www/whitelist/index2.html  |   0
 .../cordova/unittests/EmbeddedWebViewActivity.java |   0
 .../apache/cordova/unittests/LifeCyclePlugin.java  |   0
 .../apache/cordova/unittests/StandardActivity.java |   0
 .../org/apache/cordova/unittests/TestActivity.java |   0
 .../app/src/main/res/layout/activity_main.xml      |   0
 .../app/src/main/res/mipmap-hdpi/ic_launcher.png   | Bin
 .../app/src/main/res/mipmap-mdpi/ic_launcher.png   | Bin
 .../app/src/main/res/mipmap-xhdpi/ic_launcher.png  | Bin
 .../app/src/main/res/mipmap-xxhdpi/ic_launcher.png | Bin
 .../src/main/res/mipmap-xxxhdpi/ic_launcher.png    | Bin
 .../app/src/main/res/values-w820dp/dimens.xml      |   0
 .../app/src/main/res/values/colors.xml             |   0
 .../app/src/main/res/values/dimens.xml             |   0
 .../app/src/main/res/values/strings.xml            |   0
 .../app/src/main/res/values/styles.xml             |   0
 test/{ => android}/app/src/main/res/xml/config.xml |   0
 .../unittests/NativeToJsMessageQueueTest.java      |   0
 test/{ => android}/build.gradle                    |   0
 test/{ => android}/gradle.properties               |   0
 test/{ => android}/settings.gradle                 |   2 +-
 test/{ => android}/wrapper.gradle                  |   0
 test/{ => androidx}/README.md                      |   0
 test/{ => androidx}/app/.gitignore                 |   0
 test/{ => androidx}/app/build.gradle               |  21 ++++---
 test/{ => androidx}/app/proguard-rules.pro         |   0
 .../cordova/unittests/BackButtonMultipageTest.java |  12 ++--
 .../cordova/unittests/EmbeddedWebViewTest.java     |   4 +-
 .../org/apache/cordova/unittests/ErrorUrlTest.java |   4 +-
 .../org/apache/cordova/unittests/IFrameTest.java   |  20 +++----
 .../unittests/MessageChannelMultipageTest.java     |   4 +-
 .../cordova/unittests/StandardActivityTest.java    |   4 +-
 .../app/src/main/AndroidManifest.xml               |   0
 .../main/assets/www/backbuttonmultipage/index.html |   0
 .../assets/www/backbuttonmultipage/sample2.html    |   0
 .../assets/www/backbuttonmultipage/sample3.html    |   0
 .../src/main/assets/www/backgroundcolor/index.html |   0
 .../app/src/main/assets/www/cordova.js             |   0
 .../app/src/main/assets/www/cordova_plugins.js     |   0
 .../app/src/main/assets/www/fullscreen/index.html  |   0
 .../src/main/assets/www/htmlnotfound/error.html    |   0
 .../app/src/main/assets/www/iframe/index.html      |   0
 .../app/src/main/assets/www/iframe/index2.html     |   0
 .../app/src/main/assets/www/index.html             |   0
 .../app/src/main/assets/www/lifecycle/index.html   |   0
 .../app/src/main/assets/www/lifecycle/index2.html  |   0
 .../{ => androidx}/app/src/main/assets/www/main.js |   0
 .../app/src/main/assets/www/master.css             |   0
 .../app/src/main/assets/www/whitelist/index.html   |   0
 .../app/src/main/assets/www/whitelist/index2.html  |   0
 .../cordova/unittests/EmbeddedWebViewActivity.java |   2 +-
 .../apache/cordova/unittests/LifeCyclePlugin.java  |   0
 .../apache/cordova/unittests/StandardActivity.java |   0
 .../org/apache/cordova/unittests/TestActivity.java |   0
 .../app/src/main/res/layout/activity_main.xml      |   0
 .../app/src/main/res/mipmap-hdpi/ic_launcher.png   | Bin
 .../app/src/main/res/mipmap-mdpi/ic_launcher.png   | Bin
 .../app/src/main/res/mipmap-xhdpi/ic_launcher.png  | Bin
 .../app/src/main/res/mipmap-xxhdpi/ic_launcher.png | Bin
 .../src/main/res/mipmap-xxxhdpi/ic_launcher.png    | Bin
 .../app/src/main/res/values-w820dp/dimens.xml      |   0
 .../app/src/main/res/values/colors.xml             |   0
 .../app/src/main/res/values/dimens.xml             |   0
 .../app/src/main/res/values/strings.xml            |   0
 .../app/src/main/res/values/styles.xml             |   0
 .../{ => androidx}/app/src/main/res/xml/config.xml |   0
 .../unittests/NativeToJsMessageQueueTest.java      |   0
 test/{ => androidx}/build.gradle                   |   2 +-
 test/{ => androidx}/gradle.properties              |   2 +
 test/{ => androidx}/settings.gradle                |   2 +-
 test/{ => androidx}/wrapper.gradle                 |   2 +-
 test/run_java_unit_tests.js                        |  63 +++++++++++++++------
 103 files changed, 111 insertions(+), 60 deletions(-)

diff --git a/.eslintignore b/.eslintignore
index 0d61c6c..811a23b 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -1,2 +1,3 @@
 bin/templates/project/assets/www/cordova.js
-test/app
+test/android/app
+test/androidx/app
diff --git a/.gitignore b/.gitignore
index a1b3317..4c093a9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -26,9 +26,14 @@ example
 /framework/javadoc-public
 /framework/javadoc-private
 /test/.externalNativeBuild
-/test/gradle
-/test/gradlew
-/test/gradlew.bat
+
+/test/android/gradle
+/test/android/gradlew
+/test/android/gradlew.bat
+/test/androidx/gradle
+/test/androidx/gradlew
+/test/androidx/gradlew.bat
+
 /test/assets/www/.tmp*
 /test/assets/www/cordova.js
 /test/bin
diff --git a/bin/templates/cordova/lib/config/GradlePropertiesParser.js 
b/bin/templates/cordova/lib/config/GradlePropertiesParser.js
index 060da2d..53a9638 100644
--- a/bin/templates/cordova/lib/config/GradlePropertiesParser.js
+++ b/bin/templates/cordova/lib/config/GradlePropertiesParser.js
@@ -34,7 +34,11 @@ class GradlePropertiesParser {
             'org.gradle.daemon': 'true',
 
             // to allow dex in process
-            'org.gradle.jvmargs': '-Xmx2048m'
+            'org.gradle.jvmargs': '-Xmx2048m',
+
+            // Android X
+            'android.useAndroidX': 'true',
+            'android.enableJetifier': 'true'
 
             // Shaves another 100ms, but produces a "try at own risk" warning. 
Not worth it (yet):
             // 'org.gradle.parallel': 'true'
diff --git a/bin/templates/cordova/lib/prepare.js 
b/bin/templates/cordova/lib/prepare.js
index e50278c..a8d120d 100644
--- a/bin/templates/cordova/lib/prepare.js
+++ b/bin/templates/cordova/lib/prepare.js
@@ -45,12 +45,19 @@ module.exports.prepare = function (cordovaProject, options) 
{
     const minSdkVersion = this._config.getPreference('android-minSdkVersion', 
'android');
     const maxSdkVersion = this._config.getPreference('android-maxSdkVersion', 
'android');
     const targetSdkVersion = 
this._config.getPreference('android-targetSdkVersion', 'android');
+    const androidXEnabled = this._config.getPreference('AndroidXEnabled', 
'android');
 
     let gradlePropertiesUserConfig = {};
     if (minSdkVersion) gradlePropertiesUserConfig.cdvMinSdkVersion = 
minSdkVersion;
     if (maxSdkVersion) gradlePropertiesUserConfig.cdvMaxSdkVersion = 
maxSdkVersion;
     if (targetSdkVersion) gradlePropertiesUserConfig.cdvTargetSdkVersion = 
targetSdkVersion;
 
+    // Both 'useAndroidX' and 'enableJetifier' are linked together.
+    if (androidXEnabled) {
+        gradlePropertiesUserConfig['android.useAndroidX'] = androidXEnabled;
+        gradlePropertiesUserConfig['android.enableJetifier'] = androidXEnabled;
+    }
+
     let gradlePropertiesParser = new 
GradlePropertiesParser(this.locations.root);
     gradlePropertiesParser.configure(gradlePropertiesUserConfig);
 
diff --git a/test/README.md b/test/android/README.md
similarity index 100%
copy from test/README.md
copy to test/android/README.md
diff --git a/test/app/.gitignore b/test/android/app/.gitignore
similarity index 100%
copy from test/app/.gitignore
copy to test/android/app/.gitignore
diff --git a/test/app/build.gradle b/test/android/app/build.gradle
similarity index 100%
copy from test/app/build.gradle
copy to test/android/app/build.gradle
diff --git a/test/app/proguard-rules.pro b/test/android/app/proguard-rules.pro
similarity index 100%
copy from test/app/proguard-rules.pro
copy to test/android/app/proguard-rules.pro
diff --git 
a/test/app/src/androidTest/java/org/apache/cordova/unittests/BackButtonMultipageTest.java
 
b/test/android/app/src/androidTest/java/org/apache/cordova/unittests/BackButtonMultipageTest.java
similarity index 100%
copy from 
test/app/src/androidTest/java/org/apache/cordova/unittests/BackButtonMultipageTest.java
copy to 
test/android/app/src/androidTest/java/org/apache/cordova/unittests/BackButtonMultipageTest.java
diff --git 
a/test/app/src/androidTest/java/org/apache/cordova/unittests/EmbeddedWebViewTest.java
 
b/test/android/app/src/androidTest/java/org/apache/cordova/unittests/EmbeddedWebViewTest.java
similarity index 100%
copy from 
test/app/src/androidTest/java/org/apache/cordova/unittests/EmbeddedWebViewTest.java
copy to 
test/android/app/src/androidTest/java/org/apache/cordova/unittests/EmbeddedWebViewTest.java
diff --git 
a/test/app/src/androidTest/java/org/apache/cordova/unittests/ErrorUrlTest.java 
b/test/android/app/src/androidTest/java/org/apache/cordova/unittests/ErrorUrlTest.java
similarity index 100%
copy from 
test/app/src/androidTest/java/org/apache/cordova/unittests/ErrorUrlTest.java
copy to 
test/android/app/src/androidTest/java/org/apache/cordova/unittests/ErrorUrlTest.java
diff --git 
a/test/app/src/androidTest/java/org/apache/cordova/unittests/IFrameTest.java 
b/test/android/app/src/androidTest/java/org/apache/cordova/unittests/IFrameTest.java
similarity index 100%
copy from 
test/app/src/androidTest/java/org/apache/cordova/unittests/IFrameTest.java
copy to 
test/android/app/src/androidTest/java/org/apache/cordova/unittests/IFrameTest.java
diff --git 
a/test/app/src/androidTest/java/org/apache/cordova/unittests/MessageChannelMultipageTest.java
 
b/test/android/app/src/androidTest/java/org/apache/cordova/unittests/MessageChannelMultipageTest.java
similarity index 100%
copy from 
test/app/src/androidTest/java/org/apache/cordova/unittests/MessageChannelMultipageTest.java
copy to 
test/android/app/src/androidTest/java/org/apache/cordova/unittests/MessageChannelMultipageTest.java
diff --git 
a/test/app/src/androidTest/java/org/apache/cordova/unittests/StandardActivityTest.java
 
b/test/android/app/src/androidTest/java/org/apache/cordova/unittests/StandardActivityTest.java
similarity index 100%
copy from 
test/app/src/androidTest/java/org/apache/cordova/unittests/StandardActivityTest.java
copy to 
test/android/app/src/androidTest/java/org/apache/cordova/unittests/StandardActivityTest.java
diff --git a/test/app/src/main/AndroidManifest.xml 
b/test/android/app/src/main/AndroidManifest.xml
similarity index 100%
copy from test/app/src/main/AndroidManifest.xml
copy to test/android/app/src/main/AndroidManifest.xml
diff --git a/test/app/src/main/assets/www/backbuttonmultipage/index.html 
b/test/android/app/src/main/assets/www/backbuttonmultipage/index.html
similarity index 100%
copy from test/app/src/main/assets/www/backbuttonmultipage/index.html
copy to test/android/app/src/main/assets/www/backbuttonmultipage/index.html
diff --git a/test/app/src/main/assets/www/backbuttonmultipage/sample2.html 
b/test/android/app/src/main/assets/www/backbuttonmultipage/sample2.html
similarity index 100%
copy from test/app/src/main/assets/www/backbuttonmultipage/sample2.html
copy to test/android/app/src/main/assets/www/backbuttonmultipage/sample2.html
diff --git a/test/app/src/main/assets/www/backbuttonmultipage/sample3.html 
b/test/android/app/src/main/assets/www/backbuttonmultipage/sample3.html
similarity index 100%
copy from test/app/src/main/assets/www/backbuttonmultipage/sample3.html
copy to test/android/app/src/main/assets/www/backbuttonmultipage/sample3.html
diff --git a/test/app/src/main/assets/www/backgroundcolor/index.html 
b/test/android/app/src/main/assets/www/backgroundcolor/index.html
similarity index 100%
copy from test/app/src/main/assets/www/backgroundcolor/index.html
copy to test/android/app/src/main/assets/www/backgroundcolor/index.html
diff --git a/test/app/src/main/assets/www/cordova.js 
b/test/android/app/src/main/assets/www/cordova.js
similarity index 100%
copy from test/app/src/main/assets/www/cordova.js
copy to test/android/app/src/main/assets/www/cordova.js
diff --git a/test/app/src/main/assets/www/cordova_plugins.js 
b/test/android/app/src/main/assets/www/cordova_plugins.js
similarity index 100%
copy from test/app/src/main/assets/www/cordova_plugins.js
copy to test/android/app/src/main/assets/www/cordova_plugins.js
diff --git a/test/app/src/main/assets/www/fullscreen/index.html 
b/test/android/app/src/main/assets/www/fullscreen/index.html
similarity index 100%
copy from test/app/src/main/assets/www/fullscreen/index.html
copy to test/android/app/src/main/assets/www/fullscreen/index.html
diff --git a/test/app/src/main/assets/www/htmlnotfound/error.html 
b/test/android/app/src/main/assets/www/htmlnotfound/error.html
similarity index 100%
copy from test/app/src/main/assets/www/htmlnotfound/error.html
copy to test/android/app/src/main/assets/www/htmlnotfound/error.html
diff --git a/test/app/src/main/assets/www/iframe/index.html 
b/test/android/app/src/main/assets/www/iframe/index.html
similarity index 100%
copy from test/app/src/main/assets/www/iframe/index.html
copy to test/android/app/src/main/assets/www/iframe/index.html
diff --git a/test/app/src/main/assets/www/iframe/index2.html 
b/test/android/app/src/main/assets/www/iframe/index2.html
similarity index 100%
copy from test/app/src/main/assets/www/iframe/index2.html
copy to test/android/app/src/main/assets/www/iframe/index2.html
diff --git a/test/app/src/main/assets/www/index.html 
b/test/android/app/src/main/assets/www/index.html
similarity index 100%
copy from test/app/src/main/assets/www/index.html
copy to test/android/app/src/main/assets/www/index.html
diff --git a/test/app/src/main/assets/www/lifecycle/index.html 
b/test/android/app/src/main/assets/www/lifecycle/index.html
similarity index 100%
copy from test/app/src/main/assets/www/lifecycle/index.html
copy to test/android/app/src/main/assets/www/lifecycle/index.html
diff --git a/test/app/src/main/assets/www/lifecycle/index2.html 
b/test/android/app/src/main/assets/www/lifecycle/index2.html
similarity index 100%
copy from test/app/src/main/assets/www/lifecycle/index2.html
copy to test/android/app/src/main/assets/www/lifecycle/index2.html
diff --git a/test/app/src/main/assets/www/main.js 
b/test/android/app/src/main/assets/www/main.js
similarity index 100%
copy from test/app/src/main/assets/www/main.js
copy to test/android/app/src/main/assets/www/main.js
diff --git a/test/app/src/main/assets/www/master.css 
b/test/android/app/src/main/assets/www/master.css
similarity index 100%
copy from test/app/src/main/assets/www/master.css
copy to test/android/app/src/main/assets/www/master.css
diff --git a/test/app/src/main/assets/www/whitelist/index.html 
b/test/android/app/src/main/assets/www/whitelist/index.html
similarity index 100%
copy from test/app/src/main/assets/www/whitelist/index.html
copy to test/android/app/src/main/assets/www/whitelist/index.html
diff --git a/test/app/src/main/assets/www/whitelist/index2.html 
b/test/android/app/src/main/assets/www/whitelist/index2.html
similarity index 100%
copy from test/app/src/main/assets/www/whitelist/index2.html
copy to test/android/app/src/main/assets/www/whitelist/index2.html
diff --git 
a/test/app/src/main/java/org/apache/cordova/unittests/EmbeddedWebViewActivity.java
 
b/test/android/app/src/main/java/org/apache/cordova/unittests/EmbeddedWebViewActivity.java
similarity index 100%
copy from 
test/app/src/main/java/org/apache/cordova/unittests/EmbeddedWebViewActivity.java
copy to 
test/android/app/src/main/java/org/apache/cordova/unittests/EmbeddedWebViewActivity.java
diff --git 
a/test/app/src/main/java/org/apache/cordova/unittests/LifeCyclePlugin.java 
b/test/android/app/src/main/java/org/apache/cordova/unittests/LifeCyclePlugin.java
similarity index 100%
copy from 
test/app/src/main/java/org/apache/cordova/unittests/LifeCyclePlugin.java
copy to 
test/android/app/src/main/java/org/apache/cordova/unittests/LifeCyclePlugin.java
diff --git 
a/test/app/src/main/java/org/apache/cordova/unittests/StandardActivity.java 
b/test/android/app/src/main/java/org/apache/cordova/unittests/StandardActivity.java
similarity index 100%
copy from 
test/app/src/main/java/org/apache/cordova/unittests/StandardActivity.java
copy to 
test/android/app/src/main/java/org/apache/cordova/unittests/StandardActivity.java
diff --git 
a/test/app/src/main/java/org/apache/cordova/unittests/TestActivity.java 
b/test/android/app/src/main/java/org/apache/cordova/unittests/TestActivity.java
similarity index 100%
copy from test/app/src/main/java/org/apache/cordova/unittests/TestActivity.java
copy to 
test/android/app/src/main/java/org/apache/cordova/unittests/TestActivity.java
diff --git a/test/app/src/main/res/layout/activity_main.xml 
b/test/android/app/src/main/res/layout/activity_main.xml
similarity index 100%
copy from test/app/src/main/res/layout/activity_main.xml
copy to test/android/app/src/main/res/layout/activity_main.xml
diff --git a/test/app/src/main/res/mipmap-hdpi/ic_launcher.png 
b/test/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
similarity index 100%
copy from test/app/src/main/res/mipmap-hdpi/ic_launcher.png
copy to test/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
diff --git a/test/app/src/main/res/mipmap-mdpi/ic_launcher.png 
b/test/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
similarity index 100%
copy from test/app/src/main/res/mipmap-mdpi/ic_launcher.png
copy to test/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
diff --git a/test/app/src/main/res/mipmap-xhdpi/ic_launcher.png 
b/test/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
similarity index 100%
copy from test/app/src/main/res/mipmap-xhdpi/ic_launcher.png
copy to test/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
diff --git a/test/app/src/main/res/mipmap-xxhdpi/ic_launcher.png 
b/test/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
similarity index 100%
copy from test/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
copy to test/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
diff --git a/test/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png 
b/test/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
similarity index 100%
copy from test/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
copy to test/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
diff --git a/test/app/src/main/res/values-w820dp/dimens.xml 
b/test/android/app/src/main/res/values-w820dp/dimens.xml
similarity index 100%
copy from test/app/src/main/res/values-w820dp/dimens.xml
copy to test/android/app/src/main/res/values-w820dp/dimens.xml
diff --git a/test/app/src/main/res/values/colors.xml 
b/test/android/app/src/main/res/values/colors.xml
similarity index 100%
copy from test/app/src/main/res/values/colors.xml
copy to test/android/app/src/main/res/values/colors.xml
diff --git a/test/app/src/main/res/values/dimens.xml 
b/test/android/app/src/main/res/values/dimens.xml
similarity index 100%
copy from test/app/src/main/res/values/dimens.xml
copy to test/android/app/src/main/res/values/dimens.xml
diff --git a/test/app/src/main/res/values/strings.xml 
b/test/android/app/src/main/res/values/strings.xml
similarity index 100%
copy from test/app/src/main/res/values/strings.xml
copy to test/android/app/src/main/res/values/strings.xml
diff --git a/test/app/src/main/res/values/styles.xml 
b/test/android/app/src/main/res/values/styles.xml
similarity index 100%
copy from test/app/src/main/res/values/styles.xml
copy to test/android/app/src/main/res/values/styles.xml
diff --git a/test/app/src/main/res/xml/config.xml 
b/test/android/app/src/main/res/xml/config.xml
similarity index 100%
copy from test/app/src/main/res/xml/config.xml
copy to test/android/app/src/main/res/xml/config.xml
diff --git 
a/test/app/src/test/java/org/apache/cordova/unittests/NativeToJsMessageQueueTest.java
 
b/test/android/app/src/test/java/org/apache/cordova/unittests/NativeToJsMessageQueueTest.java
similarity index 100%
copy from 
test/app/src/test/java/org/apache/cordova/unittests/NativeToJsMessageQueueTest.java
copy to 
test/android/app/src/test/java/org/apache/cordova/unittests/NativeToJsMessageQueueTest.java
diff --git a/test/build.gradle b/test/android/build.gradle
similarity index 100%
copy from test/build.gradle
copy to test/android/build.gradle
diff --git a/test/gradle.properties b/test/android/gradle.properties
similarity index 100%
copy from test/gradle.properties
copy to test/android/gradle.properties
diff --git a/test/settings.gradle b/test/android/settings.gradle
similarity index 92%
copy from test/settings.gradle
copy to test/android/settings.gradle
index 5236022..ac3d9eb 100644
--- a/test/settings.gradle
+++ b/test/android/settings.gradle
@@ -18,4 +18,4 @@
 
 include ':app'
 include ":CordovaLib"
-project(':CordovaLib').projectDir = new File('../framework')
+project(':CordovaLib').projectDir = new File('../../framework')
diff --git a/test/wrapper.gradle b/test/android/wrapper.gradle
similarity index 100%
copy from test/wrapper.gradle
copy to test/android/wrapper.gradle
diff --git a/test/README.md b/test/androidx/README.md
similarity index 100%
rename from test/README.md
rename to test/androidx/README.md
diff --git a/test/app/.gitignore b/test/androidx/app/.gitignore
similarity index 100%
rename from test/app/.gitignore
rename to test/androidx/app/.gitignore
diff --git a/test/app/build.gradle b/test/androidx/app/build.gradle
similarity index 72%
rename from test/app/build.gradle
rename to test/androidx/app/build.gradle
index 33eb937..0864212 100644
--- a/test/app/build.gradle
+++ b/test/androidx/app/build.gradle
@@ -28,7 +28,7 @@ android {
         targetSdkVersion 29
         versionCode 1
         versionName "1.0"
-        testInstrumentationRunner 
"android.support.test.runner.AndroidJUnitRunner"
+        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
     }
 
     buildTypes {
@@ -40,15 +40,18 @@ android {
 }
 
 dependencies {
-    implementation fileTree(include: ['*.jar'], dir: 'libs')
+    implementation fileTree(dir: 'libs', include: ['*.jar'])
     implementation project(path: ':CordovaLib')
-    
androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2',
 {
-        exclude group: 'com.android.support', module: 'support-annotations'
+    implementation 'androidx.appcompat:appcompat:1.0.2'
+
+    testImplementation 'org.json:json:20140107'
+    testImplementation 'junit:junit:4.12'
+
+    androidTestImplementation('androidx.test.espresso:espresso-core:3.1.1', {
+        exclude group: 'androidx.test.espresso', module: 'androidx.annotation'
     })
-    
androidTestImplementation('com.android.support.test.espresso:espresso-web:2.2.2',
 {
-        exclude group: 'com.android.support', module: 'support-annotations'
+
+    androidTestImplementation('androidx.test.espresso:espresso-web:3.1.1', {
+        exclude group: 'androidx.test.espresso', module: 'androidx.annotation'
     })
-    implementation 'com.android.support:appcompat-v7:26.1.0'
-    testImplementation 'junit:junit:4.12'
-    testImplementation 'org.json:json:20140107'
 }
diff --git a/test/app/proguard-rules.pro b/test/androidx/app/proguard-rules.pro
similarity index 100%
rename from test/app/proguard-rules.pro
rename to test/androidx/app/proguard-rules.pro
diff --git 
a/test/app/src/androidTest/java/org/apache/cordova/unittests/BackButtonMultipageTest.java
 
b/test/androidx/app/src/androidTest/java/org/apache/cordova/unittests/BackButtonMultipageTest.java
similarity index 94%
rename from 
test/app/src/androidTest/java/org/apache/cordova/unittests/BackButtonMultipageTest.java
rename to 
test/androidx/app/src/androidTest/java/org/apache/cordova/unittests/BackButtonMultipageTest.java
index c50c221..5118c26 100644
--- 
a/test/app/src/androidTest/java/org/apache/cordova/unittests/BackButtonMultipageTest.java
+++ 
b/test/androidx/app/src/androidTest/java/org/apache/cordova/unittests/BackButtonMultipageTest.java
@@ -20,8 +20,8 @@
 package org.apache.cordova.unittests;
 
 import android.content.Intent;
-import android.support.test.rule.ActivityTestRule;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.rule.ActivityTestRule;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.apache.cordova.CordovaWebView;
 import org.junit.Before;
@@ -29,10 +29,10 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
-import static android.support.test.espresso.Espresso.onView;
-import static android.support.test.espresso.action.ViewActions.pressBack;
-import static android.support.test.espresso.matcher.ViewMatchers.withId;
-import static android.support.test.espresso.web.sugar.Web.onWebView;
+import static androidx.test.espresso.Espresso.onView;
+import static androidx.test.espresso.action.ViewActions.pressBack;
+import static androidx.test.espresso.matcher.ViewMatchers.withId;
+import static androidx.test.espresso.web.sugar.Web.onWebView;
 import static junit.framework.Assert.assertEquals;
 import static junit.framework.Assert.assertFalse;
 import static junit.framework.Assert.assertTrue;
diff --git 
a/test/app/src/androidTest/java/org/apache/cordova/unittests/EmbeddedWebViewTest.java
 
b/test/androidx/app/src/androidTest/java/org/apache/cordova/unittests/EmbeddedWebViewTest.java
similarity index 94%
rename from 
test/app/src/androidTest/java/org/apache/cordova/unittests/EmbeddedWebViewTest.java
rename to 
test/androidx/app/src/androidTest/java/org/apache/cordova/unittests/EmbeddedWebViewTest.java
index 0793377..03c0161 100644
--- 
a/test/app/src/androidTest/java/org/apache/cordova/unittests/EmbeddedWebViewTest.java
+++ 
b/test/androidx/app/src/androidTest/java/org/apache/cordova/unittests/EmbeddedWebViewTest.java
@@ -19,8 +19,8 @@
 
 package org.apache.cordova.unittests;
 
-import android.support.test.rule.ActivityTestRule;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.rule.ActivityTestRule;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.Rule;
 import org.junit.Test;
diff --git 
a/test/app/src/androidTest/java/org/apache/cordova/unittests/ErrorUrlTest.java 
b/test/androidx/app/src/androidTest/java/org/apache/cordova/unittests/ErrorUrlTest.java
similarity index 96%
rename from 
test/app/src/androidTest/java/org/apache/cordova/unittests/ErrorUrlTest.java
rename to 
test/androidx/app/src/androidTest/java/org/apache/cordova/unittests/ErrorUrlTest.java
index 7300d7c..e1d160e 100644
--- 
a/test/app/src/androidTest/java/org/apache/cordova/unittests/ErrorUrlTest.java
+++ 
b/test/androidx/app/src/androidTest/java/org/apache/cordova/unittests/ErrorUrlTest.java
@@ -21,8 +21,8 @@
 package org.apache.cordova.unittests;
 
 import android.content.Intent;
-import android.support.test.rule.ActivityTestRule;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.rule.ActivityTestRule;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.apache.cordova.CordovaWebView;
 import org.junit.Before;
diff --git 
a/test/app/src/androidTest/java/org/apache/cordova/unittests/IFrameTest.java 
b/test/androidx/app/src/androidTest/java/org/apache/cordova/unittests/IFrameTest.java
similarity index 84%
rename from 
test/app/src/androidTest/java/org/apache/cordova/unittests/IFrameTest.java
rename to 
test/androidx/app/src/androidTest/java/org/apache/cordova/unittests/IFrameTest.java
index f3f66d7..3e5d66e 100644
--- a/test/app/src/androidTest/java/org/apache/cordova/unittests/IFrameTest.java
+++ 
b/test/androidx/app/src/androidTest/java/org/apache/cordova/unittests/IFrameTest.java
@@ -21,9 +21,9 @@
 package org.apache.cordova.unittests;
 
 import android.content.Intent;
-import android.support.test.espresso.web.webdriver.Locator;
-import android.support.test.rule.ActivityTestRule;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.espresso.web.webdriver.Locator;
+import androidx.test.rule.ActivityTestRule;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.apache.cordova.CordovaWebView;
 import org.junit.Before;
@@ -31,13 +31,13 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
-import static android.support.test.espresso.Espresso.onView;
-import static android.support.test.espresso.action.ViewActions.click;
-import static android.support.test.espresso.action.ViewActions.pressBack;
-import static android.support.test.espresso.matcher.ViewMatchers.withId;
-import static android.support.test.espresso.web.sugar.Web.onWebView;
-import static 
android.support.test.espresso.web.webdriver.DriverAtoms.findElement;
-import static android.support.test.espresso.web.webdriver.DriverAtoms.webClick;
+import static androidx.test.espresso.Espresso.onView;
+import static androidx.test.espresso.action.ViewActions.click;
+import static androidx.test.espresso.action.ViewActions.pressBack;
+import static androidx.test.espresso.matcher.ViewMatchers.withId;
+import static androidx.test.espresso.web.sugar.Web.onWebView;
+import static androidx.test.espresso.web.webdriver.DriverAtoms.findElement;
+import static androidx.test.espresso.web.webdriver.DriverAtoms.webClick;
 import static junit.framework.Assert.assertEquals;
 import static junit.framework.Assert.assertFalse;
 import static junit.framework.Assert.assertTrue;
diff --git 
a/test/app/src/androidTest/java/org/apache/cordova/unittests/MessageChannelMultipageTest.java
 
b/test/androidx/app/src/androidTest/java/org/apache/cordova/unittests/MessageChannelMultipageTest.java
similarity index 98%
rename from 
test/app/src/androidTest/java/org/apache/cordova/unittests/MessageChannelMultipageTest.java
rename to 
test/androidx/app/src/androidTest/java/org/apache/cordova/unittests/MessageChannelMultipageTest.java
index 6597156..2958add 100644
--- 
a/test/app/src/androidTest/java/org/apache/cordova/unittests/MessageChannelMultipageTest.java
+++ 
b/test/androidx/app/src/androidTest/java/org/apache/cordova/unittests/MessageChannelMultipageTest.java
@@ -20,8 +20,8 @@
 package org.apache.cordova.unittests;
 
 import android.content.Intent;
-import android.support.test.rule.ActivityTestRule;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.rule.ActivityTestRule;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.apache.cordova.CallbackContext;
 import org.apache.cordova.CordovaWebView;
diff --git 
a/test/app/src/androidTest/java/org/apache/cordova/unittests/StandardActivityTest.java
 
b/test/androidx/app/src/androidTest/java/org/apache/cordova/unittests/StandardActivityTest.java
similarity index 97%
rename from 
test/app/src/androidTest/java/org/apache/cordova/unittests/StandardActivityTest.java
rename to 
test/androidx/app/src/androidTest/java/org/apache/cordova/unittests/StandardActivityTest.java
index f7162d5..e0b4de0 100644
--- 
a/test/app/src/androidTest/java/org/apache/cordova/unittests/StandardActivityTest.java
+++ 
b/test/androidx/app/src/androidTest/java/org/apache/cordova/unittests/StandardActivityTest.java
@@ -21,8 +21,8 @@ package org.apache.cordova.unittests;
 
 import android.content.Intent;
 import android.graphics.Color;
-import android.support.test.rule.ActivityTestRule;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.rule.ActivityTestRule;
+import androidx.test.runner.AndroidJUnit4;
 import android.view.View;
 import android.widget.LinearLayout;
 
diff --git a/test/app/src/main/AndroidManifest.xml 
b/test/androidx/app/src/main/AndroidManifest.xml
similarity index 100%
rename from test/app/src/main/AndroidManifest.xml
rename to test/androidx/app/src/main/AndroidManifest.xml
diff --git a/test/app/src/main/assets/www/backbuttonmultipage/index.html 
b/test/androidx/app/src/main/assets/www/backbuttonmultipage/index.html
similarity index 100%
rename from test/app/src/main/assets/www/backbuttonmultipage/index.html
rename to test/androidx/app/src/main/assets/www/backbuttonmultipage/index.html
diff --git a/test/app/src/main/assets/www/backbuttonmultipage/sample2.html 
b/test/androidx/app/src/main/assets/www/backbuttonmultipage/sample2.html
similarity index 100%
rename from test/app/src/main/assets/www/backbuttonmultipage/sample2.html
rename to test/androidx/app/src/main/assets/www/backbuttonmultipage/sample2.html
diff --git a/test/app/src/main/assets/www/backbuttonmultipage/sample3.html 
b/test/androidx/app/src/main/assets/www/backbuttonmultipage/sample3.html
similarity index 100%
rename from test/app/src/main/assets/www/backbuttonmultipage/sample3.html
rename to test/androidx/app/src/main/assets/www/backbuttonmultipage/sample3.html
diff --git a/test/app/src/main/assets/www/backgroundcolor/index.html 
b/test/androidx/app/src/main/assets/www/backgroundcolor/index.html
similarity index 100%
rename from test/app/src/main/assets/www/backgroundcolor/index.html
rename to test/androidx/app/src/main/assets/www/backgroundcolor/index.html
diff --git a/test/app/src/main/assets/www/cordova.js 
b/test/androidx/app/src/main/assets/www/cordova.js
similarity index 100%
rename from test/app/src/main/assets/www/cordova.js
rename to test/androidx/app/src/main/assets/www/cordova.js
diff --git a/test/app/src/main/assets/www/cordova_plugins.js 
b/test/androidx/app/src/main/assets/www/cordova_plugins.js
similarity index 100%
rename from test/app/src/main/assets/www/cordova_plugins.js
rename to test/androidx/app/src/main/assets/www/cordova_plugins.js
diff --git a/test/app/src/main/assets/www/fullscreen/index.html 
b/test/androidx/app/src/main/assets/www/fullscreen/index.html
similarity index 100%
rename from test/app/src/main/assets/www/fullscreen/index.html
rename to test/androidx/app/src/main/assets/www/fullscreen/index.html
diff --git a/test/app/src/main/assets/www/htmlnotfound/error.html 
b/test/androidx/app/src/main/assets/www/htmlnotfound/error.html
similarity index 100%
rename from test/app/src/main/assets/www/htmlnotfound/error.html
rename to test/androidx/app/src/main/assets/www/htmlnotfound/error.html
diff --git a/test/app/src/main/assets/www/iframe/index.html 
b/test/androidx/app/src/main/assets/www/iframe/index.html
similarity index 100%
rename from test/app/src/main/assets/www/iframe/index.html
rename to test/androidx/app/src/main/assets/www/iframe/index.html
diff --git a/test/app/src/main/assets/www/iframe/index2.html 
b/test/androidx/app/src/main/assets/www/iframe/index2.html
similarity index 100%
rename from test/app/src/main/assets/www/iframe/index2.html
rename to test/androidx/app/src/main/assets/www/iframe/index2.html
diff --git a/test/app/src/main/assets/www/index.html 
b/test/androidx/app/src/main/assets/www/index.html
similarity index 100%
rename from test/app/src/main/assets/www/index.html
rename to test/androidx/app/src/main/assets/www/index.html
diff --git a/test/app/src/main/assets/www/lifecycle/index.html 
b/test/androidx/app/src/main/assets/www/lifecycle/index.html
similarity index 100%
rename from test/app/src/main/assets/www/lifecycle/index.html
rename to test/androidx/app/src/main/assets/www/lifecycle/index.html
diff --git a/test/app/src/main/assets/www/lifecycle/index2.html 
b/test/androidx/app/src/main/assets/www/lifecycle/index2.html
similarity index 100%
rename from test/app/src/main/assets/www/lifecycle/index2.html
rename to test/androidx/app/src/main/assets/www/lifecycle/index2.html
diff --git a/test/app/src/main/assets/www/main.js 
b/test/androidx/app/src/main/assets/www/main.js
similarity index 100%
rename from test/app/src/main/assets/www/main.js
rename to test/androidx/app/src/main/assets/www/main.js
diff --git a/test/app/src/main/assets/www/master.css 
b/test/androidx/app/src/main/assets/www/master.css
similarity index 100%
rename from test/app/src/main/assets/www/master.css
rename to test/androidx/app/src/main/assets/www/master.css
diff --git a/test/app/src/main/assets/www/whitelist/index.html 
b/test/androidx/app/src/main/assets/www/whitelist/index.html
similarity index 100%
rename from test/app/src/main/assets/www/whitelist/index.html
rename to test/androidx/app/src/main/assets/www/whitelist/index.html
diff --git a/test/app/src/main/assets/www/whitelist/index2.html 
b/test/androidx/app/src/main/assets/www/whitelist/index2.html
similarity index 100%
rename from test/app/src/main/assets/www/whitelist/index2.html
rename to test/androidx/app/src/main/assets/www/whitelist/index2.html
diff --git 
a/test/app/src/main/java/org/apache/cordova/unittests/EmbeddedWebViewActivity.java
 
b/test/androidx/app/src/main/java/org/apache/cordova/unittests/EmbeddedWebViewActivity.java
similarity index 98%
rename from 
test/app/src/main/java/org/apache/cordova/unittests/EmbeddedWebViewActivity.java
rename to 
test/androidx/app/src/main/java/org/apache/cordova/unittests/EmbeddedWebViewActivity.java
index 2e60ba5..8de739e 100644
--- 
a/test/app/src/main/java/org/apache/cordova/unittests/EmbeddedWebViewActivity.java
+++ 
b/test/androidx/app/src/main/java/org/apache/cordova/unittests/EmbeddedWebViewActivity.java
@@ -20,7 +20,7 @@
 package org.apache.cordova.unittests;
 
 import android.content.Intent;
-import android.support.v7.app.AppCompatActivity;
+import androidx.appcompat.app.AppCompatActivity;
 import android.os.Bundle;
 import android.util.Log;
 
diff --git 
a/test/app/src/main/java/org/apache/cordova/unittests/LifeCyclePlugin.java 
b/test/androidx/app/src/main/java/org/apache/cordova/unittests/LifeCyclePlugin.java
similarity index 100%
rename from 
test/app/src/main/java/org/apache/cordova/unittests/LifeCyclePlugin.java
rename to 
test/androidx/app/src/main/java/org/apache/cordova/unittests/LifeCyclePlugin.java
diff --git 
a/test/app/src/main/java/org/apache/cordova/unittests/StandardActivity.java 
b/test/androidx/app/src/main/java/org/apache/cordova/unittests/StandardActivity.java
similarity index 100%
rename from 
test/app/src/main/java/org/apache/cordova/unittests/StandardActivity.java
rename to 
test/androidx/app/src/main/java/org/apache/cordova/unittests/StandardActivity.java
diff --git 
a/test/app/src/main/java/org/apache/cordova/unittests/TestActivity.java 
b/test/androidx/app/src/main/java/org/apache/cordova/unittests/TestActivity.java
similarity index 100%
rename from 
test/app/src/main/java/org/apache/cordova/unittests/TestActivity.java
rename to 
test/androidx/app/src/main/java/org/apache/cordova/unittests/TestActivity.java
diff --git a/test/app/src/main/res/layout/activity_main.xml 
b/test/androidx/app/src/main/res/layout/activity_main.xml
similarity index 100%
rename from test/app/src/main/res/layout/activity_main.xml
rename to test/androidx/app/src/main/res/layout/activity_main.xml
diff --git a/test/app/src/main/res/mipmap-hdpi/ic_launcher.png 
b/test/androidx/app/src/main/res/mipmap-hdpi/ic_launcher.png
similarity index 100%
rename from test/app/src/main/res/mipmap-hdpi/ic_launcher.png
rename to test/androidx/app/src/main/res/mipmap-hdpi/ic_launcher.png
diff --git a/test/app/src/main/res/mipmap-mdpi/ic_launcher.png 
b/test/androidx/app/src/main/res/mipmap-mdpi/ic_launcher.png
similarity index 100%
rename from test/app/src/main/res/mipmap-mdpi/ic_launcher.png
rename to test/androidx/app/src/main/res/mipmap-mdpi/ic_launcher.png
diff --git a/test/app/src/main/res/mipmap-xhdpi/ic_launcher.png 
b/test/androidx/app/src/main/res/mipmap-xhdpi/ic_launcher.png
similarity index 100%
rename from test/app/src/main/res/mipmap-xhdpi/ic_launcher.png
rename to test/androidx/app/src/main/res/mipmap-xhdpi/ic_launcher.png
diff --git a/test/app/src/main/res/mipmap-xxhdpi/ic_launcher.png 
b/test/androidx/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
similarity index 100%
rename from test/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
rename to test/androidx/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
diff --git a/test/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png 
b/test/androidx/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
similarity index 100%
rename from test/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
rename to test/androidx/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
diff --git a/test/app/src/main/res/values-w820dp/dimens.xml 
b/test/androidx/app/src/main/res/values-w820dp/dimens.xml
similarity index 100%
rename from test/app/src/main/res/values-w820dp/dimens.xml
rename to test/androidx/app/src/main/res/values-w820dp/dimens.xml
diff --git a/test/app/src/main/res/values/colors.xml 
b/test/androidx/app/src/main/res/values/colors.xml
similarity index 100%
rename from test/app/src/main/res/values/colors.xml
rename to test/androidx/app/src/main/res/values/colors.xml
diff --git a/test/app/src/main/res/values/dimens.xml 
b/test/androidx/app/src/main/res/values/dimens.xml
similarity index 100%
rename from test/app/src/main/res/values/dimens.xml
rename to test/androidx/app/src/main/res/values/dimens.xml
diff --git a/test/app/src/main/res/values/strings.xml 
b/test/androidx/app/src/main/res/values/strings.xml
similarity index 100%
rename from test/app/src/main/res/values/strings.xml
rename to test/androidx/app/src/main/res/values/strings.xml
diff --git a/test/app/src/main/res/values/styles.xml 
b/test/androidx/app/src/main/res/values/styles.xml
similarity index 100%
rename from test/app/src/main/res/values/styles.xml
rename to test/androidx/app/src/main/res/values/styles.xml
diff --git a/test/app/src/main/res/xml/config.xml 
b/test/androidx/app/src/main/res/xml/config.xml
similarity index 100%
rename from test/app/src/main/res/xml/config.xml
rename to test/androidx/app/src/main/res/xml/config.xml
diff --git 
a/test/app/src/test/java/org/apache/cordova/unittests/NativeToJsMessageQueueTest.java
 
b/test/androidx/app/src/test/java/org/apache/cordova/unittests/NativeToJsMessageQueueTest.java
similarity index 100%
rename from 
test/app/src/test/java/org/apache/cordova/unittests/NativeToJsMessageQueueTest.java
rename to 
test/androidx/app/src/test/java/org/apache/cordova/unittests/NativeToJsMessageQueueTest.java
diff --git a/test/build.gradle b/test/androidx/build.gradle
similarity index 95%
rename from test/build.gradle
rename to test/androidx/build.gradle
index fbfcb27..c9bf1e7 100644
--- a/test/build.gradle
+++ b/test/androidx/build.gradle
@@ -28,7 +28,7 @@ buildscript {
         // NOTE: Do not place your application dependencies here; they belong
         // in the individual module build.gradle files
 
-        classpath 'com.android.tools.build:gradle:3.5.3'
+        classpath 'com.android.tools.build:gradle:3.3.0'
     }
 }
 
diff --git a/test/gradle.properties b/test/androidx/gradle.properties
similarity index 93%
rename from test/gradle.properties
rename to test/androidx/gradle.properties
index aac7c9b..30d2ba9 100644
--- a/test/gradle.properties
+++ b/test/androidx/gradle.properties
@@ -10,6 +10,8 @@
 # Specifies the JVM arguments used for the daemon process.
 # The setting is particularly useful for tweaking memory settings.
 org.gradle.jvmargs=-Xmx1536m
+android.useAndroidX=true
+android.enableJetifier=true
 
 # When configured, Gradle will run in incubating parallel mode.
 # This option should only be used with decoupled projects. More details, visit
diff --git a/test/settings.gradle b/test/androidx/settings.gradle
similarity index 92%
rename from test/settings.gradle
rename to test/androidx/settings.gradle
index 5236022..ac3d9eb 100644
--- a/test/settings.gradle
+++ b/test/androidx/settings.gradle
@@ -18,4 +18,4 @@
 
 include ':app'
 include ":CordovaLib"
-project(':CordovaLib').projectDir = new File('../framework')
+project(':CordovaLib').projectDir = new File('../../framework')
diff --git a/test/wrapper.gradle b/test/androidx/wrapper.gradle
similarity index 96%
rename from test/wrapper.gradle
rename to test/androidx/wrapper.gradle
index 3980234..5dd3dbc 100644
--- a/test/wrapper.gradle
+++ b/test/androidx/wrapper.gradle
@@ -17,5 +17,5 @@
 */
 
 wrapper {
-    gradleVersion = '6.1'
+    gradleVersion = '4.10.3'
 }
diff --git a/test/run_java_unit_tests.js b/test/run_java_unit_tests.js
index 7e8b9b1..40354b5 100644
--- a/test/run_java_unit_tests.js
+++ b/test/run_java_unit_tests.js
@@ -19,18 +19,55 @@
        under the License.
 */
 
-var path = require('path');
-var execa = require('execa');
-var ProjectBuilder = 
require('../bin/templates/cordova/lib/builders/ProjectBuilder');
+const path = require('path');
+const execa = require('execa');
+const ProjectBuilder = 
require('../bin/templates/cordova/lib/builders/ProjectBuilder');
+
+class AndroidTestRunner {
+    constructor (testTitle, projectDir) {
+        this.testTitle = testTitle;
+        this.projectDir = projectDir;
+        this.gradleWrapper = path.join(this.projectDir, 'gradlew');
+    }
+
+    _gradlew (...args) {
+        return execa(
+            this.gradleWrapper,
+            args,
+            {
+                stdio: 'inherit',
+                cwd: this.projectDir
+            }
+        );
+    }
+
+    _createProjectBuilder () {
+        return new ProjectBuilder(this.projectDir).runGradleWrapper('gradle');
+    }
+
+    run () {
+        return Promise.resolve()
+            .then(_ => console.log(`[${this.testTitle}] Preparing Gradle 
wrapper for Java unit tests.`))
+            .then(_ => this._createProjectBuilder())
+            .then(_ => this._gradlew('--version'))
+            .then(_ => console.log(`[${this.testTitle}] Gradle wrapper is 
ready. Running tests now.`))
+            .then(_ => this._gradlew('test'))
+            .then(_ => console.log(`[${this.testTitle}] Java unit tests 
completed successfully`));
+    }
+}
 
 Promise.resolve()
-    .then(_ => console.log('Preparing Gradle wrapper for Java unit tests.'))
-    .then(_ => new ProjectBuilder(__dirname).runGradleWrapper('gradle'))
-    .then(_ => gradlew('--version'))
+    .then(_ => console.log('Starting to run all android platform tests'))
 
-    .then(_ => console.log('Gradle wrapper is ready. Running tests now.'))
-    .then(_ => gradlew('test'))
-    .then(_ => console.log('Java unit tests completed successfully.'));
+    // Android Test
+    .then(_ => new AndroidTestRunner('Android Project', 
path.resolve(__dirname, 'android')))
+    .then(test => test.run())
+
+    // AndroidX Test
+    .then(_ => new AndroidTestRunner('AndroidX Project', 
path.resolve(__dirname, 'androidx')))
+    .then(test => test.run())
+
+    .then(_ => console.log('Finished running all android platform tests'));
 
 process.on('unhandledRejection', err => {
     // If err has a stderr property, we have seen the message already
@@ -38,11 +75,3 @@ process.on('unhandledRejection', err => {
     console.error('JAVA UNIT TESTS FAILED!');
     process.exitCode = err.code || 1;
 });
-
-function gradlew () {
-    const wrapperPath = path.join(__dirname, 'gradlew');
-    return execa(wrapperPath, Array.from(arguments), {
-        stdio: 'inherit',
-        cwd: __dirname
-    });
-}


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to