Move ADB communications to AdbClient class - in order to make it accessible by other LLDB components.
I'm planning to use device serial number for Android devices instead of host name within module cache - will integrate AdbClient with PlatformAndroid with a next CL.
Thanks for moving it out to a new class.
Please check that the adb port forward is set up correctly (not left over from a previous session) and also check that all of the port forwards are cleaned up after lldb exits (I suggest a manual test as full test suit might leak some adb forwards in case of a failure).
I think it isn't an error in this scenario if no device was found
What is the goal of this function? I think it will return m_device_id on success and if m_device_id is not set then it will fail.
Do we need a virtual destructor?
Please return an error if not exactly one device is found and remove the assert.
I think we should add asserts to check for bugs in lldb while having no connected device can be caused by almost anything.
If we found more then 1 device then (randomly) choosing one will cause some flakiness in our tests so I think it is better to report a failure here. I plan to add some way to specify the selected device from platform-android.
/lldb/trunk/lldb.xcodeproj/project.pbxproj /lldb/trunk/source/Plugins/Platform/Android/AdbClient.cpp /lldb/trunk/source/Plugins/Platform/Android/AdbClient.h /lldb/trunk/source/Plugins/Platform/Android/CMakeLists.txt /lldb/trunk/source/Plugins/Platform/Android/PlatformAndroidRemoteGDBServer.cpp