Unable to install on API 26
here are a couple stacktraces from the endless retry loop. Works on API 28 though
com.malinskiy.marathon.android.exception.InstallException: Error: java.lang.NullPointerException: Attempt to invoke virtual method 'long android.os.storage.StorageManager.getAllocatableBytes(java.io.File, int)' on a null object reference
at com.malinskiy.marathon.android.AndroidAppInstaller$reinstall$2.invokeSuspend(AndroidAppInstaller.kt:55)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:33)
at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
at kotlinx.coroutines.UndispatchedCoroutine.afterResume(CoroutineContext.kt:142)
at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
com.malinskiy.marathon.exceptions.DeviceSetupException: Error while installing com.example.test on 127.0.0.1:5037:emulator-5578
at com.malinskiy.marathon.android.AndroidAppInstaller$reinstall$2.invokeSuspend(AndroidAppInstaller.kt:59)
at (Coroutine boundary.()
at com.malinskiy.marathon.android.adam.AdamAndroidDevice$prepare$2.invokeSuspend(AdamAndroidDevice.kt:370)
at com.malinskiy.marathon.execution.device.DeviceActor$initialize$2$1.invokeSuspend(DeviceActor.kt:165)
at com.malinskiy.marathon.execution.RetryKt.withRetry(Retry.kt:11)
at com.malinskiy.marathon.execution.device.DeviceActor$initialize$2.invokeSuspend(DeviceActor.kt:162)
Caused by: com.malinskiy.marathon.exceptions.DeviceSetupException: Error while installing com.example.test on 127.0.0.1:5037:emulator-5578
at com.malinskiy.marathon.android.AndroidAppInstaller$reinstall$2.invokeSuspend(AndroidAppInstaller.kt:59)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:33)
at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
at kotlinx.coroutines.UndispatchedCoroutine.afterResume(CoroutineContext.kt:142)
at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: com.malinskiy.marathon.android.exception.InstallException: Timeout transferring /Users/tools/jenkins/workspace/Team/Android/app/pr-pipeline/pipeline/lib-implementation/build/outputs/apk/androidTest/debug/lib-implementation-debug-androidTest.apk
at com.malinskiy.marathon.android.adam.AdamAndroidDevice.installPackage(AdamAndroidDevice.kt:278)
at com.malinskiy.marathon.android.adam.AdamAndroidDevice$installPackage$1.invokeSuspend(AdamAndroidDevice.kt)
... 14 common frames omitted
<D.0.0.1:5037:emulator-5578]> terminate 127.0.0.1:5037:emulator-5578
Exception in thread "DeviceMonitor @coroutine#6" com.malinskiy.adam.exception.RequestRejectedException: Unexpected string length:
at com.malinskiy.adam.extension.SocketKt.readProtocolString(Socket.kt:106)
at com.malinskiy.adam.extension.SocketKt$readProtocolString$1.invokeSuspend(Socket.kt)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Using version 0.7.0
Hi @ZakTaccardi , I just checked sample-app with Marathon 0.7.0 on API 26 and it works.
Device pool omni:
43 passed, 3 failed, 3 ignored tests
Failed tests:
com.example.BeforeTestFailureTest#testThatWillNotSeeTheLightOfDay
com.example.ConsoleActivityTest#testVmState
com.example.MainActivityAllureTest#testFailure
Flakiness overhead: 17766ms
Raw: 43 passed, 16 failed, 3 ignored, 3 incomplete tests
Failed tests:
com.example.BeforeTestFailureTest#testThatWillNotSeeTheLightOfDay failed 1 time(s)
com.example.ConsoleActivityTest#testVmState failed 3 time(s)
com.example.MainActivityAllureTest#testFailure failed 3 time(s)
com.example.MainActivityFlakyTest#testTextFlaky1 failed 1 time(s)
com.example.MainActivityFlakyTest#testTextFlaky2 failed 1 time(s)
com.example.MainActivityFlakyTest#testTextFlaky4 failed 2 time(s)
com.example.MainActivityFlakyTest#testTextFlaky5 failed 2 time(s)
com.example.MainActivityFlakyTest#testTextFlaky7 failed 1 time(s)
com.example.MainActivityFlakyTest#testTextFlaky8 failed 2 time(s)
Incomplete tests:
com.example.BeforeTestFailureTest#testThatWillNotSeeTheLightOfDay incomplete 3 time(s)
Total time: 0H 2m 19s
Please provide more details about device/emulator. Also it would be nice if you confirm this problem on sample-app.
@ZakTaccardi the error that you're seeing at the top of the stack trace is actually Android OS's exception, not marathon's:
Error: java.lang.NullPointerException: Attempt to invoke virtual method 'long android.os.storage.StorageManager.getAllocatableBytes(java.io.File, int)' on a null object reference
This is a device issue here, please investigate why the device can't install your packages.
Please close the issue if there is nothing else here
Closing due to inactivity