অ্যান্ড্রয়েড সিএলআই-এর সংক্ষিপ্ত বিবরণ

অ্যান্ড্রয়েড সিএলআই হলো একটি কমান্ড-লাইন ইন্টারফেস, যা আপনাকে আপনার পছন্দের যেকোনো টুল ব্যবহার করে আরও সহজে ও দক্ষতার সাথে অ্যান্ড্রয়েড বিল্ড করতে সক্ষম করে। এটি এজেন্ট-ফার্স্ট ওয়ার্কফ্লোর জন্য মূল ডেভেলপমেন্ট দক্ষতাগুলোকে মানসম্মত করে এবং আরও কার্যকরভাবে ডেভেলপ করার জন্য প্রয়োজনীয় অফিশিয়াল টুল, দক্ষতা ও জ্ঞানের একটি প্রবেশপথ প্রদান করে। অ্যান্ড্রয়েড ডেভেলপমেন্টের ক্রমবর্ধমান ডিস্ট্রিবিউটেড প্রকৃতির জন্য এটি সিআই (CI), রক্ষণাবেক্ষণ এবং অন্য যেকোনো স্ক্রিপ্টেড অটোমেশনকেও সুবিন্যস্ত করতে পারে।

উদাহরণস্বরূপ, একজন এজেন্ট বা স্ক্রিপ্ট CLI ব্যবহার করে নিম্নলিখিত কাজগুলো করতে পারে:

  • পরিবেশ সেটআপ স্বয়ংক্রিয় করুন
  • টেমপ্লেট থেকে নতুন প্রকল্পের কাঠামো তৈরি করুন
  • আপনার টার্মিনাল থেকে সরাসরি ভার্চুয়াল ডিভাইসগুলো পরিচালনা করুন।
  • Journeys দিয়ে আপনার অ্যাপ পরীক্ষা করুন

অ্যান্ড্রয়েড সিএলআই আপনার এজেন্টদের অ্যান্ড্রয়েড স্কিল এবং বিশেষায়িত অ্যান্ড্রয়েড নলেজ বেস- এ অ্যাক্সেস দেয়, যা আপনার প্রোজেক্টগুলোতে অ্যান্ড্রয়েড-প্রস্তাবিত প্যাটার্ন এবং সেরা অনুশীলনগুলো প্রয়োগ করা নিশ্চিত করতে সাহায্য করে।

অ্যান্ড্রয়েড সিএলআই ইনস্টল করুন

অ্যান্ড্রয়েড সিএলআই ইনস্টল করতে, এই ধাপগুলো অনুসরণ করুন:

  1. অ্যান্ড্রয়েড সিএলআই ডাউনলোড করুন

  2. আপনি সর্বশেষ সংস্করণ ব্যবহার করছেন কিনা তা নিশ্চিত করতে, Android CLI আপডেট করুন:

    android update
    

আপনার মেশিনে অ্যান্ড্রয়েড সিএলআই আগে থেকেই ইনস্টল করা আছে কিনা তা পরীক্ষা করতে, which android অথবা command -v android চালান: যদি এটি একটি পাথ রিটার্ন করে, তাহলে এটি ইনস্টল করা আছে।

এজেন্টদের জন্য সেট আপ করুন

এজেন্টদের অ্যান্ড্রয়েড সিএলআই বুঝতে ও ব্যবহার করতে সাহায্য করার জন্য, android-cli স্কিলটি ইনস্টল করতে init চালান:

android init

সংগৃহীত তথ্য

অ্যান্ড্রয়েড সিএলআই টুলটির সাধারণ ব্যবহার সংক্রান্ত ডেটা সংগ্রহ করে। আমরা যে ডেটাগুলো সংগ্রহ করি তা নিচে দেওয়া হলো:

  • android কমান্ড এবং সাব-কমান্ডগুলোর প্রয়োগ, যেমন android run এবং android create
  • ব্যবহৃত নন-পজিশনাল আর্গুমেন্ট বা অপশনগুলোর নাম, যেমন --sdk বা --version
  • পজিশনাল আর্গুমেন্ট এবং ফ্ল্যাগ ভ্যালু, যা অ্যান্ড্রয়েড সিএলআই দ্বারা পরিচালিত একটি নির্দিষ্ট, পূর্বনির্ধারিত সিস্টেম অপশন সেটের সাথে ম্যাপ করা থাকে। উদাহরণস্বরূপ, আমরা medium_phone এবং large_desktop এর মতো এমুলেটর টেমপ্লেটের নাম এবং GEMINI , CLAUDE বা CODEX মতো এজেন্টের নাম সংগ্রহ করি।
  • স্ট্যাক ট্রেস এবং এক্সেপশন মেসেজ, যেখানে গোপনীয়তা নিশ্চিত করার লক্ষ্যে শনাক্তকারী তথ্য সংগ্রহের পূর্বে বেনামী করা হয়।

এখানে এমন কিছু তথ্যের উদাহরণ দেওয়া হলো যা আমরা সংগ্রহ করি না :

  • কোনো কমান্ড চালানো হলে আমরা CLI-এর প্রতিক্রিয়াগুলো সংগ্রহ করি না।
  • আমরা ব্যবহারকারীর তৈরি করা ইনপুট বা CLI-তে পাঠানো বাহ্যিক শনাক্তকারী, যেমন নির্দিষ্ট Maven কোঅর্ডিনেট, স্থানীয় ফাইলের পাথ বা কাস্টম প্রজেক্টের নাম সংগ্রহ করি না। উদাহরণস্বরূপ, যদি android create --name=com.company.internal.app কমান্ডটি চালানো হয়, আমরা রেকর্ড করি যে --name আর্গুমেন্ট ব্যবহার করে android create চালানো হয়েছে, কিন্তু আমরা com.company.internal.app মানটি সংরক্ষণ করি না।

