AdbHelper

public final class AdbHelper
extends Object

java.lang.Object
   ↳ com.android.tradefed.device.server.AdbHelper


यह क्लास, adb से किए गए अनुरोधों और कनेक्शन को मैनेज करने में मदद करती है.

AndroidDebugBridge, adb से कनेक्ट करने के लिए सार्वजनिक एपीआई है. वहीं, AdbHelper लो लेवल का काम करता है.

फ़िलहाल, यह स्पिन-वेट नॉन-ब्लॉकिंग I/O का इस्तेमाल करता है. Selector ज़्यादा असरदार होगा, लेकिन ऐसा लगता है कि यहां हम जो काम कर रहे हैं उसके लिए यह बहुत ज़्यादा है.

खास जानकारी

नेस्टेड क्लास

class AdbHelper.AdbResponse

ADB से मिला जवाब. 

कॉन्स्टेंट

String HOST_TRANSPORT

फ़ील्ड

public static final Charset DEFAULT_CHARSET

पब्लिक मेथड

static void createForward(InetSocketAddress adbSockAddr, IDevice device, String localPortSpec, String remotePortSpec)

यह कमांड, लोकल और रिमोट पोर्ट के बीच पोर्ट फ़ॉरवर्डिंग की सुविधा चालू करती है.

static AdbCommandRejectedException createHiddenException(String message, boolean errorDuringDeviceSelection)
static AdbCommandRejectedException createHiddenException(String message)
static byte[] createJdwpForwardRequest(int pid)

यह jdwp प्रोसेस के लिए, पोर्ट फ़ॉरवर्डिंग का अनुरोध करता है.

static SocketChannel createPassThroughConnection(InetSocketAddress adbSockAddr, String deviceSerialNumber, int pid)

यह फ़ंक्शन, होस्ट से डिवाइस के पोर्ट तक एक नया पास-थ्रू सॉकेट बनाता है और उसे कनेक्ट करता है.

static void createReverse(InetSocketAddress adbSockAddr, IDevice device, String remotePortSpec, String localPortSpec)

यह कमांड, रिमोट और लोकल पोर्ट के बीच पोर्ट रिवर्सिंग की सुविधा चालू करती है.

static void executeRemoteCommand(InetSocketAddress adbSockAddr, AdbHelper.AdbService adbService, String command, IDevice device, IShellOutputReceiver rcvr, long maxTimeout, long maxTimeToOutputResponse, TimeUnit maxTimeUnits, InputStream is)

यह डिवाइस पर रिमोट कमांड को लागू करता है और आउटपुट को वापस पाता है.

static void executeRemoteCommand(InetSocketAddress adbSockAddr, String command, IDevice device, IShellOutputReceiver rcvr, long maxTimeout, long maxTimeToOutputResponse, TimeUnit maxTimeUnits)

यह डिवाइस पर शेल कमांड चलाता है और आउटपुट वापस लाता है.

static void executeRemoteCommand(InetSocketAddress adbSockAddr, String command, IDevice device, IShellOutputReceiver rcvr, long maxTimeToOutputResponse, TimeUnit maxTimeUnits)

यह डिवाइस पर शेल कमांड चलाता है और आउटपुट वापस लाता है.

static byte[] formAdbRequest(String payloadString)

चार हेक्स अंकों से पहले एक ASCII स्ट्रिंग बनाएं.

static String getFeatures(IDevice device)

यह डिवाइस से, साथ काम करने वाली सुविधाओं के सेट के बारे में क्वेरी करता है.

static RawImage getFrameBuffer(InetSocketAddress adbSockAddr, IDevice device, long timeout, TimeUnit unit)

दिए गए टाइमआउट के साथ डिवाइस से फ़्रेम बफ़र वापस पाएं.

static String getHostFeatures()

यह ADB होस्ट से, काम करने वाली सुविधाओं के सेट के बारे में क्वेरी करता है.

