Reputation: 11567
I've just installed the SDK on linux. I've used it before as I did some android work last year, and I had no trouble with the tools at that time.
But the current installation will not install onto the emulator. avd
is fired up and an emulator is running:
> adb devices
List of devices attached
emulator-5554 device
> adb install blahblah.apk
error: protocol fault (no status)
- waiting for device -
Hangs until I kill it. Then:
> adb devices
List of devices attached
> adb kill-server
> adb start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
> adb devices
List of devices attached
emulator-5554 device
> adb -s emulator-5554 install blahblah.adk
error: protocol fault (no status)
- waiting for device -
I must have gone through this a dozen or so times, as normal user and root. I read this Q&A and tried the same thing with ADB_TRACE
on. This made a strange difference when killing and re-starting the server:
> adb start-server
system/core/adb/adb.c::main():Handling commandline()
system/core/adb/adb_client.c::_adb_connect():_adb_connect: host:version
system/core/adb/adb_client.c::adb_connect():adb_connect: service host:start-server
* daemon not running. starting it now on port 5037 *
ADB server didn't ACK
* failed to start daemon *
Without the trace on, it is always "daemon started successfully". But a subsequent adb devices
shows the emulator again. Trying adb install
now produces copious debugging output, and right before the "error: protocol fault (no status)":
system/core/adb/transport.c::readx():readx: fd=3 disconnected
system/core/adb/adb_client.c::adb_connect():adb_connect: return fd -1
error: protocol fault (no status)
Then before "waiting for device":
system/core/adb/transport.c::readx():readx: fd=3 wanted=4 got=4
4641494c FAIL
system/core/adb/transport.c::readx():readx: fd=3 wanted=4
system/core/adb/transport.c::readx():readx: fd=3 wanted=4 got=4
30303130 0010
system/core/adb/transport.c::readx():readx: fd=3 wanted=16
system/core/adb/transport.c::readx():readx: fd=3 wanted=16 got=16
646576696365206e6f7420666f756e64 device not found
system/core/adb/adb_client.c::switch_socket_transport():Switch transport failed
system/core/adb/adb_client.c::adb_connect():adb_connect: return fd -1
I have not found any similar reports on line.
Upvotes: 1
Views: 2190
Reputation: 11567
Out of desperation, I unpacked the SDK again, hoping it had been corrupted by pulling it from the .zip without opening the whole thing (why do you have to download the ADT bundle anyway?).
I then ran the SDK manager and noticed that last time I did not install the updated armeabi-v7a system image , so I did that. I then ran diff -rq
on the two SDK directories (this one, and the one from this morning) and the only thing reported was the stuff in the armeabi-v7f image directory (looking at build.prop
, one is a month older).
But installing an .apk to the emulator worked no problems on the first time, hooray. Perhaps there was a bug in the old system-image -- if so strange there isn't more reports of this online.
Upvotes: 1