মতামত এবং সমস্যা

যদি আপনি কোনো সমস্যার সম্মুখীন হন অথবা কোনো মতামত জানাতে চান, তাহলে বাগ রিপোর্ট করুন

পরিচিত সমস্যা

  • উইন্ডোজের জন্য android emulator কমান্ডটি বর্তমানে নিষ্ক্রিয় করা আছে।
  • উইন্ডোজ পাওয়ারশেল থেকে অ্যান্ড্রয়েড সিএলআই ডাউনলোড করা বর্তমানে সমর্থিত নয়।

অ্যান্ড্রয়েড সিএলআই কনফিগার করুন

প্রতিবার অ্যান্ড্রয়েড সিএলআই (Android CLI) চালু করার সময় ফ্ল্যাগ এবং অপশনগুলো স্বয়ংক্রিয়ভাবে প্রয়োগ করার জন্য একটি .androidrc ফাইল তৈরি করুন। আপনার অপারেটিং সিস্টেম অনুযায়ী ফাইলটি নিম্নলিখিত স্থানে সংরক্ষণ করুন:

  • ম্যাকওএস এবং লিনাক্স : ~/.androidrc
  • উইন্ডোজ : %USERPROFILE%\.androidrc

ফাইলটিতে যে ফ্ল্যাগগুলো স্বয়ংক্রিয়ভাবে প্রয়োগ করতে চান, সেগুলো প্রতি লাইনে একটি করে যোগ করুন।

উদাহরণস্বরূপ, Android CLI-কে প্রতিবার ডিফল্টরূপে একটি নির্দিষ্ট Android SDK ব্যবহার করাতে, আপনার ফাইলে --sdk ফ্ল্যাগটি যোগ করুন:

--sdk=<path-to-sdk>

বৈশ্বিক বিকল্পগুলি

এগুলো ঐচ্ছিক ফ্ল্যাগ যা আপনি অন্যান্য অ্যান্ড্রয়েড CLI কমান্ডের সাথে ব্যবহার করতে পারেন।

-h, --help

ব্যবহার: android <command> -h

বিবরণ: প্রশ্নোক্ত টুল বা নির্দিষ্ট কমান্ডের জন্য সাহায্য ম্যানুয়ালটি প্রদর্শন করুন।

উদাহরণ:

  • android -h
  • android create -h

--sdk

ব্যবহার: android --sdk=<path-to-sdk> <command>

বিবরণ: এটি হলো সেই অ্যান্ড্রয়েড এসডিকে-এর পাথ যা আপনি পরবর্তী কমান্ডের জন্য ব্যবহার করতে চান। প্রতিবার এসডিকে পরিবর্তন করার জন্য আপনার গ্লোবাল এনভায়রনমেন্ট ভেরিয়েবল পরিবর্তন না করে, আপনি ডিফল্ট অ্যান্ড্রয়েড এসডিকে সাময়িকভাবে ওভাররাইড করতে --sdk সেটিংটি ব্যবহার করতে পারেন। আপনি ডিফল্টরূপে কোন অ্যান্ড্রয়েড এসডিকে ব্যবহার করছেন তা পরীক্ষা করতে, android info চালান।

উদাহরণ: android --sdk=<path/to/sdk> sdk list

কমান্ড

এই বিভাগে সমস্ত অ্যান্ড্রয়েড CLI কমান্ডের তালিকা এবং সেগুলোর কাজ বর্ণনা করা হয়েছে। এই সমস্ত কমান্ডের আগে android ব্যবহার করতে হবে, যেমন android create , android run , ইত্যাদি। ঐচ্ছিক মডিফায়ারগুলো বন্ধনীতে [] আবদ্ধ থাকে এবং বাধ্যতামূলক আর্গুমেন্টগুলো বন্ধনীতে থাকে না।

create

ব্যবহার: android create [--dry-run] [--verbose] [--name=<application-name>] [--output=<dest-path>] [<template-name>]

বিবরণ: একটি টেমপ্লেট থেকে নতুন প্রজেক্ট শুরু করুন। টেমপ্লেটের অপশনগুলো দেখতে, android create -h চালান।

যুক্তি (বাধ্যতামূলক):

  • -o, --output - গন্তব্য প্রজেক্ট ডিরেক্টরির পথ।

বিকল্পসমূহ:

  • --dry-run - কোনো ফাইল সেভ না করেই সম্পূর্ণ প্রোজেক্ট তৈরির প্রক্রিয়াটি অনুকরণ করে। উদাহরণস্বরূপ, কোনো একটি টেমপ্লেট চূড়ান্ত করার আগে বিভিন্ন টেমপ্লেট কী কাজ করে তা দেখার জন্য আপনি একটি ড্রাই রান করতে পারেন।
  • --verbose - বিস্তারিত আউটপুট সক্ষম করে, যার মধ্যে টেমপ্লেট থেকে কোন ফাইলগুলো কপি করা হচ্ছে তার মতো তথ্যও অন্তর্ভুক্ত থাকে।
  • --name=<application-name> - প্রজেক্ট ডিরেক্টরির নাম। এটি বাদ দিলে আউটপুট ডিরেক্টরি ব্যবহৃত হবে।
  • <template-name> - যে টেমপ্লেট থেকে নতুন প্রজেক্ট তৈরি করা হবে তার নাম। এটি বাদ দিলে, empty-activity-agp-9 ব্যবহৃত হবে।

উদাহরণ: android create --dry-run --verbose empty-activity-agp-9

create list

ব্যবহার: android create list

বিবরণ: নতুন প্রজেক্ট তৈরি করার জন্য উপলব্ধ সমস্ত টেমপ্লেটের তালিকা দিন।

describe

ব্যবহার: android describe [--project_dir=<project-directory>]