static SocketChannel open(InetSocketAddress adbSockAddr, IDevice device, int devicePort)

होस्ट से डिवाइस के किसी पोर्ट तक, एक नया पास-थ्रू सॉकेट बनाएं और उसे कनेक्ट करें.

static SocketChannel rawAdbService(InetSocketAddress socketAddress, IDevice device, String command, AdbHelper.AdbService service)

किसी रिमोट डिवाइस पर सेवा शुरू करना.

static SocketChannel rawExec(InetSocketAddress socketAddress, IDevice device, String executable, String[] parameters)

किसी रिमोट डिवाइस पर host:exec सेवा को चालू करें.

static AdbHelper.AdbResponse readAdbResponse(SocketChannel chan, boolean readDiagString)

यह कुकी, किसी कमांड के बाद ADB से मिले जवाब को पढ़ती है.

static void reboot(String into, InetSocketAddress adbSockAddr, IDevice device)

डिवाइस को रीबूट करें.

static void removeForward(InetSocketAddress adbSockAddr, IDevice device, String localPortSpec)

लोकल और रिमोट पोर्ट के बीच पोर्ट फ़ॉरवर्डिंग की सुविधा हटाना.

static void removeReverse(InetSocketAddress adbSockAddr, IDevice device, String remotePortSpec)

रिमोट और लोकल पोर्ट के बीच पोर्ट रिवर्सिंग की सुविधा को हटाना.

static void root(InetSocketAddress adbSockAddr, IDevice device)

adb डेमॉन से डिवाइस पर रूट बनने के लिए कहें.

static void setDevice(SocketChannel adbChan, String deviceSerialNumber)

adb को किसी डिवाइस से कम्यूनिकेट करने के लिए कहता है

static void setDevice(SocketChannel adbChan, IDevice device)

IDevice दिए जाने पर, सीरियल नंबर को पकड़ें और adb को उस डिवाइस से कम्यूनिकेट करने के लिए कहें.

static void write(SocketChannel chan, byte[] data, int length, int timeout)

"data" में मौजूद पूरा डेटा लिखे जाने तक, तय की गई लंबाई पूरी होने तक, टाइम आउट खत्म होने तक या कनेक्शन फ़ेल होने तक लिखें.

static void write(SocketChannel chan, byte[] data)

"data" में मौजूद सारा डेटा लिखे जाने तक या कनेक्शन फ़ेल होने या टाइम आउट होने तक लिखें.

कॉन्स्टेंट

HOST_TRANSPORT

public static final String HOST_TRANSPORT

कॉन्स्टेंट वैल्यू: "host:transport:"

फ़ील्ड

DEFAULT_CHARSET

public static final Charset DEFAULT_CHARSET

पब्लिक मेथड

createForward

public static void createForward (InetSocketAddress adbSockAddr, 
                IDevice device, 
                String localPortSpec, 
                String remotePortSpec)

यह कमांड, लोकल और रिमोट पोर्ट के बीच पोर्ट फ़ॉरवर्डिंग की सुविधा चालू करती है.

पैरामीटर
adbSockAddr InetSocketAddress: adb से कनेक्ट करने के लिए सॉकेट पता

device IDevice: वह डिवाइस जिस पर पोर्ट फ़ॉरवर्डिंग करनी है

localPortSpec String: फ़ॉरवर्ड किए जाने वाले लोकल पोर्ट की जानकारी, इस फ़ॉर्मैट में होनी चाहिए tcp:

remotePortSpec String: फ़ॉरवर्ड करने के लिए रिमोट पोर्ट का स्पेसिफ़िकेशन. यह इनमें से कोई एक होना चाहिए: tcp: localabstract: localreserved: localfilesystem: dev: jdwp: (सिर्फ़ रिमोट के लिए)

थ्रो
AdbCommandRejectedException अगर adb निर्देश को अस्वीकार करता है
TimeoutException कनेक्शन टाइम आउट होने पर.
IOException कनेक्शन पर I/O में गड़बड़ी होने पर.

