AdbHelper

public final class AdbHelper
extends Object

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


adb-তে অনুরোধ এবং সংযোগ পরিচালনা করার জন্য সহায়ক ক্লাস।

AndroidDebugBridge হলো adb-এর সাথে সংযোগ স্থাপনের পাবলিক এপিআই, আর AdbHelper নিম্ন-স্তরের কাজগুলো করে থাকে।

এটি বর্তমানে স্পিন-ওয়েট নন-ব্লকিং আই/ও ব্যবহার করে। একটি সিলেক্টর আরও বেশি কার্যকর হবে, কিন্তু আমরা এখানে যা করছি তার জন্য এটি অতিরিক্ত মনে হচ্ছে।

সারসংক্ষেপ

নেস্টেড ক্লাস

class AdbHelper.AdbResponse

এডিবি-র প্রতিক্রিয়া।

ধ্রুবক

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 ()

এডিবি হোস্ট থেকে সমর্থিত বৈশিষ্ট্যগুলির একটি সেট কোয়েরি করে।

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)

এডিবিকে একটি নির্দিষ্ট ডিভাইসের সাথে যোগাযোগ করতে নির্দেশ দেয়।

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" ফোল্ডারের সমস্ত ডেটা লেখা শেষ না হওয়া পর্যন্ত অথবা সংযোগ ব্যর্থ বা টাইম আউট না হওয়া পর্যন্ত লিখতে থাকুন।

ধ্রুবক

হোস্ট_ট্রান্সপোর্ট

public static final String HOST_TRANSPORT

ধ্রুবক মান: 'হোস্ট:পরিবহন:'

ক্ষেত্র

ডিফল্ট_ক্যারেক্টারসেট

public static final Charset DEFAULT_CHARSET

জনসাধারণের পদ্ধতি

ক্রিয়েটফরওয়ার্ড

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

একটি স্থানীয় এবং একটি দূরবর্তী পোর্টের মধ্যে পোর্ট ফরওয়ার্ডিং তৈরি করে।

প্যারামিটার
adbSockAddr InetSocketAddress : adb-এর সাথে সংযোগ করার জন্য সকেট ঠিকানা

device IDevice : যে ডিভাইসে পোর্ট ফরওয়ার্ডিং করা হবে

localPortSpec String : ফরওয়ার্ড করার জন্য লোকাল পোর্টের স্পেসিফিকেশন, ফরম্যাটটি tcp: হওয়া উচিত।

remotePortSpec String : যে রিমোট পোর্টে ফরওয়ার্ড করতে হবে তার স্পেসিফিকেশন, নিম্নলিখিতগুলির মধ্যে একটি: tcp: স্থানীয় সারসংক্ষেপ: স্থানীয় সংরক্ষিত: স্থানীয় ফাইলসিস্টেম: দেব: jdwp: (শুধুমাত্র রিমোট)

নিক্ষেপ
AdbCommandRejectedException যদি adb কমান্ডটি প্রত্যাখ্যান করে
TimeoutException সংযোগের সময়সীমা শেষ হয়ে গেলে।
IOException সংযোগে I/O ত্রুটির ক্ষেত্রে।

লুকানো ব্যতিক্রম তৈরি করুন

public static AdbCommandRejectedException createHiddenException (String message, 
                boolean errorDuringDeviceSelection)

প্যারামিটার
message String

errorDuringDeviceSelection boolean

ফেরত
AdbCommandRejectedException

লুকানো ব্যতিক্রম তৈরি করুন

public static AdbCommandRejectedException createHiddenException (String message)

প্যারামিটার
message String

ফেরত
AdbCommandRejectedException

createJdwpForwardRequest

public static byte[] createJdwpForwardRequest (int pid)

একটি jdwp প্রসেসের জন্য পোর্ট ফরওয়ার্ডিং অনুরোধ তৈরি করে। এটি "####jwdp:{pid}" সম্বলিত একটি অ্যারে ফেরত দেয়।

প্যারামিটার
pid int : ডিভাইসে থাকা jdwp প্রসেসের পিআইডি।

ফেরত
byte[]

পাসথ্রু সংযোগ তৈরি করুন

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: স্থানীয় সারসংক্ষেপ: স্থানীয় সংরক্ষিত: স্থানীয় ফাইলসিস্টেম: দেব: 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 : সম্পূর্ণ কমান্ডটি কার্যকর হওয়ার জন্য সর্বোচ্চ সময়সীমা। ০ মানে কোনো সময়সীমা নেই।

maxTimeToOutputResponse long : কমান্ড আউটপুটের মধ্যে সর্বোচ্চ সময়। কমান্ড আউটপুটের মধ্যে এর চেয়ে বেশি সময় অতিবাহিত হলে, মেথডটি ShellCommandUnresponsiveException থ্রো করবে। ০ মানটির অর্থ হলো মেথডটি কমান্ড আউটপুটের জন্য অনির্দিষ্টকাল অপেক্ষা করবে এবং কখনোই থ্রো করবে না।

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 : কমান্ডটি রিটার্ন করার জন্য সর্বোচ্চ সময়। ০ মানটির অর্থ হলো কোনো সর্বোচ্চ টাইমআউট প্রযোজ্য হবে না।

maxTimeToOutputResponse long : কমান্ড আউটপুটের মধ্যে সর্বোচ্চ সময়। কমান্ড আউটপুটের মধ্যে এর চেয়ে বেশি সময় অতিবাহিত হলে, মেথডটি ShellCommandUnresponsiveException থ্রো করবে। ০ মানটির অর্থ হলো মেথডটি কমান্ড আউটপুটের জন্য অনির্দিষ্টকাল অপেক্ষা করবে এবং কখনোই থ্রো করবে না।

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 থ্রো করবে। ০ মানটির অর্থ হলো মেথডটি কমান্ড আউটপুটের জন্য অনির্দিষ্টকাল অপেক্ষা করবে এবং কখনোই থ্রো করবে না।

maxTimeUnits TimeUnit : maxTimeToOutputResponse অশূন্য মানগুলোর জন্য একক।

নিক্ষেপ
AdbCommandRejectedException যদি adb কমান্ডটি প্রত্যাখ্যান করে
ShellCommandUnresponsiveException যদি শেল কমান্ডটি maxTimeToOutputResponse অপেক্ষা দীর্ঘ সময় ধরে কোনো আউটপুট না পাঠায়।
TimeoutException কমান্ড পাঠানোর সময় সংযোগে সময়সীমা শেষ হয়ে গেলে।
IOException সংযোগে I/O ত্রুটির ক্ষেত্রে।

আরও দেখুন:

ফর্মএডিবি অনুরোধ

public static byte[] formAdbRequest (String payloadString)

চারটি হেক্স ডিজিটের পরে একটি ASCII স্ট্রিং তৈরি করুন। শুরুর "####" হলো স্ট্রিংটির বাকি অংশের দৈর্ঘ্য, যা ASCII হেক্স হিসাবে এনকোড করা হয় (কেস বিবেচ্য নয়)।

প্যারামিটার
payloadString String

ফেরত
byte[]

বৈশিষ্ট্য পান

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)

প্রদত্ত টাইমআউটের মধ্যে ডিভাইস থেকে ফ্রেম বাফারটি পুনরুদ্ধার করুন। টাইমআউট ০ হলে বোঝায় যে এটি অনির্দিষ্টকালের জন্য অপেক্ষা করবে।

প্যারামিটার
adbSockAddr InetSocketAddress

device IDevice

timeout long

unit TimeUnit

ফেরত
RawImage

নিক্ষেপ
AdbCommandRejectedException যদি adb কমান্ডটি প্রত্যাখ্যান করে
TimeoutException সংযোগের সময়সীমা শেষ হয়ে গেলে।
IOException সংযোগে I/O ত্রুটির ক্ষেত্রে।

হোস্ট বৈশিষ্ট্য পান

public static String getHostFeatures ()

এডিবি হোস্ট থেকে সমর্থিত বৈশিষ্ট্যগুলির একটি সেট কোয়েরি করে।

ফেরত
String

নিক্ষেপ
AdbCommandRejectedException যদি adb কমান্ডটি প্রত্যাখ্যান করে
TimeoutException সংযোগের সময়সীমা শেষ হয়ে গেলে।
IOException সংযোগে I/O ত্রুটির ক্ষেত্রে।

খোলা

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

হোস্ট থেকে ডিভাইসের একটি পোর্টে একটি নতুন পাস-থ্রু সকেট তৈরি ও সংযুক্ত করুন।

প্যারামিটার
device IDevice : যে ডিভাইসের সাথে সংযোগ স্থাপন করতে হবে। এটি null হতে পারে, সেক্ষেত্রে সংযোগটি প্রথম উপলব্ধ ডিভাইসের সাথে হবে।

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 : যে ডিভাইসের সাথে সংযোগ স্থাপন করতে হবে। এটি null হতে পারে, সেক্ষেত্রে সংযোগটি প্রথম উপলব্ধ ডিভাইসের সাথে হবে।

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 সার্ভিসটি চালু করুন। এটি চলমান প্রসেসের সাথে সংযুক্ত একটি সকেট চ্যানেল ফেরত দেবে। উল্লেখ্য যে, exec সার্ভিস stdout এবং stderr-এর মধ্যে কোনো পার্থক্য করে না, তাই সকেট থেকে যা কিছু পড়া হয় তা উভয় আউটপুট থেকেই আসতে পারে এবং একে অপরের সাথে মিশে যেতে পারে।

ddlmib ফেরত আসা SocketChannel-এর মালিকানা ত্যাগ করে এবং ব্যবহারের পর এটিকে অবশ্যই সুস্পষ্টভাবে বন্ধ করতে হবে।