বিবরণ: বর্ণনামূলক মেটাডেটা তৈরি করার জন্য একটি অ্যান্ড্রয়েড প্রজেক্ট বিশ্লেষণ করে। এই কমান্ডটি JSON ফাইলগুলির পাথ শনাক্ত করে এবং আউটপুট দেয়, যেগুলিতে প্রজেক্টের কাঠামোর বিস্তারিত বিবরণ থাকে, যার মধ্যে বিল্ড টার্গেট এবং তাদের সংশ্লিষ্ট আউটপুট আর্টিফ্যাক্টের অবস্থান (যেমন, APK ফাইল) অন্তর্ভুক্ত। এই তথ্য অন্যান্য টুল এবং কমান্ডকে দক্ষতার সাথে বিল্ড আর্টিফ্যাক্টগুলি খুঁজে পেতে সক্ষম করে।

বিকল্পসমূহ:

  • --project_dir - যে প্রজেক্ট ডিরেক্টরিটি বর্ণনা করতে চান। এটি বাদ দিলে বর্তমান ডিরেক্টরি ব্যবহৃত হবে।

উদাহরণ: android describe --project_dir=/path/to/your/project

docs

ব্যবহার:

  • android docs search <query>
  • android docs fetch <kb-url>

বিবরণ: android docs কমান্ড হলো CLI থেকে সরাসরি অ্যান্ড্রয়েড নলেজ বেস অ্যাক্সেস করার একটি দুই-ধাপের প্রক্রিয়া। প্রথমে, search কমান্ড ব্যবহার করে আপনার কোয়েরি সম্পর্কিত ডকুমেন্টেশন অনুসন্ধান করুন। অনুসন্ধানের ফলাফলে kb:// দিয়ে শুরু হওয়া বিশেষ URL অন্তর্ভুক্ত থাকবে, যা আপনি পরবর্তীতে fetch কমান্ডের সাথে ব্যবহার করে ডকুমেন্টেশন কমান্ডগুলো টার্মিনালে আউটপুট করতে পারবেন।

উদাহরণ:

  • android docs search 'How do I improve my app performance?'
  • android docs fetch kb://android/topic/performance/overview

emulator create

ব্যবহার: android emulator create [--list-profiles] [--profile=<profile-name>]

বিবরণ: একটি ভার্চুয়াল ডিভাইস তৈরি করুন।

বিকল্পসমূহ:

  • --list-profiles - ডিভাইস প্রোফাইলগুলির তালিকা দেখান যা একটি ডিভাইস তৈরি করতে ব্যবহার করা যেতে পারে।
  • --profile=<profile-name> - নির্দিষ্ট প্রোফাইল দিয়ে একটি ডিভাইস তৈরি করুন। এটি বাদ দিলে, medium_phone প্রোফাইলটি তৈরি হবে।

emulator list

ব্যবহার: android emulator list

বিবরণ: উপলব্ধ ভার্চুয়াল ডিভাইসগুলোর তালিকা দিন।

emulator start

ব্যবহারবিধি: android emulator start <device-name>

বিবরণ: নির্দিষ্ট ভার্চুয়াল ডিভাইসটি চালু করুন।

যুক্তি (বাধ্যতামূলক):

  • <device-name> - যে ডিভাইসটি দিয়ে শুরু করতে চান তার নাম (উদাহরণস্বরূপ, medium_phone )। উপলব্ধ ডিভাইসগুলো দেখতে android emulator list ব্যবহার করুন।

উদাহরণ: android emulator start medium_phone

emulator stop

ব্যবহারবিধি: android emulator stop <device-serial-number>

বিবরণ: নির্দিষ্ট ভার্চুয়াল ডিভাইসটি বন্ধ করুন।

যুক্তি (বাধ্যতামূলক):

  • <device-serial-number> - যে ডিভাইসটি বন্ধ করতে হবে তার সিরিয়াল নম্বর।

উদাহরণ: android emulator stop emulator-5554

info

ব্যবহার: android info

বিবরণ: ব্যবহৃত ডিফল্ট অ্যান্ড্রয়েড এসডিকে-এর পাথ প্রদর্শন করে। ব্যবহৃত অ্যান্ড্রয়েড এসডিকে পরিবর্তন করতে, --sdk ব্যবহার করুন।

init

ব্যবহার: android init

বিবরণ: android-cli স্কিলটি ইনস্টল করে এজেন্টদের জন্য আপনার পরিবেশ প্রস্তুত করুন।

layout

ব্যবহার: android layout [--pretty] [--output] [--diff]

বিবরণ: ফিজিক্যাল ডিভাইস বা এমুলেটরের মাধ্যমে সংযুক্ত সক্রিয় অ্যান্ড্রয়েড অ্যাপের UI লেআউটটি JSON ফরম্যাটে ফেরত দেয়।

বিকল্পসমূহ:

  • -p, --pretty - সহজে পড়ার সুবিধার জন্য JSON আউটপুটকে ইন্ডেন্টেশন এবং লাইন ব্রেক সহ ফরম্যাট করে।
  • -o, --output - লেআউট ট্রি সংরক্ষণ করার জন্য একটি ফাইলের অবস্থান নির্দিষ্ট করে। এটি বাদ দিলে, JSON সরাসরি stdout-এ প্রিন্ট করা হয়।
  • -d, --diff - সম্পূর্ণ লেআউট ট্রি-এর পরিবর্তে, শেষ অভ্যন্তরীণ স্ন্যাপশট নেওয়ার পর (শেষবার লেআউট চালানোর সময়) থেকে পরিবর্তিত হওয়া শুধুমাত্র লেআউট উপাদানগুলির একটি তালিকা ফেরত দেয়।

উদাহরণ: android layout --output=./hierarchy.json

run

ব্যবহার: android run [--debug] [--activity=<activity-name>] [--device=<serial-number>] [--type=<param>] --apks=<apk-paths>

বিবরণ: একটি সংযুক্ত ডিভাইস বা এমুলেটরে অ্যান্ড্রয়েড অ্যাপ স্থাপন করুন। এটি কোনো বিল্ড ধাপ সম্পাদন করে না; আপনি যে APK ফাইলগুলি ইনস্টল করতে চান, সেগুলির পাথ (path) আপনাকে অবশ্যই প্রদান করতে হবে।

যুক্তি (বাধ্যতামূলক):

  • --apks - আপনি যে APK ফাইলগুলো ইনস্টল করতে চান, সেগুলোর পাথের একটি কমা-দ্বারা-বিভক্ত তালিকা। এই পাথটি ফাইল সিস্টেমে আপনার বর্তমান অবস্থানের সাপেক্ষে নির্ধারিত হবে।

বিকল্পসমূহ:

  • --activity - APK ইনস্টল হয়ে গেলে যে অ্যাক্টিভিটিটি চালু হবে তার নাম। যদি একাধিক অ্যাক্টিভিটি থাকে, তবে প্রাথমিকভাবে চালু করার জন্য আপনাকে অবশ্যই একটি অ্যাক্টিভিটি নির্দিষ্ট করতে হবে।
  • --debug - অ্যাপটিকে ডিবাগ মোডে স্থাপন করে। ডিবাগ মোডে অ্যাপটি চালানোর পর, ডিবাগিং শুরু করার জন্য আপনাকে অবশ্যই অ্যান্ড্রয়েড স্টুডিওর মতো কোনো IDE বা কমান্ড-লাইন টুল থেকে আপনার ডিবাগারটি সংযোগ করতে হবে।
  • --device - টার্গেট ডিভাইস বা এমুলেটরের সিরিয়াল নম্বর। শুধুমাত্র একাধিক ডিভাইস সংযুক্ত থাকলেই এটির প্রয়োজন হয়। ডিভাইসের সিরিয়াল নম্বরগুলো খুঁজে পেতে, adb devices চালান।
  • --type - যে কম্পোনেন্ট টাইপটি দিয়ে শুরু করতে চান। UI অ্যাক্টিভিটির পরিবর্তে সরাসরি একটি ব্যাকগ্রাউন্ড সার্ভিস শুরু করতে চাইলে এটি ব্যবহার করুন। সমর্থিত টাইপগুলো হলো:
    • ACTIVITY
    • WATCH_FACE
    • TILE
    • COMPLICATION
    • DECLARATIVE_WATCH_FACE

উদাহরণ:

  • android run --apks=app/build/outputs/apk/debug/app-debug.apk - ডিফল্ট ডিভাইসে একটিমাত্র APK ডেপ্লয় করে।
  • android run --apks=base.apk,density-hdpi.apk,lang-en.apk - ডিফল্ট ডিভাইসে একাধিক APK ডেপ্লয় করে।
  • android run --apks=app-debug.apk --type=SERVICE --activity=.sync.DataSyncService - অ্যাক্টিভিটি ছাড়া একটি সার্ভিস পরীক্ষা করুন।
  • android run --apks=app-debug.apk --device=emulator-5554 - একটি নির্দিষ্ট ডিভাইসে APK ফাইলটি স্থাপন করে।

screen capture

ব্যবহার: android screen capture [--output] [--annotate]

বিবরণ: সংযুক্ত ডিভাইসটির একটি স্ক্রিনশট ধারণ করে।

বিকল্পসমূহ:

  • -o, --output - স্ক্রিনশটটি সংরক্ষণ করার জন্য একটি ফাইলের অবস্থান নির্দিষ্ট করে। এটি বাদ দিলে, কাঁচা PNG ডেটা সরাসরি stdout-এ প্রিন্ট করা হবে।
  • -a, --annotate - ইমেজে শনাক্ত করা সমস্ত UI এলিমেন্টের চারপাশে লেবেলযুক্ত বাউন্ডিং বক্স আঁকে, যা resolve কমান্ডের সাথে ব্যবহার করা হয়।

উদাহরণ: android screen capture --output=ui.png

screen resolve

ব্যবহার: android screen resolve --screenshot=<path> --string=<string>

বিবরণ: screen capture ব্যবহার করে তোলা একটি টীকাযুক্ত স্ক্রিনশটের ভিজ্যুয়াল লেবেলগুলিকে প্রকৃত স্ক্রিন স্থানাঙ্কে (x, y) রূপান্তরিত করে। এলিমেন্টগুলির অবস্থান ম্যানুয়ালি গণনা না করেই সেগুলিতে ক্লিকের স্ক্রিপ্টিং করার জন্য এটি উপযোগী।

পতাকা:

  • --screenshot - টীকাযুক্ত স্ক্রিনশটটির পথ।
  • --string - একটি স্ট্রিং যাতে #<number> ফরম্যাটে একটি UI এলিমেন্টের লেবেলের সাথে সঙ্গতিপূর্ণ অন্তত একটি প্লেসহোল্ডার অন্তর্ভুক্ত থাকে। #<number> অংশটি স্ক্রিন স্থানাঙ্ক দ্বারা প্রতিস্থাপিত হবে।

উদাহরণ:

যদি লেবেল 5 স্থানাঙ্ক (500, 1000)-এ থাকে, তাহলে কমান্ডটি

android screen resolve --screenshot=ui.png --string="input tap #5"

আউটপুট ফেরত দেয়

input tap 500 1000

sdk install

ব্যবহার: android sdk install <package[@version]> [--beta] [--canary] [--force]

বিবরণ: নির্দিষ্ট SDK প্যাকেজ(গুলি) ইনস্টল করুন।

যুক্তি (বাধ্যতামূলক):

  • package[@version] - ইনস্টল করার জন্য প্যাকেজগুলির একটি তালিকা, যা স্পেস দিয়ে আলাদা করা। যদি কোনো ভার্সন নির্দিষ্ট না করা হয়, তাহলে চ্যানেলের (ডিফল্টরূপে স্টেবল চ্যানেল) প্যাকেজটির সর্বশেষ ভার্সন ইনস্টল করা হবে।

বিকল্পসমূহ:

  • --beta - বিটা প্যাকেজ অন্তর্ভুক্ত করুন।
  • --canary - ক্যানারি প্যাকেজ অন্তর্ভুক্ত করুন।
  • --force - পুরোনো সংস্করণে জোরপূর্বক ডাউনগ্রেড করা।

উদাহরণ:

  • android sdk install platforms/android-34 build-tools/34.0.0 - স্টেবল চ্যানেল থেকে Android SDK Platform 34 এবং SDK Built Tools 34.0.0 প্যাকেজগুলোর সর্বশেষ সংস্করণ ইনস্টল করে।
  • android sdk install platforms/android-34@2 - অ্যান্ড্রয়েড এসডিকে প্ল্যাটফর্ম ৩৪ প্যাকেজের সংস্করণ ২ ইনস্টল করুন।
  • android sdk install --canary system-images/android-35/google_apis/x86_6 - ক্যানারি চ্যানেল থেকে অ্যান্ড্রয়েড ৩৫ সিস্টেম ইমেজের সর্বশেষ সংস্করণটি ইনস্টল করুন।
  • android sdk install --force platforms/android-33@1 - স্টেবল চ্যানেল থেকে অ্যান্ড্রয়েড এসডিকে প্ল্যাটফর্ম ৩৩ প্যাকেজের সংস্করণ ১-এ ফিরে যান।

sdk list

ব্যবহার: android sdk list <package-pattern>

বিবরণ: ইনস্টল করা এবং উপলব্ধ SDK প্যাকেজগুলির তালিকা দিন।

যুক্তি (বাধ্যতামূলক):

  • <package-pattern> - প্যাটার্ন অনুযায়ী প্যাকেজ ফিল্টার করুন। রেগুলার এক্সপ্রেশন সমর্থন করে।

বিকল্পসমূহ:

  • --all - ইনস্টল করা এবং উপলব্ধ সমস্ত প্যাকেজ দেখান।
  • --all-versions - প্রতিটি প্যাকেজের সকল সংস্করণ দেখান।
  • --beta - বিটা প্যাকেজ অন্তর্ভুক্ত করুন।
  • --canary - ক্যানারি প্যাকেজ অন্তর্ভুক্ত করুন।

sdk remove

ব্যবহার: android sdk remove <package-name>

বিবরণ: SDK থেকে একটি প্যাকেজ সরান।

যুক্তি (বাধ্যতামূলক):

  • <package-name> - যে প্যাকেজটি অপসারণ করতে হবে তার নাম।

উদাহরণ: android sdk remove build-tools/36.1.0

sdk update

ব্যবহার: android sdk update [--beta] [--canary] [<package-name>]

বিবরণ: চ্যানেলের (ডিফল্টরূপে স্টেবল চ্যানেল) এক বা সমস্ত প্যাকেজকে সর্বশেষ সংস্করণে আপডেট করুন। আপনি যদি কোনো প্যাকেজ নির্দিষ্ট না করেন, তবে সমস্ত প্যাকেজ আপডেট করা হবে।

বিকল্পসমূহ:

  • <package-name> - যে প্যাকেজটি আপডেট করতে হবে তার নাম।
  • --beta - বিটা প্যাকেজ অন্তর্ভুক্ত করুন।
  • --canary - ক্যানারি প্যাকেজ অন্তর্ভুক্ত করুন।
  • --force - পুরোনো সংস্করণে জোরপূর্বক ডাউনগ্রেড করা।

উদাহরণ:

  • android sdk update - আপনার এসডিকে-তে থাকা সবকিছুর জন্য আপডেট চেক করুন এবং ইনস্টল করুন।
  • android sdk update build-tools/34.0.0 - স্টেবল চ্যানেলে থাকা Android SDK Build Tools 34.0.0 প্যাকেজটিকে সর্বশেষ সংস্করণে আপডেট করুন।
  • android sdk update --canary platforms/android-35 - ক্যানারি চ্যানেলে Android SDK Platforms 35 প্যাকেজটিকে সর্বশেষ সংস্করণে আপডেট করুন।

skills add

অ্যান্ড্রয়েড স্কিল হলো বিশেষ নির্দেশনা, যা এজেন্টদের অ্যান্ড্রয়েড ডেভেলপমেন্টের সেরা অনুশীলন ও নির্দেশিকা অনুসরণ করে নির্দিষ্ট প্যাটার্নগুলো আরও ভালোভাবে বুঝতে ও প্রয়োগ করতে সাহায্য করার জন্য তৈরি করা হয়েছে। এ বিষয়ে আরও জানতে, ‘অ্যান্ড্রয়েড স্কিলের ভূমিকা’ দেখুন।

ব্যবহার: android skills add [--all] [--agent=<agent-name>] [--skill=<skill-name>]

বিবরণ: শনাক্তকৃত সকল এজেন্টের স্কিলস ডিরেক্টরিতে অ্যান্ড্রয়েড স্কিলস ইনস্টল করুন। যদি আপনার কোনো বিদ্যমান এজেন্ট ডিরেক্টরি না থাকে এবং আপনি নির্দিষ্ট কোনো এজেন্ট উল্লেখ না করেন, তাহলে জেমিনি এবং অ্যান্টিগ্র্যাভিটির জন্য স্কিলসগুলো ~/.gemini/antigravity/skills এ ইনস্টল করা হবে। যদি আপনার অ্যান্ড্রয়েড স্কিলস আগে থেকেই ইনস্টল করা থাকে, skills add কমান্ডটি স্কিলসকে সর্বশেষ সংস্করণে আপডেট করে দেবে।