createHiddenException

public static AdbCommandRejectedException createHiddenException (String message, 
                boolean errorDuringDeviceSelection)

पैरामीटर
message String

errorDuringDeviceSelection boolean

रिटर्न
AdbCommandRejectedException

createHiddenException

public static AdbCommandRejectedException createHiddenException (String message)

पैरामीटर
message String

रिटर्न
AdbCommandRejectedException

createJdwpForwardRequest

public static byte[] createJdwpForwardRequest (int pid)

यह jdwp प्रोसेस के लिए, पोर्ट फ़ॉरवर्डिंग का अनुरोध करता है. इससे "####jwdp:{pid}" वाला एक कलेक्शन मिलता है.

पैरामीटर
pid int: डिवाइस पर jdwp प्रोसेस pid.

रिटर्न
byte[]

createPassThroughConnection

public static SocketChannel createPassThroughConnection (InetSocketAddress adbSockAddr, 
                String deviceSerialNumber, 
                int pid)

यह फ़ंक्शन, होस्ट से डिवाइस के किसी पोर्ट तक एक नया पास-थ्रू सॉकेट बनाता है और उसे कनेक्ट करता है.

पैरामीटर
deviceSerialNumber String: कनेक्ट करने के लिए डिवाइस का सीरियल नंबर. यह शून्य या खाली हो सकता है. ऐसे में, कनेक्शन पहले उपलब्ध डिवाइस से होगा.

pid int: कनेक्ट करने के लिए प्रोसेस आईडी.

रिटर्न
SocketChannel

थ्रो
AdbCommandRejectedException अगर adb निर्देश को अस्वीकार करता है
TimeoutException कनेक्शन टाइम आउट होने पर.
IOException कनेक्शन पर I/O में गड़बड़ी होने पर.

createReverse

public static void createReverse (InetSocketAddress adbSockAddr, 
                IDevice device, 
                String remotePortSpec, 
                String localPortSpec)

यह कमांड, रिमोट और लोकल पोर्ट के बीच पोर्ट रिवर्सिंग की सुविधा चालू करती है.

पैरामीटर
adbSockAddr InetSocketAddress: adb से कनेक्ट करने के लिए सॉकेट पता

device IDevice: वह डिवाइस जिस पर पोर्टिंग को पहले जैसा करना है

remotePortSpec String: रिवर्स करने के लिए रिमोट पोर्ट का स्पेसिफ़िकेशन. यह इनमें से कोई एक होना चाहिए: tcp: localabstract: localreserved: localfilesystem: dev: jdwp: (सिर्फ़ रिमोट)

localPortSpec String: लोकल पोर्ट की जानकारी, tcp:फ़ॉर्मैट में होनी चाहिए

थ्रो
AdbCommandRejectedException अगर adb निर्देश को अस्वीकार करता है
TimeoutException कनेक्शन टाइम आउट होने पर.
IOException कनेक्शन पर I/O में गड़बड़ी होने पर.

executeRemoteCommand

public static void executeRemoteCommand (InetSocketAddress adbSockAddr, 
                AdbHelper.AdbService adbService, 
                String command, 
                IDevice device, 
                IShellOutputReceiver rcvr, 
                long maxTimeout, 
                long maxTimeToOutputResponse, 
                TimeUnit maxTimeUnits, 
                InputStream is)

यह डिवाइस पर रिमोट कमांड को लागू करता है और आउटपुट को वापस पाता है. आउटपुट मिलते ही, उसे rcvr को भेज दिया जाता है. इस कमांड को adbService पैरामीटर से पहचाने जाने वाली रिमोट सेवा से लागू किया जाता है.

पैरामीटर
adbSockAddr InetSocketAddress: adb के लिए InetSocketAddress.

adbService AdbHelper.AdbService: कमांड चलाने के लिए इस्तेमाल किया जाने वाला AdbHelper.AdbService.

