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, String command, IDevice device, IShellOutputReceiver rcvr, long maxTimeToOutputResponse, TimeUnit maxTimeUnits)

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

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 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, IDevice device)

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

static void setDevice(SocketChannel adbChan, String deviceSerialNumber)

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: (सिर्फ़ रिमोट के लिए)

थ्रो
TimeoutException कनेक्शन टाइम आउट होने पर.
AdbCommandRejectedException अगर adb निर्देश को अस्वीकार करता है, तो
कनेक्शन पर 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

थ्रो
TimeoutException कनेक्शन टाइम आउट होने पर.
AdbCommandRejectedException अगर adb निर्देश को अस्वीकार करता है, तो
कनेक्शन पर 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:फ़ॉर्मैट में होनी चाहिए

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

executeRemoteCommand

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

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

पैरामीटर
adbSockAddr InetSocketAddress: adb को ERROR(/InetSocketAddress).

command String: एक्ज़ीक्यूट करने के लिए शेल कमांड

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

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

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

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

थ्रो
TimeoutException जब निर्देश भेजते समय कनेक्शन टाइम आउट हो जाता है.
AdbCommandRejectedException अगर adb निर्देश को अस्वीकार करता है
ShellCommandUnresponsiveException अगर शेल कमांड, maxTimeToOutputResponse से ज़्यादा समय तक कोई आउटपुट नहीं भेजती है.
कनेक्शन पर 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 को ERROR(/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: यह एक वैकल्पिक ERROR(/InputStream) है. इसे निर्देश देने के बाद और जवाब पाने से पहले स्ट्रीम किया जाता है.

थ्रो
TimeoutException जब निर्देश भेजते समय कनेक्शन टाइम आउट हो जाता है.
AdbCommandRejectedException अगर adb निर्देश को अस्वीकार करता है
ShellCommandUnresponsiveException अगर शेल कमांड, maxTimeToOutputResponse से ज़्यादा समय तक कोई आउटपुट नहीं भेजती है.
कनेक्शन पर 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 को ERROR(/InetSocketAddress).

command String: एक्ज़ीक्यूट करने के लिए शेल कमांड

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

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

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

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

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

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

यह भी देखें:

formAdbRequest

public static byte[] formAdbRequest (String payloadString)

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

पैरामीटर
payloadString String

रिटर्न
byte[]

getFeatures

public static String getFeatures (IDevice device)

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

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

रिटर्न
String

थ्रो
TimeoutException कनेक्शन टाइम आउट होने पर.
AdbCommandRejectedException अगर adb निर्देश को अस्वीकार करता है, तो
कनेक्शन पर 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

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

getHostफ़ंक्शन

public static String getHostFeatures ()

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

रिटर्न
String

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

खोलें

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

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

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

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

रिटर्न
SocketChannel

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

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

थ्रो
IOException
com.android.ddmlib.TimeoutException
com.android.ddmlib.AdbCommandRejectedException
AdbCommandRejectedException
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

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

readAdbResponse

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

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

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

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

रिटर्न
AdbHelper.AdbResponse

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

फिर से चालू करो

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

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

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

adbSockAddr InetSocketAddress

device IDevice

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

removeForward

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

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

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

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

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

थ्रो
TimeoutException कनेक्शन टाइम आउट होने पर.
AdbCommandRejectedException अगर adb निर्देश को अस्वीकार करता है, तो
कनेक्शन पर 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: (सिर्फ़ रिमोट के लिए)

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

रूट

public static void root (InetSocketAddress adbSockAddr, 
                IDevice device)

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

पैरामीटर
adbSockAddr InetSocketAddress

device IDevice

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

setDevice

public static void setDevice (SocketChannel adbChan, 
                IDevice device)

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

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

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

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

setDevice

public static void setDevice (SocketChannel adbChan, 
                String deviceSerialNumber)

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

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

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

थ्रो
TimeoutException कनेक्शन टाइम आउट होने पर.
AdbCommandRejectedException अगर adb निर्देश को अस्वीकार करता है, तो
कनेक्शन पर 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 कनेक्शन टाइम आउट होने पर.
कनेक्शन पर I/O में गड़बड़ी होने पर.

मेरी मदद करो

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

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

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

पैरामीटर
chan SocketChannel: यह पैरामीटर, उस खुले हुए सॉकेट को दिखाता है जिसमें डेटा लिखा जाना है.

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

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