অ্যান্ড্রয়েড স্টুডিও হলো অ্যান্ড্রয়েড অ্যাপ তৈরির জন্য অফিসিয়াল ইন্টিগ্রেটেড ডেভেলপমেন্ট এনভায়রনমেন্ট (IDE)। ইন্টেলিজ আইডিয়া (IntelliJ IDEA) -এর শক্তিশালী কোড এডিটর এবং ডেভেলপার টুলসের উপর ভিত্তি করে নির্মিত অ্যান্ড্রয়েড স্টুডিও আরও অনেক ফিচার প্রদান করে, যা অ্যান্ড্রয়েড অ্যাপ তৈরির সময় আপনার কর্মদক্ষতা বাড়িয়ে তোলে, যেমন:
- একটি নমনীয় গ্রেডল-ভিত্তিক বিল্ড সিস্টেম
- একটি দ্রুত এবং বৈশিষ্ট্য সমৃদ্ধ এমুলেটর
- একটি সমন্বিত পরিবেশ যেখানে আপনি সকল অ্যান্ড্রয়েড ডিভাইসের জন্য ডেভেলপ করতে পারবেন
- এমুলেটর এবং ফিজিক্যাল ডিভাইসে কম্পোজেবল ফাইলগুলো রিয়েল টাইমে আপডেট করতে লাইভ এডিট ব্যবহার করুন।
- সাধারণ অ্যাপ ফিচার তৈরি করতে এবং স্যাম্পল কোড ইম্পোর্ট করতে সাহায্য করার জন্য কোড টেমপ্লেট এবং গিটহাব ইন্টিগ্রেশন।
- ব্যাপক পরীক্ষার সরঞ্জাম এবং কাঠামো
- পারফরম্যান্স, ব্যবহারযোগ্যতা, ভার্সন সামঞ্জস্যতা এবং অন্যান্য সমস্যা শনাক্ত করার জন্য লিন্ট টুল।
- C++ এবং NDK সমর্থন
এই পৃষ্ঠায় অ্যান্ড্রয়েড স্টুডিও-এর মৌলিক বৈশিষ্ট্যগুলোর একটি পরিচিতি দেওয়া হয়েছে। সর্বশেষ পরিবর্তনগুলোর সারসংক্ষেপের জন্য অ্যান্ড্রয়েড স্টুডিও রিলিজ নোট দেখুন।
প্রকল্পের কাঠামো