বিকল্পসমূহ:

  • --all - একবারে সমস্ত অ্যান্ড্রয়েড স্কিল ইনস্টল বা আপডেট করুন। এটি বাদ দিলে (এবং --skill নির্দিষ্ট না করা হলে), শুধুমাত্র android-cli স্কিলটি ইনস্টল করা হবে।
  • --agent - যে এজেন্টদের জন্য স্কিলটি ইনস্টল বা আপডেট করতে হবে, তাদের একটি কমা-দ্বারা-বিভক্ত তালিকা। এটি বাদ দিলে, শনাক্ত হওয়া সমস্ত এজেন্টের জন্য স্কিলটি ইনস্টল করা হবে।
  • --skill - যে স্কিলটি আপনি ইনস্টল বা আপডেট করতে চান তার নাম। এটি বাদ দিলে (এবং --all নির্দিষ্ট না করা হলে), শুধুমাত্র android-cli স্কিলটিই ইনস্টল বা আপডেট করা হবে।

উদাহরণ: android skills add --agent='gemini' edge-to-edge

skills find

ব্যবহার: android skills find <string>

বিবরণ: প্রদত্ত স্ট্রিংয়ের সাথে মেলে এমন দক্ষতাগুলো খুঁজুন।

যুক্তি (বাধ্যতামূলক):

  • string - যে স্ট্রিংটি দক্ষতার বিবরণের সাথে মেলে।

উদাহরণ: android skills find 'performance'

skills list

ব্যবহার: android skills list [--long]

বিবরণ: উপলব্ধ দক্ষতাগুলোর তালিকা দিন।

বিকল্পসমূহ:

  • --long - প্রতিটি স্কিলের জন্য অতিরিক্ত তথ্য আউটপুট করবে, যার মধ্যে স্কিলটির বিবরণ এবং এটি কোন কোন এজেন্টের জন্য ইতিমধ্যে ইনস্টল করা আছে তা অন্তর্ভুক্ত থাকবে।

skills remove

ব্যবহার: android skills remove [--agent] --skill=<skill-name>

বিবরণ: একটি দক্ষতা মুছে ফেলুন। আপনি যদি নির্দিষ্ট এজেন্টদের উল্লেখ না করেন, তাহলে দক্ষতাটি সকল এজেন্টের জন্য মুছে ফেলা হবে।

যুক্তি (বাধ্যতামূলক):

  • --skill - যে দক্ষতাটি অপসারণ করতে চান তার নাম।

বিকল্পসমূহ:

  • --agent - যে এজেন্টদের থেকে দক্ষতাটি অপসারণ করতে হবে, তাদের একটি কমা-দ্বারা-বিভক্ত তালিকা। এটি বাদ দিলে, সমস্ত এজেন্টের জন্য দক্ষতাটি অপসারণ করা হবে।

উদাহরণ: android skills remove --agent='gemini' --skill=edge-to-edge

studio check

studio কমান্ডগুলো আপনাকে বা আপনার এআই এজেন্টকে অ্যান্ড্রয়েড স্টুডিওর সক্রিয় ইনস্ট্যান্সগুলোর সাথে ইন্টারঅ্যাক্ট করতে সক্ষম করে। একটি চলমান ইনস্ট্যান্সের সাথে সংযোগ স্থাপন করে, আপনি IDE-এর সক্ষমতাগুলো ব্যবহার করে ফাইল বিশ্লেষণ করতে, সিম্বলের ডিক্লারেশন ও ব্যবহার খুঁজে বের করতে, কম্পোজ প্রিভিউ রেন্ডার করতে এবং ডিপেন্ডেন্সির ভার্সন দেখতে পারেন।

ব্যবহার: android studio check

বিবরণ: চলমান অ্যান্ড্রয়েড স্টুডিও ইনস্ট্যান্সগুলোর অবস্থা পরীক্ষা করে এবং খোলা প্রজেক্টগুলোর তালিকা দেখায়। CLI এবং IDE-এর মধ্যে সংযোগ যাচাই করতে এবং একাধিক PID ও প্রজেক্ট থাকলে, আপনি যেটির সাথে সংযোগ করতে চান তা নির্বাচন করতে প্রথমে এই কমান্ডটি চালান।

আউটপুটের উদাহরণ:

সংযুক্ত থাকলে, আউটপুটে চলমান অ্যান্ড্রয়েড স্টুডিও ইনস্ট্যান্সের পিআইডি, সংস্করণ এবং খোলা প্রজেক্টগুলোর অবস্থা তালিকাভুক্ত থাকে:

pid: 32942
version: Android Studio Quail
Projects:
    READY     MyApplication /Users/username/AndroidStudioProjects/MyApplication

studio analyze-file

ব্যবহার: android studio analyze-file [--pid=<pid>] [--project=<project>] <path>

বিবরণ: অ্যান্ড্রয়েড স্টুডিও-এর IDE-র অন্তর্নির্মিত ইন্সপেকশন ইঞ্জিন ব্যবহার করে কোনো ফাইলে থাকা ত্রুটি, সতর্কতা এবং লিন্ট বিশ্লেষণ করে।

যুক্তি (বাধ্যতামূলক):

  • <path> - যে কোটলিন বা জাভা ফাইলটি বিশ্লেষণ করতে হবে তার পাথ।

বিকল্পসমূহ:

  • --pid=<pid> - একাধিক অ্যান্ড্রয়েড স্টুডিও ইনস্ট্যান্স থাকলে, নির্দিষ্ট ইনস্ট্যান্সটির PID।
  • --project=<project> - একাধিক প্রজেক্ট থাকলে, কোয়েরি করার জন্য অ্যান্ড্রয়েড স্টুডিওতে খোলা প্রজেক্টটির নাম। আপনি যদি কোনো প্রজেক্ট ডিরেক্টরির ভেতর থেকে analyze-file কমান্ডটি চালান, তাহলে ডিফল্টরূপে সেই প্রজেক্টটিই ব্যবহৃত হয়।

