swarmer icon indicating copy to clipboard operation
swarmer copied to clipboard

Unsupported os windows 10

Open hram opened this issue 7 years ago • 16 comments

I download latest swarmwr wrom https://jcenter.bintray.com/com/gojuno/swarmer/swarmer/0.2.2/:swarmer-0.2.2.jar and try tu run with command

java -jar swarmer.jar start

as a result I have an error:

Exception in thread "main" java.lang.IllegalStateException: Unsupported os windows 10, only [Lcom.gojuno.commander.os.Os;@19aa4dfd are supported.
        at com.gojuno.commander.os.ProcessesKt.os(Processes.kt:133)
        at com.gojuno.commander.os.ProcessesKt.access$os(Processes.kt:1)
        at com.gojuno.commander.os.ProcessesKt$process$1.call(Processes.kt:54)
        at com.gojuno.commander.os.ProcessesKt$process$1.call(Processes.kt)
        at rx.internal.operators.OnSubscribeCreate.call(OnSubscribeCreate.java:72)
        at rx.internal.operators.OnSubscribeCreate.call(OnSubscribeCreate.java:32)
        at rx.Observable.unsafeSubscribe(Observable.java:10346)
        at rx.internal.operators.OperatorSubscribeOn$SubscribeOnSubscriber.call(OperatorSubscribeOn.java:100)
        at rx.internal.schedulers.CachedThreadScheduler$EventLoopWorker$1.call(CachedThreadScheduler.java:230)
        at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55)
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
        at java.util.concurrent.FutureTask.run(Unknown Source)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

hram avatar May 10 '18 14:05 hram

Hey, thanks for report, totally forgot to update https://github.com/gojuno/commander version here with windows support.

yunikkk avatar May 10 '18 21:05 yunikkk

@yunikkk but what can I do with comnander? I have only single java file.

hram avatar May 11 '18 05:05 hram

Ah, sorry for confusion, commander is other library used by swarmer and its version is too old here. So PR is needed here with commander update. Will do it later today.

yunikkk avatar May 11 '18 08:05 yunikkk

Any progress here, guys? Can't run it on any version of Windows.

shuhart avatar May 14 '18 05:05 shuhart

Yeah, PR in progress, some issues with tests though

yunikkk avatar May 14 '18 08:05 yunikkk

Hey guys, try 0.2.3 version I've just published, should work on windows.

yunikkk avatar May 14 '18 22:05 yunikkk

now is running but i don't know what to do next if I try to run with this parameters

java -jar swarmer.jar start --emulator-name test_emulator_1 --package "system-images;android-27;google_apis;x86" --android-abi google_apis/x86_64 --path-to-config-ini emulator_config.ini --emulator-start-options -prop persist.sys.language=en -prop persist.sys.country=US --redirect-logcat-to test_emulator_1_logcat.txt

i have an error

[Tue May 15 09:55:31 MSK 2018]: runningEmulators: retrying java.lang.IllegalStateException: Adb output is not correct: .. [Tue May 15 09:55:31 MSK 2018]: runningEmulators: retrying java.lang.IllegalStateException: Adb output is not correct: .. [Tue May 15 09:55:32 MSK 2018]: runningEmulators: retrying java.lang.IllegalStateException: Adb output is not correct: .. [Tue May 15 09:55:32 MSK 2018]: runningEmulators: retrying java.lang.IllegalStateException: Adb output is not correct: .. [Tue May 15 09:55:32 MSK 2018]: Error during getting connectedAdbDevices, error = java.lang.IllegalStateException: Adb output is not correct: . Exception in thread "main" java.lang.IllegalStateException: Adb output is not correct: . at com.gojuno.commander.android.AdbKt$connectedAdbDevices$2.call(Adb.kt:39) at com.gojuno.commander.android.AdbKt$connectedAdbDevices$2.call(Adb.kt) at rx.internal.operators.OnSubscribeMap$MapSubscriber.onNext(OnSubscribeMap.java:69) at rx.internal.operators.OnSubscribeMap$MapSubscriber.onNext(OnSubscribeMap.java:77) at rx.internal.operators.OperatorCast$CastSubscriber.onNext(OperatorCast.java:69) at rx.internal.operators.OnSubscribeFilter$FilterSubscriber.onNext(OnSubscribeFilter.java:76) at rx.internal.operators.OperatorObserveOn$ObserveOnSubscriber.call(OperatorObserveOn.java:224) at rx.internal.schedulers.CachedThreadScheduler$EventLoopWorker$1.call(CachedThreadScheduler.java:230) at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: rx.exceptions.OnErrorThrowable$OnNextValue: OnError while emitting onNext value: at rx.exceptions.OnErrorThrowable.addValueAsLastCause(OnErrorThrowable.java:118) at rx.internal.operators.OnSubscribeMap$MapSubscriber.onNext(OnSubscribeMap.java:73) ... 13 more