চিত্র ১. অ্যান্ড্রয়েড ভিউতে প্রজেক্ট ফাইলসমূহ।
অ্যান্ড্রয়েড স্টুডিওর প্রতিটি প্রজেক্টে সোর্স কোড ফাইল এবং রিসোর্স ফাইলসহ এক বা একাধিক মডিউল থাকে। মডিউলের প্রকারভেদগুলো হলো:
- অ্যান্ড্রয়েড অ্যাপ মডিউল
- লাইব্রেরি মডিউল
- গুগল অ্যাপ ইঞ্জিন মডিউল
ডিফল্টরূপে, অ্যান্ড্রয়েড স্টুডিও আপনার প্রোজেক্ট ফাইলগুলো অ্যান্ড্রয়েড ভিউতে প্রদর্শন করে, যেমনটি চিত্র ১-এ দেখানো হয়েছে। আপনার প্রোজেক্টের মূল সোর্স ফাইলগুলোতে দ্রুত অ্যাক্সেস দেওয়ার জন্য এই ভিউটি মডিউল অনুসারে সাজানো থাকে। সমস্ত বিল্ড ফাইল টপ লেভেলে, 'Gradle Scripts'-এর অধীনে দেখা যায়।
প্রতিটি অ্যাপ মডিউলে নিম্নলিখিত ফোল্ডারগুলো থাকে:
- ম্যানিফেস্ট : এর মধ্যে
AndroidManifest.xmlফাইলটি থাকে। - java : এতে JUnit টেস্ট কোড সহ Kotlin এবং Java সোর্স কোড ফাইলগুলো রয়েছে।
- res : এতে UI স্ট্রিং এবং বিটম্যাপ ছবির মতো সমস্ত নন-কোড রিসোর্স থাকে।
ডিস্কে থাকা অ্যান্ড্রয়েড প্রজেক্টের কাঠামো এই সরলীকৃত উপস্থাপনা থেকে ভিন্ন। প্রজেক্টের প্রকৃত ফাইল কাঠামো দেখতে, প্রজেক্ট মেনু থেকে অ্যান্ড্রয়েডের পরিবর্তে প্রজেক্ট নির্বাচন করুন।
আরও তথ্যের জন্য, প্রকল্পসমূহের সংক্ষিপ্ত বিবরণ দেখুন।
গ্রেডল বিল্ড সিস্টেম
অ্যান্ড্রয়েড স্টুডিও তার বিল্ড সিস্টেমের ভিত্তি হিসেবে গ্রেডল (Gradle) ব্যবহার করে, এবং অ্যান্ড্রয়েড গ্রেডল প্লাগইন (Android Gradle plugin) দ্বারা আরও অ্যান্ড্রয়েড-নির্দিষ্ট সক্ষমতা প্রদান করা হয়। এই বিল্ড সিস্টেমটি অ্যান্ড্রয়েড স্টুডিও মেনু থেকে একটি সমন্বিত টুল হিসেবে এবং কমান্ড লাইন থেকে স্বাধীনভাবে চলে। আপনি বিল্ড সিস্টেমের বৈশিষ্ট্যগুলো ব্যবহার করে নিম্নলিখিত কাজগুলো করতে পারেন:
- বিল্ড প্রক্রিয়াটি কাস্টমাইজ, কনফিগার এবং সম্প্রসারিত করুন।
- একই প্রজেক্ট ও মডিউল ব্যবহার করে আপনার অ্যাপের জন্য ভিন্ন ভিন্ন বৈশিষ্ট্যসহ একাধিক APK তৈরি করুন।
- বিভিন্ন সোর্স সেটের মধ্যে কোড এবং রিসোর্স পুনরায় ব্যবহার করুন।
Gradle-এর নমনীয়তা ব্যবহার করে, আপনি আপনার অ্যাপের মূল সোর্স ফাইলগুলো পরিবর্তন না করেই এই সবকিছু অর্জন করতে পারেন।
অ্যান্ড্রয়েড স্টুডিও বিল্ড ফাইলগুলোর নাম হয় build.gradle.kts যদি আপনি কোটলিন (প্রস্তাবিত) ব্যবহার করেন, অথবা build.gradle যদি আপনি গ্রুভি ব্যবহার করেন। এগুলো সাধারণ টেক্সট ফাইল, যা অ্যান্ড্রয়েড গ্র্যাডল প্লাগইন দ্বারা প্রদত্ত উপাদান ব্যবহার করে কোটলিন বা গ্রুভি সিনট্যাক্সের সাহায্যে বিল্ড কনফিগার করে। প্রতিটি প্রজেক্টে পুরো প্রজেক্টের জন্য একটি টপ-লেভেল বিল্ড ফাইল এবং প্রতিটি মডিউলের জন্য আলাদা মডিউল-লেভেল বিল্ড ফাইল থাকে। যখন আপনি একটি বিদ্যমান প্রজেক্ট ইম্পোর্ট করেন, অ্যান্ড্রয়েড স্টুডিও স্বয়ংক্রিয়ভাবে প্রয়োজনীয় বিল্ড ফাইলগুলো তৈরি করে নেয়।
বিল্ড সিস্টেম এবং আপনার বিল্ড কীভাবে কনফিগার করবেন সে সম্পর্কে আরও জানতে, আপনার বিল্ড কনফিগার করুন (Configure your build) দেখুন।
বিভিন্ন নির্মাণ
বিল্ড সিস্টেম আপনাকে একটিমাত্র প্রজেক্ট থেকে একই অ্যাপের বিভিন্ন সংস্করণ তৈরি করতে সাহায্য করে। এটি তখন কাজে আসে যখন আপনার অ্যাপের একটি ফ্রি সংস্করণ এবং একটি পেইড সংস্করণ উভয়ই থাকে, অথবা যদি আপনি গুগল প্লে-তে বিভিন্ন ডিভাইস কনফিগারেশনের জন্য একাধিক APK বিতরণ করতে চান।
বিল্ড ভ্যারিয়েন্ট কনফিগার করার বিষয়ে আরও তথ্যের জন্য, ‘বিল্ড ভ্যারিয়েন্ট কনফিগার করুন’ দেখুন।
একাধিক APK সমর্থন
একাধিক APK সমর্থনের মাধ্যমে আপনি স্ক্রিন ডেনসিটি বা ABI-এর উপর ভিত্তি করে দক্ষতার সাথে একাধিক APK তৈরি করতে পারেন। উদাহরণস্বরূপ, আপনি hdpi এবং mdpi স্ক্রিন ডেনসিটির জন্য একটি অ্যাপের আলাদা APK তৈরি করতে পারেন, এবং একই সাথে সেগুলোকে একটি একক সংস্করণ হিসেবে বিবেচনা করে test APK, javac , dx , ও ProGuard সেটিংস শেয়ার করতে দিতে পারেন।
একাধিক APK সমর্থন সম্পর্কে আরও তথ্যের জন্য, "একাধিক APK তৈরি করুন" পড়ুন।
সম্পদের সংকোচন
অ্যান্ড্রয়েড স্টুডিওতে রিসোর্স শ্রিংকিং আপনার প্যাকেজ করা অ্যাপ এবং লাইব্রেরি ডিপেন্ডেন্সিগুলো থেকে অব্যবহৃত রিসোর্স স্বয়ংক্রিয়ভাবে সরিয়ে দেয়। উদাহরণস্বরূপ, যদি আপনার অ্যাপ গুগল ড্রাইভের কার্যকারিতা অ্যাক্সেস করার জন্য গুগল প্লে পরিষেবা ব্যবহার করে, এবং আপনি বর্তমানে গুগল সাইন-ইন ব্যবহার না করেন, তাহলে রিসোর্স শ্রিংকিং ' SignInButton বাটনগুলোর জন্য বিভিন্ন ড্রয়েবল অ্যাসেট সরিয়ে দিতে পারে।
দ্রষ্টব্য: রিসোর্স সঙ্কুচিতকরণ ProGuard-এর মতো কোড সঙ্কুচিতকরণ টুলগুলির সাথে একত্রে কাজ করে।
কোড এবং রিসোর্স সংকুচিত করার বিষয়ে আরও তথ্যের জন্য, আপনার অ্যাপ সংকুচিত, অস্পষ্ট এবং অপ্টিমাইজ করুন দেখুন।
নির্ভরতা পরিচালনা করুন
আপনার প্রোজেক্টের ডিপেন্ডেন্সিগুলো মডিউল-স্তরের বিল্ড স্ক্রিপ্টে নাম দিয়ে নির্দিষ্ট করা হয়। গ্রেডল ডিপেন্ডেন্সিগুলো খুঁজে বের করে এবং আপনার বিল্ডে সেগুলোকে উপলব্ধ করে তোলে। আপনি আপনার build.gradle.kts ফাইলে মডিউল ডিপেন্ডেন্সি, রিমোট বাইনারি ডিপেন্ডেন্সি এবং লোকাল বাইনারি ডিপেন্ডেন্সি ঘোষণা করতে পারেন।
অ্যান্ড্রয়েড স্টুডিও ডিফল্টরূপে প্রোজেক্টগুলোকে মেভেন সেন্ট্রাল রিপোজিটরি ব্যবহার করার জন্য কনফিগার করে। এই কনফিগারেশনটি প্রোজেক্টের টপ-লেভেল বিল্ড ফাইলে অন্তর্ভুক্ত থাকে।
ডিপেন্ডেন্সি কনফিগার করার বিষয়ে আরও তথ্যের জন্য, “বিল্ড ডিপেন্ডেন্সি যোগ করুন” পড়ুন।
ডিবাগ এবং প্রোফাইল টুল
অ্যান্ড্রয়েড স্টুডিও আপনাকে আপনার কোডের পারফরম্যান্স ডিবাগ করতে ও উন্নত করতে সাহায্য করে, যার মধ্যে ইনলাইন ডিবাগিং এবং পারফরম্যান্স বিশ্লেষণ টুল অন্তর্ভুক্ত রয়েছে।
ইনলাইন ডিবাগিং
রেফারেন্স, এক্সপ্রেশন এবং ভেরিয়েবলের মান ইনলাইনে যাচাই করার মাধ্যমে ডিবাগার ভিউতে আপনার কোড ওয়াকথ্রু আরও উন্নত করতে ইনলাইন ডিবাগিং ব্যবহার করুন।
ইনলাইন ডিবাগ তথ্যের মধ্যে অন্তর্ভুক্ত রয়েছে:
- ইনলাইন ভেরিয়েবলের মান
- যে বস্তুগুলো একটি নির্বাচিত বস্তুকে নির্দেশ করে
- মেথড রিটার্ন মান
- ল্যাম্বডা এবং অপারেটর এক্সপ্রেশন
- টুলটিপ মান
ইনলাইন ডিবাগিং চালু করতে, ডিবাগ উইন্ডোতে সেটিংস-এ ক্লিক করুন।
এবং ‘Show Variable Values in Editor’ নির্বাচন করুন।
পারফরম্যান্স প্রোফাইলার
অ্যান্ড্রয়েড স্টুডিওতে পারফরম্যান্স প্রোফাইলার রয়েছে, যার মাধ্যমে আপনি সহজেই আপনার অ্যাপের মেমরি ও সিপিইউ ব্যবহার ট্র্যাক করতে, ডিঅ্যালোকেটেড অবজেক্ট খুঁজে বের করতে, মেমরি লিক শনাক্ত করতে, গ্রাফিক্স পারফরম্যান্স অপ্টিমাইজ করতে এবং নেটওয়ার্ক রিকোয়েস্ট বিশ্লেষণ করতে পারেন।
ডিভাইস বা এমুলেটরে আপনার অ্যাপটি চালু থাকা অবস্থায় পারফরম্যান্স প্রোফাইলার ব্যবহার করতে, View > Tool Windows > Profiler নির্বাচন করে Android Profiler খুলুন।
পারফরম্যান্স প্রোফাইলার সম্পর্কে আরও তথ্যের জন্য, আপনার অ্যাপের পারফরম্যান্স প্রোফাইল করুন দেখুন।
স্তূপ আবর্জনার স্তূপ
অ্যান্ড্রয়েড স্টুডিওতে মেমরি ব্যবহারের প্রোফাইলিং করার সময়, আপনি একই সাথে গার্বেজ কালেকশন শুরু করতে পারেন এবং জাভা হিপকে একটি অ্যান্ড্রয়েড-নির্দিষ্ট HPROF বাইনারি ফরম্যাট ফাইলে হিপ স্ন্যাপশটে ডাম্প করতে পারেন। HPROF ভিউয়ারটি ক্লাস, প্রতিটি ক্লাসের ইনস্ট্যান্স এবং একটি রেফারেন্স ট্রি প্রদর্শন করে, যা আপনাকে মেমরি ব্যবহার ট্র্যাক করতে এবং মেমরি লিক খুঁজে পেতে সহায়তা করে।
হিপ ডাম্প নিয়ে কাজ করার বিষয়ে আরও তথ্যের জন্য, “ক্যাপচার এ হিপ ডাম্প” দেখুন।
মেমরি প্রোফাইলার
মেমরি প্রোফাইলার ব্যবহার করে মেমরি অ্যালোকেশন ট্র্যাক করুন এবং নির্দিষ্ট কিছু কাজ করার সময় অবজেক্টগুলো কোথায় অ্যালোকেট করা হচ্ছে তা পর্যবেক্ষণ করুন। এই অ্যালোকেশনগুলো, ঐসব কাজের সাথে সম্পর্কিত মেথড কলগুলো সমন্বয় করার মাধ্যমে, আপনার অ্যাপের পারফরম্যান্স ও মেমরির ব্যবহার অপ্টিমাইজ করতে সাহায্য করে।
অ্যালোকেশন ট্র্যাক ও বিশ্লেষণ করার তথ্যের জন্য, ‘মেমরি অ্যালোকেশন দেখুন ’ দেখুন।
ডেটা ফাইল অ্যাক্সেস
অ্যান্ড্রয়েড এসডিকে-র টুলগুলো, যেমন সিস্ট্রেস (Systrace) এবং লগক্যাট (Logcat) , অ্যাপের বিস্তারিত বিশ্লেষণের জন্য পারফরম্যান্স ও ডিবাগিং ডেটা তৈরি করে।
উপলব্ধ তৈরি ডেটা ফাইলগুলি দেখতে:
- ক্যাপচার টুল উইন্ডোটি খুলুন।
- তৈরি হওয়া ফাইলগুলোর তালিকা থেকে ডেটা দেখার জন্য যেকোনো একটি ফাইলে ডাবল-ক্লিক করুন।
- যেকোনো HPROF ফাইলকে স্ট্যান্ডার্ড ফরম্যাটে রূপান্তর করতে সেগুলোর উপর রাইট-ক্লিক করুন।
- আপনার র্যাম ব্যবহারের ফাইল ফরম্যাটটি খতিয়ে দেখুন।
কোড পরিদর্শন
যখনই আপনি আপনার প্রোগ্রাম কম্পাইল করেন, অ্যান্ড্রয়েড স্টুডিও স্বয়ংক্রিয়ভাবে কনফিগার করা লিন্ট চেক এবং অন্যান্য IDE পরিদর্শনগুলো চালায়, যা আপনাকে আপনার কোডের কাঠামোগত মানের সমস্যাগুলো সহজে শনাক্ত ও সংশোধন করতে সাহায্য করে।
লিন্ট টুলটি আপনার অ্যান্ড্রয়েড প্রজেক্টের সোর্স ফাইলগুলো সম্ভাব্য বাগ এবং সঠিকতা, নিরাপত্তা, পারফরম্যান্স, ব্যবহারযোগ্যতা, অ্যাক্সেসিবিলিটি ও আন্তর্জাতিকীকরণের জন্য অপটিমাইজেশনের উন্নতির খোঁজে পরীক্ষা করে।