command String: शेल कमांड को चलाने के लिए

device IDevice: वह IDevice जिस पर कमांड को चलाना है.

rcvr IShellOutputReceiver: वह IShellOutputReceiver जो शेल कमांड का आउटपुट पाएगा

maxTimeout long: पूरी कमांड को पूरा होने में लगने वाला ज़्यादा से ज़्यादा समय. वैल्यू 0 का मतलब है कि कोई टाइम आउट नहीं है.

maxTimeToOutputResponse long: कमांड के आउटपुट के बीच ज़्यादा से ज़्यादा समय. अगर कमांड के आउटपुट में ज़्यादा समय लगता है, तो यह तरीका ShellCommandUnresponsiveException दिखाएगा. 0 वैल्यू का मतलब है कि यह तरीका, कमांड के आउटपुट के लिए हमेशा इंतज़ार करेगा और कभी भी थ्रो नहीं करेगा.

maxTimeUnits TimeUnit: शून्य से अलग maxTimeout और maxTimeToOutputResponse वैल्यू के लिए इकाइयां.

is InputStream: यह एक वैकल्पिक InputStream है. इसे कमांड शुरू होने के बाद और जवाब मिलने से पहले स्ट्रीम किया जाता है.

थ्रो
AdbCommandRejectedException अगर adb निर्देश को अस्वीकार करता है
ShellCommandUnresponsiveException अगर शेल कमांड, maxTimeToOutputResponse से ज़्यादा समय तक कोई आउटपुट नहीं भेजती है.
TimeoutException कनेक्शन टाइम आउट होने पर, निर्देश भेजने के लिए इस कुकी का इस्तेमाल किया जाता है.
IOException कनेक्शन पर I/O में गड़बड़ी होने पर.

यह भी देखें:

executeRemoteCommand

public static void executeRemoteCommand (InetSocketAddress adbSockAddr, 
                String command, 
                IDevice device, 
                IShellOutputReceiver rcvr, 
                long maxTimeout, 
                long maxTimeToOutputResponse, 
                TimeUnit maxTimeUnits)

यह डिवाइस पर शेल कमांड चलाता है और आउटपुट वापस लाता है. आउटपुट मिलते ही, उसे rcvr को भेज दिया जाता है.

पैरामीटर
adbSockAddr InetSocketAddress: adb के लिए InetSocketAddress.

command String: शेल कमांड को चलाने के लिए

device IDevice: वह IDevice जिस पर कमांड को चलाना है.

rcvr IShellOutputReceiver: वह IShellOutputReceiver जो शेल कमांड का आउटपुट पाएगा

maxTimeout long: कमांड के जवाब देने का ज़्यादा से ज़्यादा समय. 0 वैल्यू का मतलब है कि कोई ज़्यादा से ज़्यादा समयसीमा लागू नहीं होगी.

maxTimeToOutputResponse long: कमांड के आउटपुट के बीच ज़्यादा से ज़्यादा समय. अगर कमांड के आउटपुट में ज़्यादा समय लगता है, तो यह तरीका ShellCommandUnresponsiveException दिखाएगा. 0 वैल्यू का मतलब है कि यह तरीका, कमांड के आउटपुट के लिए हमेशा इंतज़ार करेगा और कभी भी थ्रो नहीं करेगा.

maxTimeUnits TimeUnit: शून्य से अलग maxTimeout और maxTimeToOutputResponse वैल्यू के लिए इकाइयां.

थ्रो
AdbCommandRejectedException अगर adb निर्देश को अस्वीकार करता है
ShellCommandUnresponsiveException अगर शेल कमांड, maxTimeToOutputResponse से ज़्यादा समय तक कोई आउटपुट नहीं भेजती है.
TimeoutException कनेक्शन टाइम आउट होने पर, निर्देश भेजने के लिए इस कुकी का इस्तेमाल किया जाता है.
IOException कनेक्शन पर I/O में गड़बड़ी होने पर.