প্যারামিটার
device IDevice : যে ডিভাইসের সাথে সংযোগ স্থাপন করতে হবে। এটি null হতে পারে, সেক্ষেত্রে সংযোগটি প্রথম উপলব্ধ ডিভাইসের সাথে হবে।

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 : যদি true হয়, তাহলে আমরা একটি OKAY প্রতিক্রিয়ার পরে একটি ডায়াগনস্টিক স্ট্রিং আশা করব। অন্যথায়, আমরা কেবল একটি FAIL-এর পরেই ডায়াগনস্টিক স্ট্রিংটি আশা করব।

ফেরত
AdbHelper.AdbResponse

নিক্ষেপ
TimeoutException সংযোগের সময়সীমা শেষ হয়ে গেলে।
IOException সংযোগে I/O ত্রুটির ক্ষেত্রে।

রিবুট

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

ডিভাইসটি রিবুট করুন।

প্যারামিটার
into String : কীসে রিবুট করতে হবে (রিকভারি, বুটলোডার)। অথবা শুধু রিবুট করার জন্য নাল (null)।

adbSockAddr InetSocketAddress

device IDevice

নিক্ষেপ
AdbCommandRejectedException যদি adb কমান্ডটি প্রত্যাখ্যান করে
TimeoutException সংযোগের সময়সীমা শেষ হয়ে গেলে।
IOException সংযোগে I/O ত্রুটির ক্ষেত্রে।

অপসারণ করুন

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

একটি স্থানীয় এবং একটি দূরবর্তী পোর্টের মধ্যে পোর্ট ফরওয়ার্ডিং অপসারণ করুন।

প্যারামিটার
adbSockAddr InetSocketAddress : adb-এর সাথে সংযোগ করার জন্য সকেট ঠিকানা

device IDevice : যে ডিভাইস থেকে পোর্ট ফরওয়ার্ডিং অপসারণ করতে হবে

localPortSpec String : ফরওয়ার্ড করা লোকাল পোর্টের বিবরণ, এর ফরম্যাট tcp: হওয়া উচিত।

নিক্ষেপ
AdbCommandRejectedException যদি adb কমান্ডটি প্রত্যাখ্যান করে
TimeoutException সংযোগের সময়সীমা শেষ হয়ে গেলে।
IOException সংযোগে I/O ত্রুটির ক্ষেত্রে।

রিমুভরিভার্স

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

রিমোট এবং লোকাল পোর্টের মধ্যে পোর্ট রিভার্সিং অপসারণ করুন।

প্যারামিটার
adbSockAddr InetSocketAddress : adb-এর সাথে সংযোগ করার জন্য সকেট ঠিকানা

device IDevice : যে ডিভাইস থেকে পোর্ট রিভার্সিং অপসারণ করতে হবে

remotePortSpec String : রিমোট পোর্টের স্পেসিফিকেশন যা বিপরীতক্রমে ব্যবহৃত হবে, নিম্নলিখিতগুলির মধ্যে একটি: tcp: স্থানীয় সারসংক্ষেপ: স্থানীয় সংরক্ষিত: স্থানীয় ফাইলসিস্টেম: দেব: 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 ত্রুটির ক্ষেত্রে।

সেটডিভাইস

public static void setDevice (SocketChannel adbChan, 
                String deviceSerialNumber)

এডিবিকে একটি নির্দিষ্ট ডিভাইসের সাথে যোগাযোগ করতে নির্দেশ দেয়।

প্যারামিটার
adbChan SocketChannel : adb-এর সাথে সকেট সংযোগ

deviceSerialNumber String : যে ডিভাইসের সাথে যোগাযোগ করতে হবে তার সিরিয়াল নম্বর, যদি null হয় তবে adb দ্বারা নির্বাচিত ডিভাইসটিই ডিফল্ট হিসেবে ব্যবহৃত হবে।

নিক্ষেপ
AdbCommandRejectedException যদি adb কমান্ডটি প্রত্যাখ্যান করে
TimeoutException সংযোগের সময়সীমা শেষ হয়ে গেলে।
IOException সংযোগে I/O ত্রুটির ক্ষেত্রে।

সেটডিভাইস

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 : লেখার জন্য দৈর্ঘ্য অথবা সম্পূর্ণ বাফারটি পাঠাতে -১।

timeout int : টাইমআউটের মান। টাইমআউট শূন্য হলে তার অর্থ হলো "চিরকাল অপেক্ষা করা"।

নিক্ষেপ
TimeoutException সংযোগের সময়সীমা শেষ হয়ে গেলে।
IOException সংযোগে I/O ত্রুটির ক্ষেত্রে।

লিখুন

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

"data" ফোল্ডারের সমস্ত ডেটা লেখা শেষ না হওয়া পর্যন্ত অথবা সংযোগ ব্যর্থ বা টাইম আউট না হওয়া পর্যন্ত লিখতে থাকুন।

এটি ডিফল্ট টাইম আউট মান ব্যবহার করে।

প্যারামিটার
chan SocketChannel : লেখার জন্য খোলা সকেট।

data byte : প্রেরণের জন্য বাফার।

নিক্ষেপ
TimeoutException সংযোগের সময়সীমা শেষ হয়ে গেলে।
IOException সংযোগে I/O ত্রুটির ক্ষেত্রে।