চিত্র ২. অ্যান্ড্রয়েড স্টুডিওতে লিন্ট পরিদর্শনের ফলাফল।
লিন্ট চেকের পাশাপাশি, অ্যান্ড্রয়েড স্টুডিও আপনার কোডিং কর্মপ্রবাহকে আরও সহজ করতে ইন্টেলিজ কোড ইন্সপেকশন এবং অ্যানোটেশন যাচাই করে।
আরও তথ্যের জন্য, লিন্ট চেকের মাধ্যমে আপনার কোডের উন্নতি দেখুন।
অ্যান্ড্রয়েড স্টুডিওতে টীকা
অ্যান্ড্রয়েড স্টুডিও ভেরিয়েবল, প্যারামিটার এবং রিটার্ন ভ্যালুর জন্য অ্যানোটেশন সমর্থন করে, যা আপনাকে নাল পয়েন্টার এক্সেপশন এবং রিসোর্স টাইপ কনফ্লিক্টের মতো বাগ ধরতে সাহায্য করে।
অ্যান্ড্রয়েড এসডিকে ম্যানেজার, অ্যান্ড্রয়েড স্টুডিও-তে ব্যবহারের জন্য জেটপ্যাক অ্যানোটেশনস লাইব্রেরিটিকে অ্যান্ড্রয়েড সাপোর্ট রিপোজিটরি-তে প্যাকেজ করে। অ্যান্ড্রয়েড স্টুডিও কোড পরিদর্শনের সময় কনফিগার করা অ্যানোটেশনগুলো যাচাই করে।
অ্যান্ড্রয়েড অ্যানোটেশন সম্পর্কে আরও বিস্তারিত জানতে, “অ্যানোটেশনের সাহায্যে কোড পরিদর্শন উন্নত করুন” দেখুন।
লগ বার্তা
যখন আপনি অ্যান্ড্রয়েড স্টুডিও দিয়ে আপনার অ্যাপটি বিল্ড ও রান করেন, তখন আপনি Logcat উইন্ডোতে adb আউটপুট এবং ডিভাইস লগ বার্তাগুলো দেখতে পারেন।
আপনার ডেভেলপার অ্যাকাউন্টে সাইন ইন করুন
অ্যান্ড্রয়েড স্টুডিও-তে আপনার ডেভেলপার অ্যাকাউন্টে সাইন ইন করুন, যাতে আপনি প্রমাণীকরণের প্রয়োজন এমন অতিরিক্ত টুলগুলো অ্যাক্সেস করতে পারেন, যেমন অ্যাপ কোয়ালিটি ইনসাইটস- এর ফায়ারবেস ও অ্যান্ড্রয়েড ভাইটালস এবং অ্যান্ড্রয়েড স্টুডিও-এর জেমিনি । সাইন ইন করার মাধ্যমে, আপনি ওই টুলগুলোকে গুগল পরিষেবা জুড়ে আপনার ডেটা দেখা এবং পরিচালনা করার অনুমতি দেন।
অ্যান্ড্রয়েড স্টুডিওতে আপনার ডেভেলপার অ্যাকাউন্টে সাইন ইন করতে, প্রোফাইল আইকনে ক্লিক করুন।
টুলবারের শেষে। আপনি যে ফিচারগুলো চালু করতে চান, সেগুলোর জন্য IDE-কে শুধু প্রয়োজনীয় অনুমতিগুলো দেওয়ার জন্য নির্দেশাবলী অনুসরণ করুন। আপনি যদি ইতিমধ্যেই সাইন ইন করে থাকেন, তাহলে File (macOS-এ Android Studio ) > Settings > Tools > Google Accounts থেকে অনুমতিগুলো পরিচালনা করুন।