यह भी देखें:

executeRemoteCommand

public static void executeRemoteCommand (InetSocketAddress adbSockAddr, 
                String command, 
                IDevice device, 
                IShellOutputReceiver rcvr, 
                long maxTimeToOutputResponse, 
                TimeUnit maxTimeUnits)

यह डिवाइस पर शेल कमांड चलाता है और आउटपुट वापस लाता है. आउटपुट मिलते ही, उसे rcvr को भेज दिया जाता है.

पैरामीटर
adbSockAddr InetSocketAddress: adb के लिए InetSocketAddress.

command String: शेल कमांड को चलाने के लिए

device IDevice: वह IDevice जिस पर कमांड को चलाना है.

rcvr IShellOutputReceiver: वह IShellOutputReceiver जो शेल कमांड का आउटपुट पाएगा

maxTimeToOutputResponse long: कमांड के आउटपुट के बीच ज़्यादा से ज़्यादा समय. अगर कमांड के आउटपुट में ज़्यादा समय लगता है, तो यह तरीका ShellCommandUnresponsiveException दिखाएगा. 0 वैल्यू का मतलब है कि यह तरीका, कमांड के आउटपुट के लिए हमेशा इंतज़ार करेगा और कभी भी थ्रो नहीं करेगा.

maxTimeUnits TimeUnit: शून्य से ज़्यादा maxTimeToOutputResponse वैल्यू के लिए यूनिट.

थ्रो
AdbCommandRejectedException अगर adb निर्देश को अस्वीकार करता है
ShellCommandUnresponsiveException अगर शेल कमांड, maxTimeToOutputResponse से ज़्यादा समय तक कोई आउटपुट नहीं भेजती है.
TimeoutException कनेक्शन टाइम आउट होने पर, निर्देश भेजने के लिए इस कुकी का इस्तेमाल किया जाता है.
IOException कनेक्शन पर I/O में गड़बड़ी होने पर.

यह भी देखें:

formAdbRequest

public static byte[] formAdbRequest (String payloadString)

चार हेक्स अंकों से पहले एक ASCII स्ट्रिंग बनाएं. शुरुआत में मौजूद "####" स्ट्रिंग के बाकी हिस्से की लंबाई है. इसे ASCII हेक्स के तौर पर कोड में बदला गया है. इसमें केस का कोई फ़र्क़ नहीं पड़ता.

पैरामीटर
payloadString String

रिटर्न
byte[]

getFeatures

public static String getFeatures (IDevice device)

यह डिवाइस से, साथ काम करने वाली सुविधाओं के सेट के बारे में क्वेरी करता है.

पैरामीटर
device IDevice: वह डिवाइस जिस पर पोर्ट फ़ॉरवर्डिंग करनी है

रिटर्न
String

थ्रो
AdbCommandRejectedException अगर adb निर्देश को अस्वीकार करता है
TimeoutException कनेक्शन टाइम आउट होने पर.
IOException कनेक्शन पर I/O में गड़बड़ी होने पर.

getFrameBuffer

public static RawImage getFrameBuffer (InetSocketAddress adbSockAddr, 
                IDevice device, 
                long timeout, 
                TimeUnit unit)

दिए गए टाइमआउट के साथ डिवाइस से फ़्रेम बफ़र वापस पाएं. टाइम आउट की वैल्यू 0 होने का मतलब है कि यह हमेशा इंतज़ार करेगा.

पैरामीटर
adbSockAddr InetSocketAddress

device IDevice

timeout long

unit TimeUnit

रिटर्न
RawImage

थ्रो
AdbCommandRejectedException अगर adb निर्देश को अस्वीकार करता है
TimeoutException कनेक्शन टाइम आउट होने पर.
IOException कनेक्शन पर I/O में गड़बड़ी होने पर.

getHostFeatures