উদাহরণ:

android studio analyze-file \
  --project=MyApplication \
  /Users/username/AndroidStudioProjects/MyApplication/app/src/main/java/com/example/myapp/MainActivity.kt

studio find-declaration

ব্যবহার: android studio find-declaration [--short] [--context-file=<path>] [--pid=<pid>] [--project=<project>] <symbol>

বিবরণ: সিমান্টিক রেজোলিউশন ব্যবহার করে পুরো প্রজেক্ট জুড়ে কোনো সিম্বলের (ক্লাস, মেথড, ভেরিয়েবল, ফিল্ড, কনস্ট্যান্ট বা অ্যান্ড্রয়েড রিসোর্স) সঠিক ডিক্লারেশন সাইট খুঁজে বের করে।

যুক্তি (বাধ্যতামূলক):

  • <symbol> - যে কোড প্রতীকটির ঘোষণা খুঁজে বের করতে হবে, তার নাম।

বিকল্পসমূহ:

  • --context-file=<path> - এটি এমন একটি ফাইলের ঐচ্ছিক পাথ যেখানে সিম্বলটির রেফারেন্স থাকে। কনটেক্সট ফাইল প্রদান করলে তা ইম্পোর্ট এবং স্কোপ দেওয়ার মাধ্যমে দ্ব্যর্থক বা ওভারলোডেড সিম্বলগুলোর সমাধান করতে সাহায্য করে।
  • --short - আউটপুটকে সরল করে শুধু ফাইলের অবস্থান এবং লাইন ম্যাচ প্রদর্শন করে।
  • --pid=<pid> - একাধিক অ্যান্ড্রয়েড স্টুডিও ইনস্ট্যান্স থাকলে, নির্দিষ্ট ইনস্ট্যান্সটির PID।
  • --project=<project> - একাধিক প্রজেক্ট থাকলে, কোয়েরি করার জন্য অ্যান্ড্রয়েড স্টুডিওতে খোলা প্রজেক্টটির নাম। আপনি যদি কোনো প্রজেক্ট ডিরেক্টরির ভেতর থেকে find-declaration কমান্ডটি চালান, তাহলে ডিফল্টরূপে সেই প্রজেক্টটিই ব্যবহৃত হয়।

উদাহরণ:

android studio find-declaration --short HotelDetailScreen

studio find-usages

ব্যবহার: android studio find-usages [--short] [--pid=<pid>] [--project=<project>] <symbol>

বিবরণ: শব্দার্থিক বিশ্লেষণের মাধ্যমে সমগ্র প্রজেক্ট জুড়ে একটি প্রতীকের সমস্ত উল্লেখ ও ব্যবহার খুঁজে বের করে।

যুক্তি (বাধ্যতামূলক):

  • <symbol> - যে প্রতীকটির ব্যবহার খুঁজে বের করতে হবে, তার নাম।

বিকল্পসমূহ:

  • --short - আউটপুটকে সরল করে শুধুমাত্র মিলে যাওয়া ফাইলের অবস্থানগুলো প্রদর্শন করে।
  • --pid=<pid> - একাধিক অ্যান্ড্রয়েড স্টুডিও ইনস্ট্যান্স থাকলে, নির্দিষ্ট ইনস্ট্যান্সটির PID।
  • --project=<project> - একাধিক প্রজেক্ট থাকলে, অ্যান্ড্রয়েড স্টুডিওতে খোলা প্রজেক্টটির নাম যা থেকে কোয়েরি করা হবে। আপনি যদি কোনো প্রজেক্ট ডিরেক্টরির ভেতর থেকে এই কমান্ডটি চালান, তাহলে ডিফল্টরূপে সেই প্রজেক্টটি ব্যবহৃত হবে।

উদাহরণ:

android studio find-usages --short HotelDetailScreen

studio open-file

ব্যবহার: android studio open-file [--pid=<pid>] [--project=<project>] <path>

বিবরণ: অ্যান্ড্রয়েড স্টুডিও-র সক্রিয় এডিটর উইন্ডোতে সরাসরি একটি ফাইল খোলে।

যুক্তি (বাধ্যতামূলক):

  • <path> - যে ফাইলটি খুলতে হবে তার পাথ। এটি প্রজেক্ট রুট ডিরেক্টরির সাপেক্ষে অথবা একটি অ্যাবসোলিউট পাথ হিসেবে নির্দিষ্ট করা যেতে পারে।

বিকল্পসমূহ:

  • --pid=<pid> - একাধিক অ্যান্ড্রয়েড স্টুডিও ইনস্ট্যান্স থাকলে, নির্দিষ্ট ইনস্ট্যান্সটির PID।
  • --project=<project> - একাধিক প্রজেক্ট থাকলে, অ্যান্ড্রয়েড স্টুডিওতে খোলা প্রজেক্টটির নাম যা থেকে কোয়েরি করা হবে। আপনি যদি কোনো প্রজেক্ট ডিরেক্টরির ভেতর থেকে open-file কমান্ডটি চালান, তাহলে ডিফল্টরূপে সেই প্রজেক্টটিই ব্যবহৃত হয়।

উদাহরণ:

android studio open-file app/src/main/java/com/example/myapp/ui/DetailScreen.kt

studio render-compose-preview

ব্যবহার: android studio render-compose-preview [--print-semantics] [--output-image-file=<filename>] [--pid=<pid>] [--project=<project>] <path> <composable>

