Android Debug Bridge (ADB) হলো অ্যান্ড্রয়েড SDK-তে বিল্ট-ইন একটি কমান্ড-লাইন টুল। এটি আপনাকে একটি ডিভাইসের সাথে যোগাযোগ করতে এবং বিভিন্ন অ্যাকশন পারফর্ম করতে দেয়—যেমন অ্যাপ ইনস্টল ও ডিবাগ করা, ফাইল কপি করা, এবং Unix শেল এক্সেস করে কমান্ড রান করা।
ADB ব্যবহার করে আপনি হিডেন সেটিংস টweak করতে পারেন, ADB-এর সাথে সেটআপ করা অ্যাপগুলো দিয়ে পাওয়ারফুল ফিচার ইনসাবল করতে পারেন, এবং সমগ্র ডিভাইস এক্সপেরিয়েন্স উন্নত করতে পারেন। আমরা আপনাকে ADB সেটআপ করার পদ্ধতি এবং গুরুত্বপূর্ণ শেল কমান্ড দেখাব যাতে ব্যবহারিক কাজ করতে পারেন।
ADB কীভাবে কাজ করে
ADB একটি ক্লায়েন্ট-সার্ভার প্রোগ্রাম যাতে তিনটি কম্পোনেন্ট থাকে:
Client: ক্লায়েন্ট আপনার ডেভেলপমেন্ট মেশিনে শেল বা স্ক্রিপ্ট থেকে adb কমান্ড রান করে। এর ভূমিকা হলো সার্ভারে কমান্ড পাঠানো।
Daemon (adbd): ডেমন আপনার ডিভাইসে ব্যাকগ্রাউন্ড প্রসেস হিসেবে চলে। এর উদ্দেশ্য হলো USB বা TCP (এমুলেটরের জন্য) দিয়ে ADB সার্ভারের সাথে কানেক্ট হওয়া। ADB সার্ভার একটি ডিভাইসকে "অনলাইন" বলে কনসিডার করে যখন সফলভাবে ডেমনের সাথে কানেক্ট হয়।
Server: সার্ভার আপনার ডেভেলপমেন্ট মেশিনে ব্যাকগ্রাউন্ড প্রসেস হিসেবে চলে। এর কাজ হলো USB পোর্ট মনিটর করা যখন আপনি ডিভাইস অ্যাটাচ বা রিমুভ করেন, কানেক্টেড ডিভাইসের তালিকা মেইনটেইন করা, এবং প্রতিটিকে "অনলাইন", "অফলাইন", "বুটলোডার", "রিকভারি" ইত্যাদি স্টেট অ্যাসাইন করা।
যখন আপনি "adb" কমান্ড চালান, ক্লায়েন্ট প্রথমে চেক করে adb সার্ভার চলছে কিনা। যদি না থাকে, সার্ভার ডেমন খুঁজে কানেক্ট করার চেষ্টা করে। একবার সফল হলে, আপনার ডিভাইসে অথোরাইজেশন রিকোয়েস্ট আসবে এবং সেটি লোকাল TCP পোর্টের সাথে বাইন্ড হবে। এখান থেকে নির্দিষ্ট পোর্টে কমান্ড শোনা চালু থাকবে।
আপনার ডিভাইসে ADB সেটআপ
ADB প্যাকেজ ইতিমধ্যে "Android SDK Platform Tools"-এ অন্তর্ভুক্ত যা Android Studio-তে বিল্ট-ইন। আপনি যদি ক্যাজুয়াল ইউজার হোন বা ADB-এ নতুন হোন, তবে IDE ইনস্টল করার প্রয়োজন নেই। Android SDK Platform Tools-এ যান এবং আপনার অপারেটিং সিস্টেমের জন্য লিঙ্ক সিলেক্ট করুন।
গুগল পরিযোজে প্ল্যাটফর্ম টুলস আপডেট করে, তাই আপগ্রেডের সময় কিছু সমস্যা হতে পারে। আমরা প্যাকেজ ম্যানেজার ব্যবহার করার পরামর্শ দিই যাতে ADB অটোমেটিক্যালি আপডেট হয় এবং Environment Variable (Windows-এ) বা PATH (Mac-এ) সেট হয়। Windows-এ Chocolatey এবং Mac-এ Homebrew দিয়ে ADB ম্যানেজ করার গাইড দেখুন।
অ্যান্ড্রয়েডে USB ডিবাগিং ইনসাবল করুন
Settings অ্যাপ খুলুন এবং About Phone-এ যান। নিচে স্ক্রল করে Build Number সাতবার ট্যাপ করুন। "আপনি এখন একজন ডেভেলপার" মেসেজ আসবে। ফিরে Settings > System-এ যান, তারপর Advanced ট্যাপ করে Developer Options রিভিল করুন। এখানে USB Debugging অন করুন।
সারফেস লেভেলে, USB Debugging আপনার ডিভাইসকে একটি কম্পিউটারের সাথে যোগাযোগ করতে দেয় যেটি Android SDK রান করছে। বিস্তারিত জানতে আমাদের গাইড পড়ুন USB Debugging মোড অ্যান্ড্রয়েডে কীভাবে কাজ করে।
Windows-এ ADB সেটআপ
File Explorer খুলুন এবং ZIP ফাইল সেভ করা লোকেশন ব্রাউজ করুন। রাইট-ক্লিক করে C:\platform-tools-এ এক্সট্র্যাক্ট করুন। ডিভাইসটি PC-এ প্লাগ করুন এবং USB মোড "File Transfer"-এ চেঞ্জ করুন। কিছু OEM এর জন্য এটি লাগে নাও লাগে, কম্প্যাটিবিলিটির জন্য এই মোডে রাখুন।
Shift কী ধরে রেখে platform-tools ফোল্ডারে (যেখানে ADB প্যাকেজ আছে) রাইট-ক্লিক করুন। Open PowerShell window here বেছে নিন।
তারপর টাইপ করুন:
./adb devices
নোট: PowerShell-এ "adb devices" কমান্ডের আগে ডট-ফরোয়ার্ড স্ল্যাশ দিতে হয়। CMD ব্যবহার করলে এটি লাগবে না।
আপনার ডিভাইসে একটি প্রম্পট আসবে Allow USB Debugging লেখা। Always allow from this computer চেক করে OK দিন। আবার "./adb devices" কমান্ড দিন, সব ঠিক থাকলে ডিভাইসের সিরিয়াল নম্বর দেখাবে।
উপরের প্রসিডিউর কাজ করলেও, иногда ADB কানেকশন ফেইল করতে পারে। Windows PC-এ ADB কানেকশন ফিক্স করার স্টেপস জানতে আমাদের গাইড দেখুন।
Mac-এ ADB সেটআপ
Finder খুলুন এবং ZIP ফাইল আপনার পছন্দের লোকেশন (যেমন Desktop বা Downloads) এ এক্সট্র্যাক্ট করুন। ডিভাইস Mac-এ প্লাগ করুন এবং USB মোড চেঞ্জ করুন। Terminal খুলুন এবং platform-tools ফোল্ডারের পাথ টাইপ করুন:
cd /Users/[UserName]/Downloads/platform-tools
তারপর টাইপ করুন:
adb devices
ডিভাইসে "Allow USB Debugging" প্রম্পট এক্সেপ্ট করুন এবং Always allow-এ OK দিন। আবার "adb devices" কমান্ড দিয়ে ডিভাইস সিরিয়াল নম্বর দেখুন।
বায়ারলেস্লি ADB সেটআপ অ্যান্ড্রয়েডের সাথে
USB দিয়ে ADB সেটআপ সিমলেস কিন্তু প্রসিডিউর কমপ্লেক্স। এর কিছু ডিসঅডভান্টেজ: প্লাগ-ইন করা ডিভাইসের সংখ্যা পোর্টের উপর নির্ভর করে, ড্রাইভার কম্প্যাটিবিলিটি ইস্যু হতে পারে।
Wi-Fi দিয়ে ADB সেটআপ করলে এই জটিলতা দূর হয়। ADB-এর "tcpip" এবং "connect" কমান্ড ব্যবহার করে ডিভাইস বায়ারলেস্লি ব্যবহার করা যায়। কিন্তু এই কমান্ডগুলো এক্সিকিউট করার জন্য ডিভাইস USB-এ প্লাগড থাকতে হবে।
আপনি যদি অ্যান্ড্রয়েড ১১ (SDK প্ল্যাটফর্ম টুল ভার্সন ৩০ বা বেশি) বা তার উপরে থাকেন, তবে Wireless Debugging ব্যবহার করে ডিভাইস কম্পিউটারের সাথে পেয়ার করতে পারেন। এটি "pair" নামে একটি নতুন কমান্ড ব্যবহার করে যা ব্লুটুথ পেয়ারিংএর মতো কাজ করে।
Settings > Developer Options > Enable Wireless Debugging-এ যান। Pair device with pairing code সিলেক্ট করুন। পেয়ারিং কোড, IP অ্যাড্রেস এবং পোর্ট নম্বর নোট করুন।
উপরোক্ত প্রসিডিউর ফলো করে টাইপ করুন:
adb pair ipaddr:port
"ipaddr"-র জায়গায় IP অ্যাড্রেস এবং "port"-র জায়গায় পোর্ট নম্বর বসান। প্রম্পট आनेতে আগের পেয়ারিং কোড দিন। সফল হলে আপনি দেখবেন আপনার ডিভাইস পেয়ার হয়েছে।
উপযোগী ADB কমান্ড
ADB অনেক কিছু করতে পারে, এবং অধিকাংশ কেসে এটি ক্যাজুয়াল ইউজার এবং ডেভেলপার দুজনের জন্যই উপযোগী। নিচে কিছু কমান্ড দিয়েছি যা আপনার কাজে লাগতে পারে। কমান্ডগুলিতে ব্যবহার করা ইনভার্টেড কমা শুধু ইলাস্ট্রেশনের জন্য।
- adb devices: আপনার কম্পিউটারের সাথে কানেক্টেড ADB-সাপোর্টেড ডিভাইসগুলো দেখায়।
- adb reboot: আপনার ফোন রিস্টার্ট করে।
- adb install "path_to_apk": একটি অ্যাপ ইনস্টল করে।
- adb pull "remote local": ডিভাইস থেকে একটি ফাইল এবং সাব-ডিরেক্টরি কপি করে। local/remote vervangen করুন টার্গেট ফাইল/ডিরেক্টরির পাথ দিয়ে আপনার মেশিনে (local) এবং ডিভাইসে (remote)।
- adb push "local remote": একটি ফাইল এবং সাব-ডিরেক্টরি ডিভাইসে কপি করে।
- adb kill-server: adb সার্ভার প্রসেস টার্মিনেট করে এবং রিস্টার্ট করে।
- adb fastboot: ফাস্টবুট মোড ইনসাবল করে।
- adb help: ADB কমান্ডের হেল্প ডকুমেন্টেশন দেখায়।
- adb uninstall "package name": একটি অ্যাপ আনইনস্টল করে।
সকল অ্যান্ড্রয়েড প্যাকেজ লিস্ট করুন:
adb shell pm list packages
প্যাকেজের তালিকা প্রিন্ট করবে। শুধু ডিজেবলড প্যাকেজ দেখতে "-d", শুধু ইনসাবলড দেখতে "-e", শুধু সিস্টেম প্যাকেজ দেখতে "-s" টাইপ করুন।
অনিচ্ছাকৃত প্রি-ইনস্টল্ড অ্যাপ রিমুভ করুন:
adb shell pm uninstall -k --user 0 <package name>
এই কমান্ড দিয়ে আপনি রুট ছাড়া প্রি-ইনস্টল্ড অ্যাপ আনইনস্টল করতে পারেন। প্যাকেজ নাম হলো .apk ফাইলের নাম। প্যাকেজ নাম খুঁজে পেতে App Inspector নামে ফ্রি অ্যাপ ব্যবহার করতে পারেন।
অ্যাপ কম্পোনেন্ট লিস্ট করুন:
একটি অ্যাপের কম্পোনেন্ট হলো এর অ্যাক্টিভিটি, সার্ভিস, ইত্যাদি। এই কমান্ড দিয়ে আপনি হিডেন অ্যাক্টিভিটি লঞ্চ করতে পারেন বা নির্দিষ্ট ডেটা সহ ব্রডকাস্ট পাঠাতে পারেন।
adb shell dumpsys package <package name>
Activity Resolver Table এবং Service Resolver Table এর নিচে অ্যাক্টিভিটি এবং সার্ভিসের তালিকা দেখুন।
এই ADB অ্যাপগুলো ট্রাই করুন পাওয়ারফুল ফিচার ইনসাবল করার জন্য
প্রথম নজরে সেটআপ প্রসিডিউর কমপ্লেক্স লাগতে পারে—কিন্তু সেটি হার্ড নয়। আপনাকে ধাপে ধাপে ফলো করতে হবে এবং যেকোনো এরর নোট করতে হবে। এখন আপনি ADB কমান্ড জানেন, এই অ্যাপগুলো ট্রাই করুন এবং ADB কনফিগার করে আপনার অ্যান্ড্রয়েড ডিভাইসে আরও کنترل পান।