public static String getHostFeatures ()

यह ADB होस्ट से, काम करने वाली सुविधाओं के सेट के बारे में क्वेरी करता है.

रिटर्न
String

थ्रो
AdbCommandRejectedException अगर adb निर्देश को अस्वीकार करता है
TimeoutException कनेक्शन टाइम आउट होने पर.
IOException कनेक्शन पर I/O में गड़बड़ी होने पर.

खोलें

public static SocketChannel open (InetSocketAddress adbSockAddr, 
                IDevice device, 
                int devicePort)

होस्ट से डिवाइस के किसी पोर्ट तक, एक नया पास-थ्रू सॉकेट बनाएं और उसे कनेक्ट करें.

पैरामीटर
device IDevice: वह डिवाइस जिससे कनेक्ट करना है. यह शून्य हो सकता है. इस मामले में, कनेक्शन पहले उपलब्ध डिवाइस से होगा.

devicePort int: वह पोर्ट जिसे हम खोल रहे हैं

रिटर्न
SocketChannel

थ्रो
AdbCommandRejectedException अगर adb निर्देश को अस्वीकार करता है
TimeoutException कनेक्शन टाइम आउट होने पर.
IOException कनेक्शन पर I/O में गड़बड़ी होने पर.

rawAdbService

public static SocketChannel rawAdbService (InetSocketAddress socketAddress, 
                IDevice device, 
                String command, 
                AdbHelper.AdbService service)

किसी रिमोट डिवाइस पर सेवा शुरू करना. यह फ़ंक्शन, एक सॉकेट चैनल दिखाता है. यह चैनल, प्रोसेस को एक्ज़ीक्यूट करने के लिए कनेक्ट किया जाता है.

ddlmib, लौटाए गए SocketChannel का मालिकाना हक छोड़ देता है. साथ ही, इस्तेमाल के बाद इसे साफ़ तौर पर बंद करना ज़रूरी है.

पैरामीटर
device IDevice: वह डिवाइस जिससे कनेक्ट करना है. यह शून्य हो सकता है. इस मामले में, कनेक्शन पहले उपलब्ध डिवाइस से होगा.

command String: वह कमांड जिसे चलाना है

service AdbHelper.AdbService: कमांड चलाने के लिए इस्तेमाल किया जाने वाला AdbHelper.AdbService.

रिटर्न
SocketChannel

थ्रो
com.android.ddmlib.AdbCommandRejectedException
com.android.ddmlib.TimeoutException
java.io.IOException
AdbCommandRejectedException
IOException
TimeoutException

rawExec

public static SocketChannel rawExec (InetSocketAddress socketAddress, 
                IDevice device, 
                String executable, 
                String[] parameters)

किसी रिमोट डिवाइस पर host:exec सेवा को चालू करें. यह फ़ंक्शन, एक सॉकेट चैनल दिखाता है. यह चैनल, प्रोसेस को एक्ज़ीक्यूट करने के लिए कनेक्ट किया जाता है. ध्यान दें कि एक्ज़ेक सेवा, stdout और stderr के बीच अंतर नहीं करती. इसलिए, सॉकेट से पढ़ा गया डेटा, किसी भी आउटपुट से आ सकता है और इंटरलीव किया जा सकता है.

ddlmib, लौटाए गए SocketChannel का मालिकाना हक छोड़ देता है. साथ ही, इस्तेमाल के बाद इसे साफ़ तौर पर बंद करना ज़रूरी है.

पैरामीटर
device IDevice: वह डिवाइस जिससे कनेक्ट करना है. यह शून्य हो सकता है. इस मामले में, कनेक्शन पहले उपलब्ध डिवाइस से होगा.

executable String: चलाने के लिए, एक्ज़ीक्यूटेबल का ऐब्सलूट पाथ

parameters String: एक्ज़ीक्यूटेबल को एक्ज़ीक्यूट करने पर मिलने वाले पैरामीटर