hram avatar May 15 '18 06:05 hram

@yunikkk can I open new issue?

hram avatar May 15 '18 07:05 hram

@hram lets continue here since its basically the same issue. I've digged commander sources once again and seems like a bug there for windows with output redirection.

yunikkk avatar May 15 '18 21:05 yunikkk

https://github.com/gojuno/commander/pull/18

yunikkk avatar May 15 '18 21:05 yunikkk

@yunikkk have you any news for this bug?

hram avatar May 22 '18 14:05 hram

@hram should arrive in #39

yunikkk avatar May 22 '18 20:05 yunikkk

@yunikkk now I have new error

> d:\swarmer>java -jar swarmer-0.2.4.jar start --emulator-name test_emulator_1 --package "system-images;android-27;google_apis;x86" --android-abi google_apis/x86 --path-to-config-ini emulator_config.ini
> [Wed May 23 11:43:46 MSK 2018]: Already running emulators: []
> [Wed May 23 11:43:46 MSK 2018]: Creating avd test_emulator_1.
> [Wed May 23 11:43:46 MSK 2018]: Error during creation of avd test_emulator_1, error = rx.exceptions.CompositeException: 1 exceptions occurred.
> [Wed May 23 11:43:46 MSK 2018]: Error during creation of avd test_emulator_1, error = rx.exceptions.CompositeException: 1 exceptions occurred.
> [Wed May 23 11:43:46 MSK 2018]: Error during creation of avd test_emulator_1, error = rx.exceptions.CompositeException: 1 exceptions occurred.
> [Wed May 23 11:43:46 MSK 2018]: Error during creation of avd test_emulator_1, error = rx.exceptions.CompositeException: 1 exceptions occurred.
> [Wed May 23 11:43:46 MSK 2018]: Could not create avd test_emulator_1, error = rx.exceptions.CompositeException: 1 exceptions occurred.
> Exception in thread "main" rx.exceptions.CompositeException: 1 exceptions occurred.
>         at rx.internal.operators.OperatorMerge$MergeSubscriber.reportError(OperatorMerge.java:268)
>         at rx.internal.operators.OperatorMerge$MergeSubscriber.checkTerminate(OperatorMerge.java:818)
>         at rx.internal.operators.OperatorMerge$MergeSubscriber.emitLoop(OperatorMerge.java:579)
>         at rx.internal.operators.OperatorMerge$MergeSubscriber.emit(OperatorMerge.java:568)
>         at rx.internal.operators.OperatorMerge$InnerSubscriber.onError(OperatorMerge.java:855)
>         at rx.internal.operators.OnSubscribeRefCount$2.onError(OnSubscribeRefCount.java:116)
>         at rx.internal.operators.OperatorPublish$PublishSubscriber.checkTerminated(OperatorPublish.java:443)
>         at rx.internal.operators.OperatorPublish$PublishSubscriber.dispatch(OperatorPublish.java:505)
>         at rx.internal.operators.OperatorPublish$PublishSubscriber.onError(OperatorPublish.java:294)
>         at rx.internal.operators.OperatorObserveOn$ObserveOnSubscriber.checkTerminated(OperatorObserveOn.java:273)
>         at rx.internal.operators.OperatorObserveOn$ObserveOnSubscriber.call(OperatorObserveOn.java:216)
>         at rx.internal.schedulers.CachedThreadScheduler$EventLoopWorker$1.call(CachedThreadScheduler.java:230)
>         at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55)
>         at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
>         at java.util.concurrent.FutureTask.run(Unknown Source)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)
>         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
>         at java.lang.Thread.run(Unknown Source)
>   ComposedException 1 :
>         java.io.IOException: Cannot run program "C:\Users\my_user_name\AppData\Local\Android\Sdk/tools/bin/avdmanager": CreateProcess error=2, Не удается найти указанный файл
>                 at java.lang.ProcessBuilder.start(Unknown Source)
>                 at com.gojuno.commander.os.ProcessesKt$process$1.call(Processes.kt:73)
>                 at com.gojuno.commander.os.ProcessesKt$process$1.call(Processes.kt)
>                 at rx.internal.operators.OnSubscribeCreate.call(OnSubscribeCreate.java:72)
>                 at rx.internal.operators.OnSubscribeCreate.call(OnSubscribeCreate.java:32)
>                 at rx.Observable.unsafeSubscribe(Observable.java:10327)
>                 at rx.internal.operators.OperatorSubscribeOn$SubscribeOnSubscriber.call(OperatorSubscribeOn.java:100)
>                 at rx.internal.schedulers.CachedThreadScheduler$EventLoopWorker$1.call(CachedThreadScheduler.java:230)
>                 at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55)
>                 at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
>                 at java.util.concurrent.FutureTask.run(Unknown Source)
>                 at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)
>                 at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
>                 at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
>                 at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
>                 at java.lang.Thread.run(Unknown Source)
>         Caused by: java.io.IOException: CreateProcess error=2, Не удается найти указанный файл
>                 at java.lang.ProcessImpl.create(Native Method)
>                 at java.lang.ProcessImpl.<init>(Unknown Source)
>                 at java.lang.ProcessImpl.start(Unknown Source)
>                 at java.lang.ProcessBuilder.start(Unknown Source)
>                 at com.gojuno.commander.os.ProcessesKt$process$1.call(Processes.kt:73)
>                 at com.gojuno.commander.os.ProcessesKt$process$1.call(Processes.kt)
>                 at rx.internal.operators.OnSubscribeCreate.call(OnSubscribeCreate.java:72)
>                 at rx.internal.operators.OnSubscribeCreate.call(OnSubscribeCreate.java:32)
>                 at rx.Observable.unsafeSubscribe(Observable.java:10327)
>                 at rx.internal.operators.OperatorSubscribeOn$SubscribeOnSubscriber.call(OperatorSubscribeOn.java:100)
>                 at rx.internal.schedulers.CachedThreadScheduler$EventLoopWorker$1.call(CachedThreadScheduler.java:230)
>                 at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55)
>                 at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
>                 at java.util.concurrent.FutureTask.run(Unknown Source)
>                 at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)
>                 at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
>                 at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
>                 at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
>                 at java.lang.Thread.run(Unknown Source)

hram avatar May 23 '18 08:05 hram

Ahhh, sorry, now its hardcoded unix separator and path. I guess I'll try to find Windows machine to make it work finally.

yunikkk avatar May 23 '18 09:05 yunikkk

@yunikkk we just need to update separator to File.separator

Or use more sophisticated FileSystem.getSeparator to support different file systems dynamically instead of depending on OS

artem-zinnatullin avatar May 23 '18 09:05 artem-zinnatullin

@artem-zinnatullin yeah, but also fix at least https://github.com/gojuno/swarmer/blob/cbeb41e713af4d44ba702304659abbb398c94089/swarmer/src/main/kotlin/com/gojuno/swarmer/Emulators.kt#L105 lol

yunikkk avatar May 23 '18 10:05 yunikkk