diff --git a/example/android/javalib/1-hello-world/build.mill b/example/android/javalib/1-hello-world/build.mill index 3a4bba43b0e..878cd3fc3a4 100644 --- a/example/android/javalib/1-hello-world/build.mill +++ b/example/android/javalib/1-hello-world/build.mill @@ -123,8 +123,8 @@ object app extends AndroidAppModule { > ./mill show app.startAndroidEmulator -> ./mill show app.waitForDevice -...emulator-5554... +> sleep 20 && ./mill show app.adbDevices +...emulator-5554...device... > ./mill show app.it | grep '"OK (1 test)"' ..."OK (1 test)", diff --git a/example/android/kotlinlib/1-hello-kotlin/build.mill b/example/android/kotlinlib/1-hello-kotlin/build.mill index fcbb954b2f5..283ee38953d 100644 --- a/example/android/kotlinlib/1-hello-kotlin/build.mill +++ b/example/android/kotlinlib/1-hello-kotlin/build.mill @@ -119,13 +119,13 @@ object app extends AndroidAppKotlinModule { > ./mill app.createAndroidVirtualDevice -> sleep 60 && ./mill show app.startAndroidEmulator +> ./mill show app.startAndroidEmulator -> ./mill show app.waitForDevice -...emulator-5556... +> sleep 20 && ./mill show app.adbDevices +...emulator-5556...device... > ./mill show app.it | grep '"OK (1 test)"' - ..."OK (1 test)", +..."OK (1 test)", > cat out/app/it/test.json | grep '"OK (1 test)"' ..."OK (1 test)"... diff --git a/scalalib/src/mill/javalib/android/AndroidAppModule.scala b/scalalib/src/mill/javalib/android/AndroidAppModule.scala index 9d2e81d4da1..f3a655d4b2b 100644 --- a/scalalib/src/mill/javalib/android/AndroidAppModule.scala +++ b/scalalib/src/mill/javalib/android/AndroidAppModule.scala @@ -810,7 +810,7 @@ trait AndroidAppModule extends JavaModule { * * @return The log line that indicates the emulator is ready */ - def startAndroidEmulator: T[Option[String]] = Task { + def startAndroidEmulator: T[String] = Task { val ciSettings = Seq( "-no-snapshot-save", "-no-window", @@ -848,7 +848,11 @@ trait AndroidAppModule extends JavaModule { T.log.info(s"Emulator started with message $bootMessage") - bootMessage + bootMessage.get + } + + def adbDevices: T[String] = Task { + os.call((androidSdkModule().adbPath().path, "devices", "-l")).out.text() } def waitForDevice: Target[String] = Task {