रिटर्न
SocketChannel

थ्रो
com.android.ddmlib.AdbCommandRejectedException
com.android.ddmlib.TimeoutException
java.io.IOException
AdbCommandRejectedException
IOException
TimeoutException

readAdbResponse

public static AdbHelper.AdbResponse readAdbResponse (SocketChannel chan, 
                boolean readDiagString)

यह कुकी, किसी कमांड के बाद ADB से मिले जवाब को पढ़ती है.

पैरामीटर
chan SocketChannel: यह सॉकेट चैनल, adb से कनेक्ट होता है.

readDiagString boolean: अगर यह सही है, तो हमें 'ठीक है' जवाब के बाद गड़बड़ी की जानकारी वाली स्ट्रिंग मिलने की उम्मीद है. इसके अलावा, हम सिर्फ़ यह उम्मीद करते हैं कि गड़बड़ी की जानकारी देने वाली स्ट्रिंग में FAIL लिखा हो.

रिटर्न
AdbHelper.AdbResponse

थ्रो
TimeoutException कनेक्शन टाइम आउट होने पर.
IOException कनेक्शन पर I/O में गड़बड़ी होने पर.

पुनः बूट करें

public static void reboot (String into, 
                InetSocketAddress adbSockAddr, 
                IDevice device)

डिवाइस को रीबूट करें.

पैरामीटर
into String: किस मोड में रीबूट करना है (रिकवरी, बूटलोडर). सिर्फ़ रीबूट करने के लिए, इसे शून्य पर सेट करें.

adbSockAddr InetSocketAddress

device IDevice

थ्रो
AdbCommandRejectedException अगर adb निर्देश को अस्वीकार करता है
TimeoutException कनेक्शन टाइम आउट होने पर.
IOException कनेक्शन पर I/O में गड़बड़ी होने पर.

removeForward

public static void removeForward (InetSocketAddress adbSockAddr, 
                IDevice device, 
                String localPortSpec)

लोकल और रिमोट पोर्ट के बीच पोर्ट फ़ॉरवर्डिंग की सुविधा हटाना.

पैरामीटर
adbSockAddr InetSocketAddress: adb से कनेक्ट करने के लिए सॉकेट पता

device IDevice: वह डिवाइस जिस पर पोर्ट फ़ॉरवर्डिंग की सुविधा हटानी है

localPortSpec String: फ़ॉरवर्ड किए गए लोकल पोर्ट की जानकारी, इस फ़ॉर्मैट में होनी चाहिए: tcp:

थ्रो
AdbCommandRejectedException अगर adb निर्देश को अस्वीकार करता है
TimeoutException कनेक्शन टाइम आउट होने पर.
IOException कनेक्शन पर I/O में गड़बड़ी होने पर.

removeReverse

public static void removeReverse (InetSocketAddress adbSockAddr, 
                IDevice device, 
                String remotePortSpec)

रिमोट और लोकल पोर्ट के बीच पोर्ट रिवर्सिंग की सुविधा को हटाना.

पैरामीटर
adbSockAddr InetSocketAddress: adb से कनेक्ट करने के लिए सॉकेट पता

device IDevice: वह डिवाइस जिस पर पोर्ट रिवर्सिंग की सुविधा हटानी है

remotePortSpec String: रिमोट पोर्ट का स्पेसिफ़िकेशन, इनमें से किसी एक पर सेट किया गया है: tcp: localabstract: localreserved: localfilesystem: dev: jdwp: (सिर्फ़ रिमोट के लिए)

थ्रो
AdbCommandRejectedException अगर adb निर्देश को अस्वीकार करता है
TimeoutException कनेक्शन टाइम आउट होने पर.
IOException कनेक्शन पर I/O में गड़बड़ी होने पर.

रूट

public static void root (InetSocketAddress adbSockAddr, 
                IDevice device)