বিবরণ: একটি জেটপ্যাক কম্পোজ UI প্রিভিউ রেন্ডার করে এবং ঐচ্ছিকভাবে এর লেআউট সেম্যান্টিকস ট্রি ফেরত দেয়। এটি ভিজ্যুয়াল টেস্টিংয়ের জন্য অথবা AI এজেন্টদের UI লেআউটের সাথে কাজ করতে সক্ষম করার জন্য উপযোগী।

যুক্তি (বাধ্যতামূলক):

  • <path> - যে কোটলিন ফাইলটিতে কম্পোজ প্রিভিউ রয়েছে, তার পাথ।
  • <composable> - কম্পোজেবল প্রিভিউ ফাংশনের নাম (যা @Preview দিয়ে চিহ্নিত করা থাকে)।

বিকল্পসমূহ:

  • --output-image-file=<filename> - ফলাফলস্বরূপ রেন্ডার করা PNG ছবিটি যে ফাইলে লেখা হবে, তা নির্দিষ্ট করে। এটি উল্লেখ না করলে একটি অস্থায়ী ফাইল তৈরি করা হয়।
  • --print-semantics - যদি true হয়, তাহলে রেন্ডার করা Compose প্রিভিউয়ের অ্যাক্সেসিবিলিটি সিম্যান্টিকস ট্রি JSON ফরম্যাটে প্রিন্ট করে। এটি এজেন্টদের UI-এর গঠন এবং ইন্টারেক্টিভ উপাদানগুলো পার্স করতে সক্ষম করে।
  • --pid=<pid> - একাধিক অ্যান্ড্রয়েড স্টুডিও ইনস্ট্যান্স থাকলে, নির্দিষ্ট ইনস্ট্যান্সটির PID।
  • --project=<project> - একাধিক প্রজেক্ট থাকলে, কোয়েরি করার জন্য অ্যান্ড্রয়েড স্টুডিওতে খোলা প্রজেক্টটির নাম। আপনি যদি কোনো প্রজেক্ট ডিরেক্টরির ভেতর থেকে render-compose-preview কমান্ডটি চালান, তাহলে ডিফল্টরূপে সেই প্রজেক্টটি ব্যবহৃত হয়।

উদাহরণ:

android studio render-compose-preview \
  --output-image-file=preview_hotel.png \
  --print-semantics \
  app/src/main/java/com/example/myapp/ui/DetailScreen.kt \
  HotelDetailScreenPreview

studio version-lookup

ব্যবহার: android studio version-lookup [--pid=<pid>] [--project=<project>] <artifacts...>

বিবরণ: এটি গুগল ম্যাভেনের মতো রিপোজিটরিগুলোতে সাধারণ ডিপেন্ডেন্সি, অ্যান্ড্রয়েড প্ল্যাটফর্ম এবং এসডিকে টুলগুলোর সর্বশেষ উপলব্ধ সংস্করণ খুঁজে বের করে। এটি ম্যানুয়াল ডিপেন্ডেন্সি সংস্করণ যাচাই করার একটি প্রোগ্রাম্যাটিক বিকল্প প্রদান করে।

যুক্তি (বাধ্যতামূলক):

  • <artifacts...> - শনাক্তকারীগুলির একটি তালিকা যা স্পেস দিয়ে আলাদা করা। আপনি একটিমাত্র কমান্ডে একাধিক আর্টিফ্যাক্ট অনুসন্ধান করতে পারেন। সমর্থিত শনাক্তকারীগুলির মধ্যে রয়েছে:
    • Maven লাইব্রেরি: groupId:artifactId নোটেশন (উদাহরণস্বরূপ, androidx.window:window )।
    • গ্রেডল প্লাগইন: প্লাগইন আইডি (উদাহরণস্বরূপ, com.android.application )।
    • মূলশব্দ:
      • gradle (গ্রেডল বিল্ড টুল)
      • studio (অ্যান্ড্রয়েড স্টুডিও)
      • agp (অ্যান্ড্রয়েড গ্রেডল প্লাগইন)
      • ndk (অ্যান্ড্রয়েড এনডিকে)
      • sdk (অ্যান্ড্রয়েড এসডিকে)
      • emulator (অ্যান্ড্রয়েড এমুলেটর)
      • adb (অ্যান্ড্রয়েড ডিবাগ ব্রিজ)
      • compose (জেটপ্যাক কম্পোজ BOM)
      • kotlin (কোটলিন রানটাইম এবং কম্পাইলার)
      • android (অ্যান্ড্রয়েড ওএস সংস্করণ)
      • platform-tools (অ্যান্ড্রয়েড এসডিকে প্ল্যাটফর্ম-টুলস)
      • cmdline-tools (অ্যান্ড্রয়েড এসডিকে কমান্ড-লাইন টুলস)
      • build-tools (অ্যান্ড্রয়েড এসডিকে বিল্ড-টুলস)

বিকল্পসমূহ:

  • --pid=<pid> - একাধিক অ্যান্ড্রয়েড স্টুডিও ইনস্ট্যান্স থাকলে, নির্দিষ্ট ইনস্ট্যান্সটির PID।
  • --project=<project> - একাধিক প্রজেক্ট থাকলে, কোয়েরি করার জন্য অ্যান্ড্রয়েড স্টুডিওতে খোলা প্রজেক্টটির নাম। আপনি যদি কোনো প্রজেক্ট ডিরেক্টরির ভেতর থেকে version-lookup কমান্ডটি চালান, তাহলে ডিফল্টরূপে সেই প্রজেক্টটি ব্যবহৃত হয়।

উদাহরণ:

android studio version-lookup \
  androidx.compose.ui:ui \
  com.android.application \
  agp \
  kotlin

update

ব্যবহার: android update

বিবরণ: অ্যান্ড্রয়েড সিএলআই (CLI) আপডেট করুন।

-V, --version

বিবরণ: অ্যান্ড্রয়েড সিএলআই-এর বর্তমান সংস্করণটি দেখান।