From a337f516cdce2882bb2a9661229f92a14d898fe3 Mon Sep 17 00:00:00 2001 From: Ang Li Date: Mon, 28 Jan 2019 17:30:29 -0800 Subject: Migrate to `androidx`. (#101) --- examples/ex2_espresso/build.gradle | 20 ++++++++++---------- .../ex2_espresso/src/androidTest/AndroidManifest.xml | 2 +- .../android/mobly/snippet/example2/EspressoTest.java | 14 +++++++------- .../android/mobly/snippet/example2/MainActivity.java | 2 +- .../mobly/snippet/example2/EspressoSnippet.java | 12 ++++++------ examples/ex4_uiautomator/build.gradle | 6 +++--- .../mobly/snippet/example4/UiAutomatorSnippet.java | 10 +++++----- examples/ex5_schedule_rpc/build.gradle | 2 +- .../snippet/example5/ExampleScheduleRpcSnippet.java | 2 +- gradle.properties | 3 +++ third_party/sl4a/build.gradle | 5 ++--- .../google/android/mobly/snippet/SnippetRunner.java | 9 ++++----- .../android/mobly/snippet/event/EventSnippet.java | 2 +- 13 files changed, 45 insertions(+), 44 deletions(-) diff --git a/examples/ex2_espresso/build.gradle b/examples/ex2_espresso/build.gradle index 47063e6..64dcdc6 100644 --- a/examples/ex2_espresso/build.gradle +++ b/examples/ex2_espresso/build.gradle @@ -1,7 +1,7 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 26 + compileSdkVersion 28 flavorDimensions "examples" defaultConfig { @@ -10,7 +10,7 @@ android { targetSdkVersion 26 versionCode 1 versionName "0.0.1" - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } productFlavors { @@ -31,15 +31,15 @@ android { } dependencies { - implementation 'com.android.support:appcompat-v7:26.1.0' - implementation 'com.android.support.test:runner:1.0.2' + implementation 'androidx.appcompat:appcompat:1.1.0-alpha01' + implementation 'androidx.test:runner:1.1.1' // The androidTest package is not for snippet support; it shows an example // of an instrumentation test coexisting with a snippet in the same // codebase. - androidTestImplementation 'com.android.support:support-annotations:27.1.1' - androidTestImplementation 'com.android.support.test:runner:1.0.2' - androidTestImplementation('com.android.support.test.espresso:espresso-core:3.0.1', { + androidTestImplementation 'androidx.annotation:annotation:1.0.1' + androidTestImplementation 'androidx.test:runner:1.1.1' + androidTestImplementation('androidx.test.espresso:espresso-core:3.1.1', { exclude group: 'com.android.support', module: 'support-annotations' }) @@ -49,7 +49,7 @@ dependencies { //snippetCompile 'com.google.android.mobly:mobly-snippet-lib:1.3.0' snippetImplementation project(':mobly-snippet-lib') - snippetImplementation 'com.android.support:support-annotations:27.1.1' - snippetImplementation 'com.android.support.test:rules:1.0.2' - snippetImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' + snippetImplementation 'androidx.annotation:annotation:1.0.1' + snippetImplementation 'androidx.test:rules:1.1.1' + snippetImplementation 'androidx.test.espresso:espresso-core:3.1.1' } diff --git a/examples/ex2_espresso/src/androidTest/AndroidManifest.xml b/examples/ex2_espresso/src/androidTest/AndroidManifest.xml index eaedb4d..0dc87bc 100644 --- a/examples/ex2_espresso/src/androidTest/AndroidManifest.xml +++ b/examples/ex2_espresso/src/androidTest/AndroidManifest.xml @@ -6,6 +6,6 @@ diff --git a/examples/ex2_espresso/src/androidTest/java/com/google/android/mobly/snippet/example2/EspressoTest.java b/examples/ex2_espresso/src/androidTest/java/com/google/android/mobly/snippet/example2/EspressoTest.java index 770823e..f41374e 100644 --- a/examples/ex2_espresso/src/androidTest/java/com/google/android/mobly/snippet/example2/EspressoTest.java +++ b/examples/ex2_espresso/src/androidTest/java/com/google/android/mobly/snippet/example2/EspressoTest.java @@ -16,18 +16,18 @@ package com.google.android.mobly.snippet.example2; -import android.support.test.espresso.action.ViewActions; -import android.support.test.rule.ActivityTestRule; -import android.support.test.runner.AndroidJUnit4; +import androidx.test.espresso.action.ViewActions; +import androidx.test.rule.ActivityTestRule; +import androidx.test.runner.AndroidJUnit4; 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.assertion.ViewAssertions.matches; -import static android.support.test.espresso.matcher.ViewMatchers.withId; -import static android.support.test.espresso.matcher.ViewMatchers.withText; +import static androidx.test.espresso.Espresso.onView; +import static androidx.test.espresso.assertion.ViewAssertions.matches; +import static androidx.test.espresso.matcher.ViewMatchers.withId; +import static androidx.test.espresso.matcher.ViewMatchers.withText; /** * This test is not part of the snippet code. It's a regular espresso instrumentation test which diff --git a/examples/ex2_espresso/src/main/java/com/google/android/mobly/snippet/example2/MainActivity.java b/examples/ex2_espresso/src/main/java/com/google/android/mobly/snippet/example2/MainActivity.java index 940418a..0cc0b54 100644 --- a/examples/ex2_espresso/src/main/java/com/google/android/mobly/snippet/example2/MainActivity.java +++ b/examples/ex2_espresso/src/main/java/com/google/android/mobly/snippet/example2/MainActivity.java @@ -17,7 +17,7 @@ package com.google.android.mobly.snippet.example2; import java.util.Locale; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; diff --git a/examples/ex2_espresso/src/snippet/java/com/google/android/mobly/snippet/example2/EspressoSnippet.java b/examples/ex2_espresso/src/snippet/java/com/google/android/mobly/snippet/example2/EspressoSnippet.java index b76a892..8ea7c21 100644 --- a/examples/ex2_espresso/src/snippet/java/com/google/android/mobly/snippet/example2/EspressoSnippet.java +++ b/examples/ex2_espresso/src/snippet/java/com/google/android/mobly/snippet/example2/EspressoSnippet.java @@ -16,13 +16,13 @@ package com.google.android.mobly.snippet.example2; -import static android.support.test.espresso.Espresso.onView; -import static android.support.test.espresso.assertion.ViewAssertions.matches; -import static android.support.test.espresso.matcher.ViewMatchers.withId; -import static android.support.test.espresso.matcher.ViewMatchers.withText; +import static androidx.test.espresso.Espresso.onView; +import static androidx.test.espresso.assertion.ViewAssertions.matches; +import static androidx.test.espresso.matcher.ViewMatchers.withId; +import static androidx.test.espresso.matcher.ViewMatchers.withText; -import android.support.test.espresso.action.ViewActions; -import android.support.test.rule.ActivityTestRule; +import androidx.test.espresso.action.ViewActions; +import androidx.test.rule.ActivityTestRule; import com.google.android.mobly.snippet.Snippet; import com.google.android.mobly.snippet.rpc.Rpc; import org.junit.Rule; diff --git a/examples/ex4_uiautomator/build.gradle b/examples/ex4_uiautomator/build.gradle index 47b3526..cd160be 100644 --- a/examples/ex4_uiautomator/build.gradle +++ b/examples/ex4_uiautomator/build.gradle @@ -25,7 +25,7 @@ dependencies { //compile 'com.google.android.mobly:mobly-snippet-lib:1.3.0' implementation project(':mobly-snippet-lib') implementation 'junit:junit:4.12' - implementation 'com.android.support.test:runner:1.0.2' - implementation 'com.android.support:appcompat-v7:26.1.0' - implementation 'com.android.support.test.uiautomator:uiautomator-v18:2.1.3' + implementation 'androidx.test:runner:1.1.1' + implementation 'androidx.appcompat:appcompat:1.1.0-alpha01' + implementation 'androidx.test.uiautomator:uiautomator:2.2.0' } diff --git a/examples/ex4_uiautomator/src/main/java/com/google/android/mobly/snippet/example4/UiAutomatorSnippet.java b/examples/ex4_uiautomator/src/main/java/com/google/android/mobly/snippet/example4/UiAutomatorSnippet.java index d1ae194..288d1bd 100644 --- a/examples/ex4_uiautomator/src/main/java/com/google/android/mobly/snippet/example4/UiAutomatorSnippet.java +++ b/examples/ex4_uiautomator/src/main/java/com/google/android/mobly/snippet/example4/UiAutomatorSnippet.java @@ -20,11 +20,11 @@ import static org.junit.Assert.assertEquals; import android.content.Context; import android.content.Intent; -import android.support.test.InstrumentationRegistry; -import android.support.test.uiautomator.By; -import android.support.test.uiautomator.UiDevice; -import android.support.test.uiautomator.UiObject2; -import android.support.test.uiautomator.Until; +import androidx.test.InstrumentationRegistry; +import androidx.test.uiautomator.By; +import androidx.test.uiautomator.UiDevice; +import androidx.test.uiautomator.UiObject2; +import androidx.test.uiautomator.Until; import com.google.android.mobly.snippet.Snippet; import com.google.android.mobly.snippet.rpc.Rpc; import java.io.ByteArrayOutputStream; diff --git a/examples/ex5_schedule_rpc/build.gradle b/examples/ex5_schedule_rpc/build.gradle index 6424e44..c7426d2 100644 --- a/examples/ex5_schedule_rpc/build.gradle +++ b/examples/ex5_schedule_rpc/build.gradle @@ -23,5 +23,5 @@ dependencies { // this repo. For your own snippets, you'll want to use the regular 'compile' dep instead: // compile 'com.google.android.mobly:mobly-snippet-lib:1.3.0' implementation project(':mobly-snippet-lib') - implementation 'com.android.support.test:runner:1.0.2' + implementation 'androidx.test:runner:1.1.1' } diff --git a/examples/ex5_schedule_rpc/src/main/java/com/google/android/mobly/snippet/example5/ExampleScheduleRpcSnippet.java b/examples/ex5_schedule_rpc/src/main/java/com/google/android/mobly/snippet/example5/ExampleScheduleRpcSnippet.java index a448fe4..a94d68a 100644 --- a/examples/ex5_schedule_rpc/src/main/java/com/google/android/mobly/snippet/example5/ExampleScheduleRpcSnippet.java +++ b/examples/ex5_schedule_rpc/src/main/java/com/google/android/mobly/snippet/example5/ExampleScheduleRpcSnippet.java @@ -18,7 +18,7 @@ package com.google.android.mobly.snippet.example5; import android.content.Context; import android.os.Handler; -import android.support.test.InstrumentationRegistry; +import androidx.test.InstrumentationRegistry; import android.widget.Toast; import com.google.android.mobly.snippet.Snippet; import com.google.android.mobly.snippet.event.EventCache; diff --git a/gradle.properties b/gradle.properties index aac7c9b..6874ee6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,3 +15,6 @@ org.gradle.jvmargs=-Xmx1536m # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # org.gradle.parallel=true + +android.useAndroidX=true +android.enableJetifier=true diff --git a/third_party/sl4a/build.gradle b/third_party/sl4a/build.gradle index d5d4518..ce65002 100644 --- a/third_party/sl4a/build.gradle +++ b/third_party/sl4a/build.gradle @@ -20,12 +20,11 @@ apply plugin: 'com.jfrog.bintray' android { - compileSdkVersion 26 + compileSdkVersion 28 defaultConfig { minSdkVersion 15 targetSdkVersion 22 - // testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" versionCode VERSION_CODE.toInteger() versionName VERSION_NAME @@ -62,7 +61,7 @@ dependencies { // implementation fileTree(include: ['*.jar'], dir: 'libs') // implementation 'com.android.support:appcompat-v7:26.1.0' implementation 'junit:junit:4.12' - implementation 'com.android.support.test:runner:1.0.2' + implementation 'androidx.test:runner:1.1.1' } googleJavaFormat { diff --git a/third_party/sl4a/src/main/java/com/google/android/mobly/snippet/SnippetRunner.java b/third_party/sl4a/src/main/java/com/google/android/mobly/snippet/SnippetRunner.java index ea1d71f..ed83469 100644 --- a/third_party/sl4a/src/main/java/com/google/android/mobly/snippet/SnippetRunner.java +++ b/third_party/sl4a/src/main/java/com/google/android/mobly/snippet/SnippetRunner.java @@ -21,7 +21,7 @@ import android.app.NotificationManager; import android.content.Context; import android.os.Bundle; import android.os.Process; -import android.support.test.runner.AndroidJUnitRunner; +import androidx.test.runner.AndroidJUnitRunner; import com.google.android.mobly.snippet.rpc.AndroidProxy; import com.google.android.mobly.snippet.util.EmptyTestClass; import com.google.android.mobly.snippet.util.Log; @@ -34,10 +34,9 @@ import java.util.Locale; * A launcher that starts the snippet server as an instrumentation so that it has access to the * target app's context. * - *

We have to extend some subclass of {@link android.test.InstrumentationTestRunner} because - * snippets are launched with 'am instrument'. We're specifically extending {@link - * AndroidJUnitRunner} because Espresso requires being called through it, since it sets up {@link - * android.support.test.InstrumentationRegistry} which Espresso requires. + *

We have to extend some subclass of {@link androidx.test.runner.AndroidJUnitRunner} because + * snippets are launched with 'am instrument', and snippet APKs need to access {@link + * androidx.test.platform.app.InstrumentationRegistry}. * *

The launch and communication protocol between snippet and client is versionated and reported * as follows: diff --git a/third_party/sl4a/src/main/java/com/google/android/mobly/snippet/event/EventSnippet.java b/third_party/sl4a/src/main/java/com/google/android/mobly/snippet/event/EventSnippet.java index 05e044c..4cebb74 100644 --- a/third_party/sl4a/src/main/java/com/google/android/mobly/snippet/event/EventSnippet.java +++ b/third_party/sl4a/src/main/java/com/google/android/mobly/snippet/event/EventSnippet.java @@ -16,7 +16,7 @@ package com.google.android.mobly.snippet.event; -import android.support.annotation.Nullable; +import androidx.annotation.Nullable; import com.google.android.mobly.snippet.Snippet; import com.google.android.mobly.snippet.rpc.Rpc; import java.util.ArrayList; -- cgit v1.2.3