adb डेमॉन से डिवाइस पर रूट बनने के लिए कहें. ऐसा हो सकता है कि यह अनुरोध पूरा न हो. साथ ही, यह अनुरोध सिर्फ़ डेवलपर बिल्ड पर पूरा हो सकता है. ज़्यादा जानकारी के लिए, "adb root" देखें. अगर आपको यह जानना है कि यह प्रोसेस पूरी हुई है या नहीं, तो 'echo \$USER_ID' पर executeRemoteCommand का नतीजा देखें. अगर यह 0 है, तो adbd रूट के तौर पर चल रहा है.

पैरामीटर
adbSockAddr InetSocketAddress

device IDevice

थ्रो
AdbCommandRejectedException अगर adb निर्देश को अस्वीकार करता है
TimeoutException कनेक्शन टाइम आउट होने पर.
IOException कनेक्शन पर I/O में गड़बड़ी होने पर.

setDevice

public static void setDevice (SocketChannel adbChan, 
                String deviceSerialNumber)

adb को किसी डिवाइस से कम्यूनिकेट करने के लिए कहता है

पैरामीटर
adbChan SocketChannel: adb से सॉकेट कनेक्शन

deviceSerialNumber String: जिस डिवाइस से कम्यूनिकेट करना है उसका सीरियल नंबर. अगर यह शून्य है, तो डिफ़ॉल्ट रूप से चुना गया डिवाइस, adb से चुना गया डिवाइस होगा.

थ्रो
AdbCommandRejectedException अगर adb निर्देश को अस्वीकार करता है
TimeoutException कनेक्शन टाइम आउट होने पर.
IOException कनेक्शन पर I/O में गड़बड़ी होने पर.

setDevice

public static void setDevice (SocketChannel adbChan, 
                IDevice device)

IDevice दिए जाने पर, सीरियल नंबर को पकड़ें और adb को उस डिवाइस से कम्यूनिकेट करने के लिए कहें.

पैरामीटर
adbChan SocketChannel: adb से सॉकेट कनेक्शन.

device IDevice: वह डिवाइस जिससे बात करनी है.

थ्रो
AdbCommandRejectedException अगर adb निर्देश को अस्वीकार करता है
TimeoutException कनेक्शन टाइम आउट होने पर.
IOException कनेक्शन पर I/O में गड़बड़ी होने पर.

लिखो

public static void write (SocketChannel chan, 
                byte[] data, 
                int length, 
                int timeout)

"data" में मौजूद पूरा डेटा लिखे जाने तक, तय की गई लंबाई पूरी होने तक, टाइम आउट खत्म होने तक या कनेक्शन फ़ेल होने तक लिखें. अगर पूरा डेटा लिखा गया है, तो "true" वैल्यू मिलती है.

पैरामीटर
chan SocketChannel: लिखने के लिए खोला गया सॉकेट.

data byte: भेजने के लिए बफ़र.

length int: बफ़र में मौजूद डेटा की लंबाई या पूरे बफ़र को भेजने के लिए -1.

timeout int: टाइम आउट की वैल्यू. टाइम आउट की अवधि शून्य होने का मतलब है "हमेशा के लिए इंतज़ार करें".

थ्रो
TimeoutException कनेक्शन टाइम आउट होने पर.
IOException कनेक्शन पर I/O में गड़बड़ी होने पर.

लिखो

public static void write (SocketChannel chan, 
                byte[] data)

"data" में मौजूद सारा डेटा लिखे जाने तक या कनेक्शन फ़ेल होने या टाइम आउट होने तक लिखें.

इसमें डिफ़ॉल्ट टाइम आउट वैल्यू का इस्तेमाल किया जाता है.

पैरामीटर
chan SocketChannel: लिखने के लिए खोला गया सॉकेट.

data byte: भेजने के लिए बफ़र.

थ्रो
TimeoutException कनेक्शन टाइम आउट होने पर.
IOException कनेक्शन पर I/O में गड़बड़ी होने पर.