b122b175555d80b1d13dc1d864126f531e224d84 |
|
17-Aug-2017 |
Josh Gao <jmgao@google.com> |
adb: allow selection of a specific transport. Extend device selection to allow selecting a specific transport via monotonically increasing identifier (visible in devices -l). This is useful when using multiple devices (like hikey960...) that have identical bogus serial numbers like 0123456789ABCDEF. Bug: http://b/37043226 Test: adb -t {1, 2, 9999999} {get-serialno, shell, features} Change-Id: I55e5dc5a406a4eeee0012e39b52e8cd232e608a6
/system/core/adb/adb_client.cpp
|
a019f781417ea2351ace55603fc0906051f165c6 |
|
17-Jun-2017 |
Josh Gao <jmgao@google.com> |
adb: increase the shell command length limit. Relax the shell command length limits when talking to an adbd with the shell protocol. shell is pretty much the only service that takes an arbitrarily long string, so this is somewhat safe. Bug: http://b/37716055 Test: `adb shell $(python -c 'print "echo " + "f" * (32*1024)') | wc` on L and master Change-Id: I0737fd2244530ef8080f300cd3a3549a1ab93465
/system/core/adb/adb_client.cpp
|
b3c14ec693d4c061fc9ec7fdaa7897169d179479 |
|
09-May-2017 |
Josh Gao <jmgao@google.com> |
adb: make `adb kill-server` wait for the server to die. Make the host:kill service shutdown its socket on process exit, instead of immediately. Also, unify the two 'kill-server' implementations and hide _adb_connect. Bug: http://b/37104408 Test: adb kill-server; adb start-server Change-Id: I9475f5d084d5fb91d33e393f2fd4e34056613384
/system/core/adb/adb_client.cpp
|
fd713e53e890f5b3bf26a1c5a980137cc4378c3a |
|
04-May-2017 |
Josh Gao <jmgao@google.com> |
adb: wait for devices to come up instead of sleeping for 3s. Replace a hard-coded 3 second sleep with logic to wait until we've scanned USB devices once and they've all come online. Before: adb shell true 0.00s user 0.00s system 0% cpu 3.047 total After: adb shell true 0.00s user 0.00s system 9% cpu 0.041 total Bug: http://b/37869663 Test: `time adb shell true` after adb kill-server Change-Id: I251d42afb885908ed9d03167287594ea16650d3f
/system/core/adb/adb_client.cpp
|
2e821078e432711006a580df19e68db48bfa9fae |
|
20-Apr-2017 |
Treehugger Robot <treehugger-gerrit@google.com> |
Merge "adb: fix two device offline problems."
|
b5e11415d9fdb929321c66889063dac50fb737af |
|
11-Mar-2017 |
Yabin Cui <yabinc@google.com> |
adb: fix two device offline problems. When device goes offline, user usually has to manually replug the usb device. This patch tries to solve two offline situations, all because when adb on host is killed, the adbd on device is not notified. 1. When adb server is killed while pushing a large file to device, the device is still reading the unfinished large message. So the device thinks of the CNXN message as part of the previous unfinished message, so it doesn't reply and the device is in offline state. The solution is to add a write_msg_lock in atransport struct. And it kicks the transport only after sending a whole message. By kicking all transports before exit, we ensure that we don't write part of a message to any device. So next time we start adb server, the device should be waiting for a new message. 2. When adb server is killed while pulling a large file from device, the device is still trying to send the unfinished large message. So adb on host usually reads data with EOVERFLOW error. This is because adb on host is reading less than one packet sent from device. The solution is to use buffered read on host. The max packet size of bulk transactions in USB 3.0 is 1024 bytes. By preparing an at least 1024 bytes buffer when reading, EOVERFLOW no longer occurs. And teach adb host to ignore wrong messages. To be safe, this patch doesn't change any logic on device. Bug: http://b/32952319 Test: run python -m unittest -q test_device.DeviceOfflineTest Test: on linux/mac/windows with bullhead, ryu. Change-Id: Ib149d30028a62a6f03857b8a95ab5a1d6e9b9c4e
/system/core/adb/adb_client.cpp
|
1fc8f6e0cfdfd5c9dbbd82116fba2ebec82b4659 |
|
18-Apr-2017 |
Elliott Hughes <enh@google.com> |
Fix various adb error reporting bugs. `adb install` was writing success to stderr rather than stdout. Server mismatch messages were going to stdout rather than stderr. Error messages should consistently start with a lower case letter. Also improve consistency of syntax error reporting. Bug: https://issuetracker.google.com/37128706 (adb install success to stdout) Bug: https://issuetracker.google.com/37140458 (server mismatch on stderr) Bug: http://b/32413861 (consistency) Test: ran tests Change-Id: I0d6cb0c7482bec03483dacefd996644b7a28d273
/system/core/adb/adb_client.cpp
|
de80be39aaf7ce989f2a7b96ff842f45fd596f78 |
|
02-Dec-2016 |
Elliott Hughes <enh@google.com> |
Remove unused adb_set_transport. Bug: N/A Test: builds Change-Id: I0824d29c080c47e1002abf3520ebed8996bcbcc6
/system/core/adb/adb_client.cpp
|
4602adbcd3b15f0a575f3ade899f481ff0909f44 |
|
16-Nov-2016 |
Josh Gao <jmgao@google.com> |
adb: add sysdeps/chrono.h for chrono literals on Win32. Bug: http://b/32878766 Test: mma Change-Id: Iaa89d4eadf07e63d6d7205057435a6c7fb5d4ec5
/system/core/adb/adb_client.cpp
|
dbe91eee26300be10d6f1a0b42451dd46ea68538 |
|
15-Nov-2016 |
Elliott Hughes <enh@google.com> |
Switch adb over to <chrono>. Clearer code, and lets us lose some more portability cruft. Bug: http://b/32878766 Test: manual Change-Id: Ie44928bbf8d68a74127aaf76e7e0060e25fa2cc8
/system/core/adb/adb_client.cpp
|
7f4ab76240a77e586e7737636a4752332be8ffe6 |
|
02-Sep-2016 |
Elliott Hughes <enh@google.com> |
Fix adb. 9460de1ce80a41cd6171a7e03d9fa7aef2db9dce had a backwards test that means all adb commands abort. Fix the sense of the test. Bug: http://b/30445394 Change-Id: I4b8ee697f7d305b57f9cd1a70ae919869dee994d
/system/core/adb/adb_client.cpp
|
9c869b58a8cf4f7c3bc88931fbd27d3f5187b2db |
|
26-Aug-2016 |
Josh Gao <jmgao@google.com> |
adb: allow use of arbitrary socket specs for command socket. Bug: http://b/30445394 Change-Id: I474ede35ec3c56ad86da503c9703f83ef5e80862
/system/core/adb/adb_client.cpp
|
1f4ec19e499ba981e4117f647d191603c2713e79 |
|
05-Apr-2016 |
Yabin Cui <yabinc@google.com> |
adb: add reconnect command. Add reconnect command for debugging. `reconnect` kicks a transport from the host side, `reconnect device` kicks a transport from the device side. They can be used to produce transport errors. Bug: 25935458 Change-Id: I47daa338796b561941e7aba44a51a6dd117d1e98
/system/core/adb/adb_client.cpp
|
d26212207d9bc9412dbc528307185694f8e6d082 |
|
05-Mar-2016 |
Josh Gao <jmgao@google.com> |
adb: wait for adbd to die and respawn in root/unroot. Bug: http://b/19749057 Change-Id: I57dbc113803b6fd3016c1801410be0f4023245d9
/system/core/adb/adb_client.cpp
|
f3f6a1d0d4279930be1434fa66cc0b3fbbb850f0 |
|
01-Feb-2016 |
Josh Gao <jmgao@google.com> |
adb: add adb_get_feature_set. Extract a feature set getter function from commandline.cpp. Change-Id: I30a3eb0b060a88379e29be16264637816e378978
/system/core/adb/adb_client.cpp
|
7e6683ce40ba79c94ccc1e3b984cd39e63651dd5 |
|
15-Jan-2016 |
Josh Gao <jmgao@google.com> |
Increase the maximum shell command length to 4096ish. The actual maximum length will depend on the version of the shell protocol being used, and any additional parameters being passed through (e.g. TERM=xterm-256color). This should be able to be raised to 64K for devices with commit 3d2904c (L-MR1 and above), but that'll require some plumbing. Bug: http://b/20467103 Change-Id: Idf0c46af5b18b854110aba58df13a53297d2475f
/system/core/adb/adb_client.cpp
|
4f71319df011d796a60a43fc1bc68e16fbf7d321 |
|
05-Dec-2015 |
Elliott Hughes <enh@google.com> |
Track rename of base/ to android-base/. Change-Id: Idf9444fece4aa89c93e15640de59a91f6e758ccf
/system/core/adb/adb_client.cpp
|
351ecd15b29f0ce528ffac119640b9c01874562b |
|
15-Oct-2015 |
Spencer Low <CompareAndSwap@gmail.com> |
adb: fix adb client running out of sockets on Windows Background ========== On Windows, if you run "adb shell exit" in a loop in two windows, eventually the adb client will be unable to connect to the adb server. I think connect() is returning WSAEADDRINUSE: "Only one usage of each socket address (protocol/network address/port) is normally permitted. (10048)". The Windows System Event Log may also show Event 4227, Tcpip. Netstat output is filled with: # for the adb server TCP 127.0.0.1:5037 127.0.0.1:65523 TIME_WAIT # for the adb client TCP 127.0.0.1:65523 127.0.0.1:5037 TIME_WAIT The error probably means that the client is running out of free address:port pairs. The first netstat line is unavoidable, but the second line exists because the adb client is not waiting for orderly/graceful shutdown of the socket, and that is apparently required on Windows to get rid of the second line. For more info, see https://github.com/CompareAndSwap/SocketCloseTest . This is exacerbated by the fact that "adb shell exit" makes 4 socket connections to the adb server: 1) host:version, 2) host:features, 3) host:version (again), 4) shell:exit. Also exacerbating is the fact that the adb protocol is length-prefixed so the client typically does not have to 'read() until zero' which effectively waits for orderly/graceful shutdown. The Fix ======= Introduce a function, ReadOrderlyShutdown(), that should be called in the adb client to wait for the server to close its socket, before closing the client socket. I reviewed all code where the adb client makes a connection to the adb server and added ReadOrderlyShutdown() when it made sense. I wasn't able to add it to the following: * interactive_shell: this doesn't matter because this is interactive and thus can't be run fast enough to use up ports. * adb sideload: I couldn't get enough test coverage and I don't think this is being called frequently enough to be a problem. * send_shell_command, backup, adb_connect_command, adb shell, adb exec-out, install_multiple_app, adb_send_emulator_command: These already wait for server socket shutdown since they already call recv() until zero. * restore, adb exec-in: protocol design can't have the server close first. * adb start-server: no fd is actually returned * create_local_service_socket, local_connect_arbitrary_ports, connect_device: probably called rarely enough not to be a problem. Also in this change =================== * Clarify comments in when adb_shutdown() is called before exit(). * add some missing adb_close() in adb sideload. * Fixup error handling and comments in adb_send_emulator_command(). * Make SyncConnection::SendQuit return a success boolean. * Add unittest for adb emu kill command. This gets code coverage over this very careful piece of code. Change-Id: Iad0b1336f5b74186af2cd35f7ea827d0fa77a17c Signed-off-by: Spencer Low <CompareAndSwap@gmail.com>
/system/core/adb/adb_client.cpp
|
8d28e191c5ba81b82e51e3fd120d03851e1d905f |
|
07-Oct-2015 |
Elliott Hughes <enh@google.com> |
Fix adb -d/-e error reporting. If -d/-e fail, get-serialno and friends will now report an error and return a failure status code on exit. Also fix the behavior of -d/-e with $ANDROID_SERIAL --- -d/-e should override $ANDROID_SERIAL, not the other way round. I'm deleting my own comment here about always returning "unknown" for scripts. I can't find any evidence that there are scripts relying on that, so I think my comment meant "I fear that there are scripts doing so". Bug: http://b/24403699 Change-Id: Ie13a751f1137abcfe0cc6c46a0630ba5e02db676
/system/core/adb/adb_client.cpp
|
5b73a10f64712e27429836210d665afac2f12e11 |
|
03-Oct-2015 |
Elliott Hughes <enh@google.com> |
Explain adb client/server version mismatch better. "Out of date" is only probably true. You might equally well have an older client talking to a newer server. So tell the truth and include the actual version numbers. Change-Id: I821de88f5baf65bf2623363129c60c496b407bff
/system/core/adb/adb_client.cpp
|
aed3c61c4437ebb05eadfb3bf85d6962c30b9935 |
|
23-Sep-2015 |
Yabin Cui <yabinc@google.com> |
Adb: use VLOG() to replace D() for verbose logging. As there are too many D(), we can keep both VLOG() and D() now, and get rid of D() gradually. Change-Id: I2f1cb70bcab3e82c99fed939341d03f6b2216076
/system/core/adb/adb_client.cpp
|
7a3f8d6691b3fbd8014a98de8455dbcfcc9629e4 |
|
03-Sep-2015 |
Yabin Cui <yabinc@google.com> |
adb: clean up debug tracing a little. Always use LOG() for debug tracing. Remove useless D_lock. I believe it is useless to lock just before and after fprintf. I verified the log output both on host and on device. The output looks fine to me. Change-Id: I96ccfe408ff56864361551afe9ad464d197ae104
/system/core/adb/adb_client.cpp
|
aa2454919098ee14cd232669f1e7dbb33ed07ccf |
|
03-Aug-2015 |
Elliott Hughes <enh@google.com> |
adb sync cleanup. We can double the speed of "adb sync" (on N9) if we increase SYNC_DATA_MAX from 64KiB to 256KiB. This change doesn't do that, because I still haven't managed to plumb through the information about whether we're a new adb/adbd to file_sync_client.cpp and file_sync_service.cpp. But this is already a big change with a lot of cleanup, so let's do the cleanup and worry about the intended change another day... This change does improve performance somewhat by halving the number of lstat(2) calls made on the client side, and ensuring that most packets are sent with a single write. This has the pleasing result of making the null sync on an AOSP N9 go from just over 300ms to around 100ms, which means it now seems instantaneous (https://en.wikipedia.org/wiki/Mental_chronometry). Change-Id: If9f6d4c1f93ec752b95f71211bbbb1c513045166
/system/core/adb/adb_client.cpp
|
f18fc0879be9cd506be6b1e051feb543b0746bdb |
|
12-Aug-2015 |
Spencer Low <CompareAndSwap@gmail.com> |
adb: start-server and kill-server error output - handle_host_request - When the host:kill command comes in, shutdown the socket before calling exit(). If we don't do this, the client will output error info even though everything is working ok. - adb_connect() - If we can't parse the version string, explain this in error output and don't goto error which would try to close an fd we already closed. - If host:kill doesn't work, output error info. Don't try to close already closed fd. - adb_main() - If writing the ACK somehow has an error, output error info (I doubt this will ever get hit). - adb_commandline() - Fix typo about max port number. - Make 'adb kill-server' and 'adb start-server' output any detailed error info. Change-Id: Id1a309cc1bf516f7f49bd332b34d30f148b406da Signed-off-by: Spencer Low <CompareAndSwap@gmail.com>
/system/core/adb/adb_client.cpp
|
71635bb966727cf01d1796be7012ba914cd3ebbe |
|
06-Aug-2015 |
Spencer Low <CompareAndSwap@gmail.com> |
adb: fix killing of old version of adb process The original code was: if (strcmp(__adb_error, "unknown host service") != 0) But that was changed by 078f0fcf4c63b8d8e8c10a18855eae04ca321e06 to: if (*error == "unknown host service") { I think the comparison should be != so that "unknown host service" falls-through and kills the server, and so if it is some other error, that the other error is returned immediately. Change-Id: Ia490a4a870d1d123a3c5ab258dd5fa0930e8032d Signed-off-by: Spencer Low <CompareAndSwap@gmail.com>
/system/core/adb/adb_client.cpp
|
5200c6670f041550c23821fec8e8e49b30ef6d29 |
|
31-Jul-2015 |
Spencer Low <CompareAndSwap@gmail.com> |
adb: win32: initial IPv6 support and improved Winsock error reporting Call getaddrinfo() for connecting to IPv6 destinations. Winsock APIs do not set errno. WSAGetLastError() returns Winsock errors that are more numerous than BSD sockets, so it really doesn't make sense to map those to BSD socket errors. Plus, even if we did that, the Windows C Runtime (that mingw binaries use) has a strerror() that does not recognize BSD socket error codes. The solution is to wrap the various libcutils socket_* APIs with sysdeps.h network_* APIs. For POSIX, the network_* APIs just call strerror(). For Windows, they call SystemErrorCodeToString() (adapted from Chromium). Also in this change: - Various other code was modified to return errors in a std::string* argument, to be able to surface the error string to the end-user. - Improved error checking and use of D() to log Winsock errors for improved debuggability. - For sysdeps_win32.cpp, added unique_fh class that works like std::unique_ptr, for calling _fh_close(). - Fix win32 adb_socketpair() setting of errno in error case. - Improve _socket_set_errno() D() logging to reduce confusion. Map a few extra error codes. - Move adb_shutdown() lower in sysdeps_win32.cpp so it can call _socket_set_errno(). - Move network_connect() from adb_utils.cpp to sysdeps.h. - Merge socket_loopback_server() and socket_inaddr_any_server() into _network_server() since most of the code was identical. Change-Id: I945f36870f320578b3a11ba093852ba6f7b93400 Signed-off-by: Spencer Low <CompareAndSwap@gmail.com>
/system/core/adb/adb_client.cpp
|
381cfa9a8bc262dcd823a8bb6adc189595a2fe7d |
|
24-Jul-2015 |
Elliott Hughes <enh@google.com> |
Report getaddrinfo failures correctly. Also move us off the "convenience" function because you can't get useful error reporting from it. Change-Id: I5fcc6a6d762f5f60906980a7835f01a35045be65
/system/core/adb/adb_client.cpp
|
3bcdaa287760c8b1821c581493bfe851169ec65f |
|
22-Jul-2015 |
Elliott Hughes <enh@google.com> |
Merge "Recognize IPv6 addresses for "adb connect"."
|
3d5f60dbba3bc0feabc05457d181547b295bb3b2 |
|
18-Jul-2015 |
Elliott Hughes <enh@google.com> |
Recognize IPv6 addresses for "adb connect". Bug: http://b/22559299 Change-Id: I32891d706b5010c38db84a056e76dd279b780f75
/system/core/adb/adb_client.cpp
|
8d8126a705dd3c5734a0894f88c2c758784bd469 |
|
21-Jul-2015 |
Spencer Low <CompareAndSwap@gmail.com> |
adb: logging: newlines, thread ids, error code overwriting Add missing \n to uses of legacy D() macro. This should make the legacy logging easier to read (and harder to miss important stuff). On POSIX, use gettid() from libcutils instead of pthread_self() so that the output shows a more reasonable number instead of a pointer value. This should be ok since libbase's logging already uses gettid(). Win32: Don't let the Win32 last error get overwritten by API calls after the original error'ing API. When encountering an unknown error, log the specific error code. Change-Id: Ib8f72754efa7ba895d2f1cd914251fec2a1d894c Signed-off-by: Spencer Low <CompareAndSwap@gmail.com>
/system/core/adb/adb_client.cpp
|
424af02f363a305a349ff99e1cc253ac5bc642c9 |
|
30-May-2015 |
Elliott Hughes <enh@google.com> |
Fix error handling/reporting for "adb forward" and "adb reverse". We really need better infrastructure for parsing adb subcommands, but in the meantime... At least this cleans up a little more of the implementation too. Bug: http://b/20736014 Change-Id: I76209847da3724906c71924017bcb69fa31e0b49
/system/core/adb/adb_client.cpp
|
6001c87cbcafba68975fd9b3aa69f4952396f83c |
|
13-May-2015 |
Spencer Low <CompareAndSwap@gmail.com> |
adb: win32: fix StringPrintf format string checking of %zd and PRIu64 At runtime, vsnprintf (and android::base::StringPrintf which calls it) call a mingw version of vsnprintf, not the vsnprintf from MSVCRT.DLL. The mingw version properly understands %zd and PRIu64 (the latter, provided that you #include <inttypes.h>). The problem was that android::base::StringPrintf was causing compile-time errors saying that %zd and PRIu64 were not recognized. It seems that this was because the attribute on the function prototypes specified `printf' instead of `gnu_printf'. Once that was fixed to match vsnprintf's attribute, the warnings went away. This uses similar preprocessor techniques as <android/log.h>. Also restore a %zd usage to avoid a static_cast<>, and make print_transfer_progress()'s format string compile-time checkable (and tweak some types and %llu => PRIu64). Change-Id: I80b31b9994858a28cb7c6847143b86108b8ab842 Signed-off-by: Spencer Low <CompareAndSwap@gmail.com>
/system/core/adb/adb_client.cpp
|
142ec75cf882bf023853f0321cd559377daccc60 |
|
07-May-2015 |
Spencer Low <CompareAndSwap@gmail.com> |
adb: win32: fix adb emu command The adb emu command was never working because the socket connection to the emulator was closed without reading all of the data that the emulator sent. On Windows, this caused the emulator's recv() call to error-out, so it never got the command that was sent. Before settling on this fix, I also experimented changing the arguments to the socket shutdown() call and that didn't seem to help. I also tried removing the call to shutdown() and that didn't help. So that should rule out shutdown() as the problem. One experiment that helped was delaying before calling adb_close(), but that is of course fragile and doesn't address the real issue, which is not closing the socket until the commands have been read. https://code.google.com/p/android/issues/detail?id=21021 Change-Id: I8fa4d740a2faa2c9922ec50792e16564a94f6eed Signed-off-by: Spencer Low <CompareAndSwap@gmail.com>
/system/core/adb/adb_client.cpp
|
3bd73c12c07dcefc965abeef535ac53c4754d682 |
|
05-May-2015 |
Elliott Hughes <enh@google.com> |
Give enum types CamelCase names for clarity. Change-Id: I1c89f1cc155ee839f372fb14d972a288183b8bcd
/system/core/adb/adb_client.cpp
|
ab52c181fa4c1c9891644635dc5653cda5b90e2b |
|
02-May-2015 |
Elliott Hughes <enh@google.com> |
Add WriteFdFmt and clean up more code. Also say *which* device wasn't found. Bug: http://b/20666660 Change-Id: I50e234ad89e39ae0a8995083c0b642c61275c5a3
/system/core/adb/adb_client.cpp
|
e67f1f87d9b1188ec8617035db7006c37ee7b21e |
|
01-May-2015 |
Elliott Hughes <enh@google.com> |
More adb buffer fixes. This patch factors out a lot of the basic protocol code: sending OKAY, sending FAIL, and sending a length-prefixed string. ADB_TRACE has been non-optional for a long time, so let's just remove the #ifs. Also actually build the device tracker test tool (and remove its duplicate). Bug: http://b/20666660 Change-Id: I6c7d59f18707bdc62ca69dea45547617f9f31fc6
/system/core/adb/adb_client.cpp
|
6452a89aa8934231e12ab77e0d90f12c3e892ad1 |
|
29-Apr-2015 |
Elliott Hughes <enh@google.com> |
More fixed-length buffer removal. Bug: http://b/20666660 Change-Id: I0c738e9fed2defed48a9cf2d0a4f7b99c08dcf3d
/system/core/adb/adb_client.cpp
|
1b600a902cc0b3a6065c962293292a5ac689fafe |
|
29-Apr-2015 |
Elliott Hughes <enh@google.com> |
Fix Win32 build. Change-Id: Icf2c8df99b4b88bbf85a4097731733c5795fba44
/system/core/adb/adb_client.cpp
|
078f0fcf4c63b8d8e8c10a18855eae04ca321e06 |
|
29-Apr-2015 |
Elliott Hughes <enh@google.com> |
Move __adb_error to std::string, and improve various errors. Also remove an sprintf. Also fix various bits of code that were reporting stale adb_error values when they meant strerror. Bug: http://b/20666660 Change-Id: Ibeb48b7bc21bb0ec30ba47889d1d671ee480e1b7
/system/core/adb/adb_client.cpp
|
9309ecbcec428edfcb487ef697862bce59a1aed5 |
|
27-Apr-2015 |
Elliott Hughes <enh@google.com> |
Support the full length of USB serial numbers. Two bugs: we couldn't report the serial number correctly if it was long enough, and it wasn't possible to connect to a device whose serial number was long enough to overflow a different fixed-length buffer. Bug: http://b/20317730 Change-Id: Ic9cf3c847066449ac78069bd1718184935098ac7
/system/core/adb/adb_client.cpp
|
3313426fad9eaaf53017cdbde889ebcec91358ec |
|
19-Mar-2015 |
Dan Albert <danalbert@google.com> |
File header cleanup. * sysdeps.h should always be included first. * TRACE_TAG needs to be defined before anything is included. * Some files were missing copyright headers. * Save precious bytes on my SSD by removing useless whitespace. Change-Id: I88980e6e00b5be1093806cf286740d9e4a033b94
/system/core/adb/adb_client.cpp
|
46270d233a76b63497b5bcf456e00f6defd429bd |
|
13-Mar-2015 |
Elliott Hughes <enh@google.com> |
adb doesn't actually use libzipfile. Change-Id: Ia7d22214bc8422c88edaaf9bb716d7e12e0bb381
/system/core/adb/adb_client.cpp
|
bac3474a8256cb32a29e8d46f78cad95a5502692 |
|
26-Feb-2015 |
Dan Albert <danalbert@google.com> |
Move adb to C++. I keep trying to clean things up and needing std::strings. Might as well just do this now. usb_linux_client.c is going to stay as C because GCC isn't smart enough to deal with the designated initializers it uses (though for some reason it is in C mode). The Darwin files are staying as C because I don't have a way to test that they build. The Windows files are staying as C because while I can actually build for them, it's slow and painful. Change-Id: I75367d29205a9049d34460032b3bb36384f43941
/system/core/adb/adb_client.cpp
|