android_device = AdbDeviceTcp("0.0.0.0", adb_port)
try:
if not android_device.connect(auth_timeout_s=1, transport_timeout_s=3):
raise Exception("Adb connection failed")
print("available 1:",android_device.available)
res = android_device.streaming_shell("echo TEST1")
print(list(res))
print(android_device.root(timeout_s=10))
print("available 2:",android_device.available)
res = android_device.streaming_shell("echo TEST2")
print(list(res))
except Exception as e:
print(e)
output:
available 1: True
['TEST1\n']
None
available 2: True
Traceback (most recent call last):
File "/home/ubuntu/test/main.py", line 100, in main
start_submission(args.sample, args.config)
File "/home/ubuntu/test/main.py", line 50, in start_submission
print(list(res))
File "/home/ubuntu/.local/lib/python3.10/site-packages/adb_shell/adb_device.py", line 868, in streaming_shell
for line in self._streaming_service(b'shell', command.encode('utf8'), transport_timeout_s, read_timeout_s, decode):
File "/home/ubuntu/.local/lib/python3.10/site-packages/adb_shell/adb_device.py", line 738, in _streaming_service
for line in (stream_line.decode('utf8', _DECODE_ERRORS) for stream_line in stream):
File "/home/ubuntu/.local/lib/python3.10/site-packages/adb_shell/adb_device.py", line 738, in <genexpr>
for line in (stream_line.decode('utf8', _DECODE_ERRORS) for stream_line in stream):
File "/home/ubuntu/.local/lib/python3.10/site-packages/adb_shell/adb_device.py", line 1288, in _streaming_command
adb_info = self._open(b'%s:%s' % (service, command), transport_timeout_s, read_timeout_s, timeout_s)
File "/home/ubuntu/.local/lib/python3.10/site-packages/adb_shell/adb_device.py", line 1186, in _open
_, adb_info.remote_id, _, _ = self._io_manager.read([constants.OKAY], adb_info)
File "/home/ubuntu/.local/lib/python3.10/site-packages/adb_shell/adb_device.py", line 339, in read
cmd, arg0, arg1, data = self._read_packet_from_device(adb_info)
File "/home/ubuntu/.local/lib/python3.10/site-packages/adb_shell/adb_device.py", line 486, in _read_packet_from_device
msg = self._read_bytes_from_device(constants.MESSAGE_SIZE, adb_info)
File "/home/ubuntu/.local/lib/python3.10/site-packages/adb_shell/adb_device.py", line 455, in _read_bytes_from_device
raise exceptions.AdbTimeoutError("Timeout: read {} of {} bytes (transport_timeout_s = {}, read_timeout_s = {})".format(len(data), len(data) + length, adb_info.transport_timeout_s, adb_info.read_timeout_s))
adb_shell.exceptions.AdbTimeoutError: Timeout: read 0 of 24 bytes (transport_timeout_s = 10.0, read_timeout_s = 10.0)
If I run the script second time it works:
available 1: True
['TEST1\n']
None
available 2: True
['TEST2\n']
What can be the reason? I need to fix this problem quickly.
My host adb is not connected to device during tests
Description
I am connecting my android device in docker container with AdbDeviceTcp. I want to gain root privileges and tried this:
android_device.root(timeout_s=10)
But whenever i try to use root, commands after it not execute it will give:
Timeout: read 0 of 24 bytes (transport_timeout_s = 10.0, read_timeout_s = 10.0)
my code:
output:
If I run the script second time it works:
What can be the reason? I need to fix this problem quickly. My host adb is not connected to device during tests