Android Enthusiasts Asked by Marvin S. on December 4, 2021
When starting an Android emulator (SDK 24.4.1) on linux by command line you should be able to get a root shell by using the -shell
command line option. At least that’s what the manual says
https://developer.android.com/studio/run/emulator-commandline.html
(Create a root shell console on the current terminal. You can use this command even if the adb daemon in the emulated system is broken. Pressing Ctrl-c from the shell stops the emulator instead of the shell)
But when starting the emulator like
emulator -netdelay none -netspeed full -avd nougat-x86_64 -gpu off -no-window -shell
I do see the shell output of the Android emulator booting, but I can not send any commands to it, i.e. ls
.
Also opening a tcp port for the shell and communicating via telnet shows the same behavior.
emulator -netdelay none -netspeed full -avd nougat-x86_64 -gpu off -no-window -shell-serial tcp::4444,server,nowait
telnet localhost 4444
There’s not much information about this topic on the internet, but perhaps someone already dealt with this topic. Thanks in advance!
From android source, line 698:
seems the '-shell' option is as same as '-logcat' option, thus I think the documentation is not described well and of course the '-shell' option won't bring you an interactive root shell from the virtual serial.
Maybe I'm wrong, I only tested this on MacOS.
With further test, as same as this guy's post, the '-show-kernel' will actually get you the kernel log and an interactive rootable console.
Answered by Parahexen on December 4, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP