আপনার অ্যাপটি কোনও ডিভাইসে কেমন দেখাচ্ছে এবং আচরণ করছে তা দেখার জন্য, আপনাকে এটি তৈরি এবং চালাতে হবে। অ্যান্ড্রয়েড স্টুডিও নতুন প্রকল্প সেট আপ করে যাতে আপনি মাত্র কয়েকটি ক্লিকের মাধ্যমে আপনার অ্যাপটি ভার্চুয়াল বা ফিজিক্যাল ডিভাইসে স্থাপন করতে পারেন।
এই সারসংক্ষেপটি Android Studio ব্যবহার করে আপনার অ্যাপ তৈরি এবং চালানোর জন্য কীভাবে পরীক্ষা এবং ডিবাগিং করবেন তার উপর আলোকপাত করে। ব্যবহারকারীদের কাছে প্রকাশ করার জন্য Android Studio ব্যবহার করে আপনার অ্যাপ তৈরি করার পদ্ধতি সম্পর্কে তথ্যের জন্য, ব্যবহারকারীদের কাছে প্রকাশের জন্য Build your app দেখুন। Android Studio ব্যবহার করে বা ছাড়া আপনার বিল্ড পরিচালনা এবং কাস্টমাইজ করার বিষয়ে আরও বিস্তারিত তথ্যের জন্য, Configure your build দেখুন।
মৌলিক নির্মাণ এবং পরিচালনা
আপনার অ্যাপ তৈরি এবং চালাতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- টুলবারে, রান কনফিগারেশন মেনু থেকে আপনার অ্যাপটি নির্বাচন করুন।
টার্গেট ডিভাইস মেনুতে, আপনি যে ডিভাইসে আপনার অ্যাপ চালাতে চান সেটি নির্বাচন করুন।

যদি আপনার কোনও ডিভাইস কনফিগার না থাকে, তাহলে আপনাকে অ্যান্ড্রয়েড এমুলেটর ব্যবহার করার জন্য একটি অ্যান্ড্রয়েড ভার্চুয়াল ডিভাইস তৈরি করতে হবে অথবা একটি ফিজিক্যাল ডিভাইস সংযুক্ত করতে হবে ।
রান ক্লিক করুন
.
যদি আপনি এমন কোনও ডিভাইসে আপনার প্রকল্প চালু করার চেষ্টা করেন যার সাথে কোনও ত্রুটি বা সতর্কতা যুক্ত থাকে, তাহলে অ্যান্ড্রয়েড স্টুডিও আপনাকে সতর্ক করে। আইকনোগ্রাফি এবং স্টাইলিস্টিক পরিবর্তনগুলি ত্রুটি (ডিভাইস নির্বাচন যা একটি ভাঙা কনফিগারেশনের ফলে ঘটে) এবং সতর্কতা (ডিভাইস নির্বাচন যা অপ্রত্যাশিত আচরণের ফলে হতে পারে কিন্তু এখনও চালানো যায়) এর মধ্যে পার্থক্য করে।
নির্মাণ প্রক্রিয়া পর্যবেক্ষণ করুন
বিল্ড প্রক্রিয়া সম্পর্কে বিস্তারিত জানতে, View > Tool Windows > Build নির্বাচন করুন অথবা Build এ ক্লিক করুন।
টুল উইন্ডো বারে। বিল্ড টুল উইন্ডোটি আপনার অ্যাপ তৈরির জন্য গ্র্যাডেল যে কাজগুলি সম্পাদন করে তা প্রদর্শন করে, যেমনটি চিত্র ১-এ দেখানো হয়েছে।

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

চিত্র ২. ত্রুটি বার্তার জন্য বিল্ড আউটপুট ট্যাবটি পরীক্ষা করুন। - বিল্ড অ্যানালাইজার ট্যাব: আপনার বিল্ড সম্পর্কে বিল্ড পারফরম্যান্স বিশ্লেষণ তথ্য প্রদান করে। আরও তথ্যের জন্য বিল্ড অ্যানালাইজার দিয়ে বিল্ড পারফরম্যান্সের সমস্যা সমাধান দেখুন।
- পুনঃসূচনা: শেষ বিল্ড অ্যাকশনটি আবার সম্পাদন করে। আপনি যদি শেষবার Build > Make Selected Module চালিয়ে থাকেন, তাহলে এটি বর্তমান মডিউলটি তৈরি করবে। আপনি যদি শেষবার Build > Make Project চালিয়ে থাকেন, তাহলে এটি আপনার প্রকল্পের সমস্ত মডিউলের জন্য মধ্যবর্তী বিল্ড ফাইল তৈরি করবে।
- ফিল্টার: সফলভাবে সম্পন্ন হওয়া সতর্কতা, কাজ, অথবা উভয়ই ফিল্টার করে। এর ফলে আউটপুটে সমস্যা খুঁজে পাওয়া সহজ হতে পারে।
যদি আপনার বিল্ড ভেরিয়েন্টগুলি পণ্যের স্বাদ ব্যবহার করে, তাহলে Gradle সেই পণ্যের স্বাদ তৈরি করার জন্য টাস্কগুলিকেও আহ্বান করে। সমস্ত উপলব্ধ বিল্ড টাস্কের তালিকা দেখতে, View > Tool Windows > Gradle এ ক্লিক করুন অথবা Gradle এ ক্লিক করুন।
টুল উইন্ডো বারে।
বিল্ড প্রক্রিয়া চলাকালীন যদি কোনও ত্রুটি দেখা দেয়, তাহলে সমস্যা সমাধানে সাহায্য করার জন্য গ্র্যাডেল কমান্ড-লাইন বিকল্পগুলি সুপারিশ করতে পারে, যেমন --stacktrace অথবা --debug । আপনার বিল্ড প্রক্রিয়ার সাথে কমান্ড-লাইন বিকল্পগুলি ব্যবহার করতে:
- সেটিংস অথবা পছন্দসমূহ ডায়ালগ খুলুন:
- উইন্ডোজ বা লিনাক্সে, মেনু বার থেকে ফাইল > সেটিংস নির্বাচন করুন।
- macOS-এ, মেনু বার থেকে Android Studio > Preferences নির্বাচন করুন।
- বিল্ড, এক্সিকিউশন, ডিপ্লয়মেন্ট > কম্পাইলার- এ নেভিগেট করুন।
- কমান্ড-লাইন বিকল্পগুলির পাশের টেক্সট ক্ষেত্রে, আপনার কমান্ড-লাইন বিকল্পগুলি লিখুন।
- সংরক্ষণ এবং প্রস্থান করতে ঠিক আছে ক্লিক করুন।
পরের বার যখন আপনি আপনার অ্যাপ তৈরি করার চেষ্টা করবেন তখন Gradle এই কমান্ড-লাইন বিকল্পগুলি প্রয়োগ করবে।
এআই এজেন্ট ব্যবহার করে তৈরি করুন এবং চালান
অ্যান্ড্রয়েড স্টুডিওতে থাকা এআই এজেন্টের এমন সরঞ্জামগুলিতে অ্যাক্সেস থাকে যা এটিকে আপনার অ্যাপ তৈরি এবং স্থাপন করতে দেয় এবং তারপরে আপনার পক্ষ থেকে অ্যাপের অবস্থা যাচাই করে। যখন আপনি এজেন্ট মোড ব্যবহার করেন, তখন এজেন্ট নিম্নলিখিত কাজগুলি সম্পাদন করতে পারে:
- আপনার অ্যাপটি একটি সংযুক্ত ফিজিক্যাল ডিভাইস বা এমুলেটরে স্থাপন করুন ।
- স্ক্রিনটি পরীক্ষা করুন এবং UI পরিবর্তনগুলি যাচাই করার জন্য স্ক্রিনশট নিন।
- রানটাইম ত্রুটি বা নির্দিষ্ট লগ বার্তার জন্য লগক্যাট পরীক্ষা করুন ।
- ডেটা নেভিগেট করতে বা প্রবেশ করতে
adb shellকমান্ড ব্যবহার করে আপনার অ্যাপের সাথে ইন্টারঅ্যাক্ট করুন ।
আপনার অ্যাপ তৈরি এবং চালানোর জন্য AI এজেন্ট ব্যবহার করা বহু-পর্যায়ের কাজের জন্য কার্যকর যেখানে এজেন্টকে বারবার পরিবর্তন করতে হয় এবং যাচাই করতে হয় যে তারা প্রত্যাশা অনুযায়ী কাজ করে।

উন্নত বিল্ড এবং রান বৈশিষ্ট্য
অ্যান্ড্রয়েড স্টুডিওতে আপনার অ্যাপ তৈরি এবং চালানোর ডিফল্ট উপায়টি একটি সাধারণ অ্যাপ পরীক্ষা করার জন্য যথেষ্ট হওয়া উচিত। তবে, আপনি আরও উন্নত ব্যবহারের ক্ষেত্রে এই বিল্ড এবং রান বৈশিষ্ট্যগুলি ব্যবহার করতে পারেন:
আপনার অ্যাপটি ডিবাগ মোডে স্থাপন করতে, ডিবাগ এ ক্লিক করুন
। ডিবাগ মোডে আপনার অ্যাপ চালানোর মাধ্যমে আপনি আপনার কোডে ব্রেকপয়েন্ট সেট করতে পারবেন, ভেরিয়েবল পরীক্ষা করতে পারবেন এবং রান-টাইমে এক্সপ্রেশন মূল্যায়ন করতে পারবেন এবং ডিবাগিং টুল চালাতে পারবেন। আরও জানতে, ডিবাগ ইওর অ্যাপ দেখুন।যদি আপনার কাছে আরও বড়, জটিল অ্যাপ থাকে, তাহলে Run এ ক্লিক করার পরিবর্তে Apply Changes ব্যবহার করুন।
। এটি সময় সাশ্রয় করে, কারণ আপনি যখনই কোনও পরিবর্তন স্থাপন করতে চান তখন আপনার অ্যাপটি পুনরায় চালু করা এড়াতে পারেন। পরিবর্তন প্রয়োগ সম্পর্কে আরও তথ্যের জন্য, পরিবর্তন প্রয়োগের সাথে ক্রমবর্ধমানভাবে স্থাপন করুন বিভাগটি দেখুন।আপনি যদি জেটপ্যাক কম্পোজ ব্যবহার করেন, তাহলে লাইভ এডিট একটি পরীক্ষামূলক বৈশিষ্ট্য যা আপনাকে Run এ পুনরায় ক্লিক না করেই রিয়েল টাইমে কম্পোজেবল আপডেট করতে দেয়।
। এটি আপনাকে ন্যূনতম বাধা ছাড়াই UI কোড লেখার উপর মনোযোগ দিতে সাহায্য করে। আরও তথ্যের জন্য, লাইভ সম্পাদনা (পরীক্ষামূলক) বিভাগটি দেখুন।যদি আপনার একাধিক বিল্ড ভেরিয়েন্ট বা সংস্করণ সহ একটি অ্যাপ থাকে, তাহলে আপনি বিল্ড ভেরিয়েন্ট টুল উইন্ডো ব্যবহার করে কোন বিল্ড ভেরিয়েন্ট স্থাপন করবেন তা চয়ন করতে পারেন। একটি নির্দিষ্ট বিল্ড ভেরিয়েন্ট চালানোর বিষয়ে আরও তথ্যের জন্য, বিল্ড ভেরিয়েন্ট পরিবর্তন করুন বিভাগটি দেখুন।
অ্যাপ ইনস্টলেশন, লঞ্চ এবং পরীক্ষার বিকল্পগুলিকে সূক্ষ্মভাবে সুরক্ষিত করতে, আপনি রান/ডিবাগ কনফিগারেশন পরিবর্তন করতে পারেন। কাস্টম রান/ডিবাগ কনফিগারেশন তৈরি সম্পর্কে আরও তথ্যের জন্য, রান/ডিবাগ কনফিগারেশন তৈরি করুন বিভাগটি দেখুন।
আমরা আপনার ডেভেলপমেন্টের প্রয়োজনে Android Studio ব্যবহার করার পরামর্শ দিচ্ছি, তবে আপনি কমান্ড লাইন থেকে আপনার অ্যাপটি ভার্চুয়াল বা ফিজিক্যাল ডিভাইসেও স্থাপন করতে পারেন। আরও তথ্যের জন্য, কমান্ড লাইন থেকে আপনার অ্যাপ তৈরি করুন দেখুন।
পরিবর্তন প্রয়োগের মাধ্যমে ক্রমবর্ধমানভাবে স্থাপন করুন
অ্যান্ড্রয়েড স্টুডিও ৩.৫ এবং উচ্চতর সংস্করণে, Apply Changes আপনাকে আপনার চলমান অ্যাপে কোড এবং রিসোর্স পরিবর্তনগুলি পুশ করতে দেয়, আপনার অ্যাপটি পুনরায় চালু না করেই—এবং কিছু ক্ষেত্রে, বর্তমান কার্যকলাপ পুনরায় চালু না করেই। এই নমনীয়তা আপনাকে আপনার ডিভাইসের বর্তমান অবস্থা সংরক্ষণ করে ছোট, ক্রমবর্ধমান পরিবর্তনগুলি স্থাপন এবং পরীক্ষা করার সময় আপনার অ্যাপটি কতটা পুনরায় চালু হবে তা নিয়ন্ত্রণ করতে সহায়তা করে।
Apply Changes Android JVMTI বাস্তবায়নের ক্ষমতা ব্যবহার করে যা Android 8.0 (API লেভেল 26) বা তার বেশি চলমান ডিভাইসগুলিতে সমর্থিত। Apply Changes কীভাবে কাজ করে সে সম্পর্কে আরও জানতে, Android Studio Project Marble: Apply Changes দেখুন।
আবশ্যকতা
পরিবর্তন প্রয়োগের ক্রিয়াগুলি কেবলমাত্র তখনই উপলব্ধ যখন আপনি নিম্নলিখিত শর্তগুলি পূরণ করেন:
- আপনি একটি ডিবাগ বিল্ড ভেরিয়েন্ট ব্যবহার করে আপনার অ্যাপের APK তৈরি করেন।
- আপনি আপনার অ্যাপটি এমন একটি টার্গেট ডিভাইস বা এমুলেটরে স্থাপন করেন যা Android 8.0 (API লেভেল 26) বা তার বেশি ভার্সন চালায়।
পরিবর্তন প্রয়োগ করুন ব্যবহার করুন
আপনার পরিবর্তনগুলি একটি সামঞ্জস্যপূর্ণ ডিভাইসে স্থাপন করতে চাইলে নিম্নলিখিত বিকল্পগুলি ব্যবহার করুন:
পরিবর্তনগুলি প্রয়োগ করুন এবং কার্যকলাপ পুনরায় চালু করুন
: আপনার অ্যাক্টিভিটি রিস্টার্ট করে কিন্তু অ্যাপ রিস্টার্ট না করেই আপনার রিসোর্স এবং কোড উভয় পরিবর্তনই প্রয়োগ করার চেষ্টা করে। সাধারণত, আপনি যখন কোনও পদ্ধতির মূল অংশে কোড পরিবর্তন করেন বা বিদ্যমান রিসোর্স পরিবর্তন করেন তখন আপনি এই বিকল্পটি ব্যবহার করতে পারেন।
আপনি Control + Alt + F10 ( macOS-এ Control + Command + Shift + R ) টিপেও এই ক্রিয়াটি সম্পাদন করতে পারেন।
কোড পরিবর্তনগুলি প্রয়োগ করুন
: কোনও কিছু পুনরায় চালু না করে কেবল আপনার কোডের পরিবর্তনগুলি প্রয়োগ করার চেষ্টা করে। সাধারণত, আপনি যখন কোনও পদ্ধতির মূল অংশে কোড পরিবর্তন করেন কিন্তু কোনও সংস্থান পরিবর্তন করেন না তখন আপনি এই বিকল্পটি ব্যবহার করতে পারেন। যদি আপনি কোড এবং সংস্থান উভয়ই পরিবর্তন করে থাকেন, তাহলে পরিবর্তে পরিবর্তনগুলি প্রয়োগ করুন এবং কার্যকলাপ পুনরায় চালু করুন ব্যবহার করুন।
আপনি Control + F10 ( macOS-এ Control + Command + R ) টিপেও এই ক্রিয়াটি সম্পাদন করতে পারেন।
চালান
: সমস্ত পরিবর্তন স্থাপন করে এবং অ্যাপটি পুনরায় চালু করে। আপনার করা পরিবর্তনগুলি প্রয়োগ করুন বিকল্পগুলির যেকোনো একটি ব্যবহার করে প্রয়োগ করা না গেলে এই বিকল্পটি ব্যবহার করুন। অ্যাপ পুনরায় চালু করার জন্য কী ধরণের পরিবর্তন প্রয়োজন সে সম্পর্কে আরও জানতে, পরিবর্তনগুলি প্রয়োগের সীমাবদ্ধতা বিভাগটি দেখুন।
পরিবর্তনগুলি প্রয়োগের জন্য রান ফলব্যাক সক্ষম করুন
যখন আপনি Apply Changes এবং Restart Activity অথবা Apply Code Changes এ ক্লিক করেন, তখন Android Studio একটি নতুন APK তৈরি করে এবং পরিবর্তনগুলি প্রয়োগ করা যাবে কিনা তা নির্ধারণ করে। যদি পরিবর্তনগুলি প্রয়োগ করা না যায় এবং Apply Changes ব্যর্থ হয়, তাহলে Android Studio আপনাকে Run করতে অনুরোধ করবে।
পরিবর্তে আবার আপনার অ্যাপ।
যদি আপনি না চান যে প্রতিবার এটি ঘটলে আপনাকে অনুরোধ করা হোক, তাহলে পরিবর্তনগুলি প্রয়োগ করা না গেলে আপনার অ্যাপটি স্বয়ংক্রিয়ভাবে পুনরায় চালানোর জন্য আপনি Android Studio কনফিগার করতে পারেন। এই আচরণটি সক্ষম করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
সেটিংস অথবা পছন্দসমূহ ডায়ালগ খুলুন:
- উইন্ডোজ বা লিনাক্সে, মেনু থেকে ফাইল > সেটিংস নির্বাচন করুন।
- macOS-এ, মেনু থেকে Android Studio > Preferences নির্বাচন করুন।
বিল্ড, এক্সিকিউশন, ডিপ্লয়মেন্ট > ডিপ্লয়মেন্ট- এ নেভিগেট করুন।
পরিবর্তন প্রয়োগ করুন কর্মের যেকোনো একটি বা উভয়ের জন্য স্বয়ংক্রিয় রান ফলব্যাক সক্ষম করতে চেকবক্সগুলি নির্বাচন করুন।
ঠিক আছে ক্লিক করুন।
প্ল্যাটফর্ম-নির্ভর পরিবর্তনগুলি
Apply Changes এর কিছু বৈশিষ্ট্য Android প্ল্যাটফর্মের নির্দিষ্ট সংস্করণের উপর নির্ভর করে। এই ধরণের পরিবর্তনগুলি প্রয়োগ করতে, আপনার অ্যাপটি অবশ্যই Android এর সেই সংস্করণ (বা উচ্চতর) চলমান ডিভাইসে স্থাপন করতে হবে। উদাহরণস্বরূপ, একটি পদ্ধতি যোগ করার জন্য Android 11 বা উচ্চতর সংস্করণ প্রয়োজন।
পরিবর্তন প্রয়োগের সীমাবদ্ধতা
অ্যাপ স্থাপনের প্রক্রিয়া দ্রুত করার জন্য পরিবর্তন প্রয়োগ করুন ডিজাইন করা হয়েছে। তবে, কখন এটি ব্যবহার করা যেতে পারে তার কিছু সীমাবদ্ধতা রয়েছে।
কোড পরিবর্তন যার জন্য অ্যাপ পুনরায় চালু করতে হবে
অ্যাপটি পুনরায় চালু না হওয়া পর্যন্ত কিছু কোড এবং রিসোর্স পরিবর্তন প্রয়োগ করা যাবে না, যার মধ্যে নিম্নলিখিতগুলি অন্তর্ভুক্ত রয়েছে:
- একটি ক্ষেত্র যোগ করা বা অপসারণ করা
- একটি পদ্ধতি অপসারণ
- পদ্ধতি স্বাক্ষর পরিবর্তন করা হচ্ছে
- পদ্ধতি বা ক্লাসের সংশোধক পরিবর্তন করা
- শ্রেণী উত্তরাধিকার পরিবর্তন করা হচ্ছে
- এনামে মান পরিবর্তন করা হচ্ছে
- একটি রিসোর্স যোগ করা বা অপসারণ করা
- অ্যাপ ম্যানিফেস্ট পরিবর্তন করা হচ্ছে
- নেটিভ লাইব্রেরি পরিবর্তন করা (SO ফাইল)
লাইব্রেরি এবং প্লাগইন
কিছু লাইব্রেরি এবং প্লাগইন স্বয়ংক্রিয়ভাবে আপনার অ্যাপের ম্যানিফেস্ট ফাইলগুলিতে বা ম্যানিফেস্টে উল্লেখিত রিসোর্সে পরিবর্তন করে। এই স্বয়ংক্রিয় আপডেটগুলি নিম্নলিখিত উপায়ে পরিবর্তন প্রয়োগে হস্তক্ষেপ করতে পারে:
- যদি কোনও লাইব্রেরি বা প্লাগইন আপনার অ্যাপের ম্যানিফেস্টে পরিবর্তন করে, তাহলে আপনি পরিবর্তন প্রয়োগ করুন ব্যবহার করতে পারবেন না। আপনার পরিবর্তনগুলি দেখতে আপনাকে অবশ্যই আপনার অ্যাপটি পুনরায় চালু করতে হবে।
- যদি কোনও লাইব্রেরি বা প্লাগইন আপনার অ্যাপের রিসোর্স ফাইলগুলিতে পরিবর্তন করে, তাহলে আপনি Apply Code Changes ব্যবহার করতে পারবেন না।
। আপনাকে অবশ্যই পরিবর্তন প্রয়োগ এবং কার্যকলাপ পুনরায় চালু করতে হবে
(অথবা আপনার অ্যাপটি পুনরায় চালু করুন) আপনার পরিবর্তনগুলি দেখতে।
এই সীমাবদ্ধতাগুলি এড়াতে, আপনার ডিবাগ বিল্ড ভেরিয়েন্টের জন্য সমস্ত স্বয়ংক্রিয় আপডেট অক্ষম করুন।
উদাহরণস্বরূপ, Firebase Crashlytics প্রতিটি বিল্ডের সময় একটি অনন্য বিল্ড আইডি দিয়ে অ্যাপ রিসোর্স আপডেট করে, যা আপনাকে Apply Code Changes ব্যবহার করতে বাধা দেয়।
এবং আপনার পরিবর্তনগুলি দেখতে আপনার অ্যাপের কার্যকলাপ পুনরায় চালু করতে হবে। আপনার ডিবাগ বিল্ডগুলির সাথে Crashlytics এর পাশাপাশি Apply Code Changes ব্যবহার করতে এই আচরণটি অক্ষম করুন।
একটি ইনস্টল করা APK-তে সরাসরি কন্টেন্ট উল্লেখ করে এমন কোড
যদি আপনার কোডটি সরাসরি আপনার অ্যাপের ডিভাইসে ইনস্টল করা APK থেকে কন্টেন্ট উল্লেখ করে, তাহলে Apply Code Changes এ ক্লিক করার পরে সেই কোডটি ক্র্যাশ বা খারাপ আচরণের কারণ হতে পারে।
। এই আচরণটি ঘটে কারণ যখন আপনি Apply Code Changes এ ক্লিক করেন তখন ইনস্টলেশনের সময় ডিভাইসের অন্তর্নিহিত APK প্রতিস্থাপন করা হয়। এই ক্ষেত্রে, আপনি Apply Changes এবং Restart Activity এ ক্লিক করতে পারেন।
অথবা চালান
পরিবর্তে।
Apply Changes ব্যবহার করার সময় যদি আপনি অন্য কোনও সমস্যার সম্মুখীন হন, তাহলে একটি বাগ ফাইল করুন ।
লাইভ সম্পাদনা
লাইভ এডিট হল অ্যান্ড্রয়েড স্টুডিওর একটি পরীক্ষামূলক বৈশিষ্ট্য যা আপনাকে রিয়েল টাইমে এমুলেটর এবং ফিজিক্যাল ডিভাইসে কম্পোজেবল আপডেট করতে দেয়। এই কার্যকারিতাটি লেখা এবং আপনার অ্যাপ তৈরির মধ্যে প্রসঙ্গ পরিবর্তনকে কমিয়ে দেয়, যা আপনাকে কোনও বাধা ছাড়াই দীর্ঘ সময় ধরে কোড লেখার উপর মনোযোগ দিতে দেয়।
বিল্ড ভেরিয়েন্ট পরিবর্তন করুন
ডিফল্টরূপে, অ্যান্ড্রয়েড স্টুডিও আপনার অ্যাপের ডিবাগ সংস্করণ তৈরি করে, যা শুধুমাত্র ডেভেলপমেন্টের সময় ব্যবহারের জন্য তৈরি, যখন আপনি রান ক্লিক করেন।
.
অ্যান্ড্রয়েড স্টুডিওর ব্যবহৃত বিল্ড ভেরিয়েন্ট পরিবর্তন করতে, নিম্নলিখিতগুলির মধ্যে একটি করুন:
- মেনু থেকে বিল্ড > বিল্ড ভ্যারিয়েন্ট নির্বাচন করুন ।
- মেনু থেকে View > Tool Windows > Build Variants নির্বাচন করুন।
- টুল উইন্ডো বারে "বিল্ড ভ্যারিয়েন্টস" ট্যাবে ক্লিক করুন।
নেটিভ/C++ কোড ছাড়া প্রকল্পগুলির জন্য, বিল্ড ভ্যারিয়েন্ট প্যানেলে দুটি কলাম রয়েছে: মডিউল এবং অ্যাক্টিভ বিল্ড ভ্যারিয়েন্ট । মডিউলের অ্যাক্টিভ বিল্ড ভ্যারিয়েন্ট মান নির্ধারণ করে যে IDE আপনার সংযুক্ত ডিভাইসে কোন বিল্ড ভ্যারিয়েন্ট স্থাপন করবে এবং এডিটরে দৃশ্যমান হবে।

চিত্র ৯। বিল্ড ভ্যারিয়েন্ট প্যানেলে এমন প্রকল্পগুলির জন্য দুটি কলাম রয়েছে যেগুলিতে নেটিভ/C++ কোড নেই।
ভেরিয়েন্টগুলির মধ্যে স্যুইচ করতে, একটি মডিউলের জন্য অ্যাক্টিভ বিল্ড ভেরিয়েন্ট ঘরে ক্লিক করুন এবং তালিকা থেকে পছন্দসই ভেরিয়েন্টটি বেছে নিন।
নেটিভ/সি++ কোড সহ প্রকল্পগুলির জন্য, বিল্ড ভেরিয়েন্ট প্যানেলে তিনটি কলাম রয়েছে:
- মডিউল
- সক্রিয় বিল্ড ভেরিয়েন্ট
- সক্রিয় ABI
মডিউলের জন্য অ্যাক্টিভ বিল্ড ভ্যারিয়েন্ট মান নির্ধারণ করে যে IDE আপনার ডিভাইসে কোন বিল্ড ভ্যারিয়েন্ট স্থাপন করে এবং এডিটরে দৃশ্যমান হয়। নেটিভ মডিউলের জন্য, অ্যাক্টিভ ABI মান নির্ধারণ করে যে এডিটর কোন ABI ব্যবহার করে, কিন্তু কী স্থাপন করা হয়েছে তার উপর কোন প্রভাব ফেলে না।

চিত্র ১০। বিল্ড ভেরিয়েন্ট প্যানেলটি নেটিভ/সি++ কোড সহ প্রকল্পগুলির জন্য সক্রিয় ABI কলাম যোগ করে।
বিল্ড ভেরিয়েন্ট বা ABI পরিবর্তন করতে, অ্যাক্টিভ বিল্ড ভেরিয়েন্ট বা অ্যাক্টিভ ABI কলামের জন্য ঘরে ক্লিক করুন এবং তালিকা থেকে পছন্দসই ভেরিয়েন্ট বা ABI নির্বাচন করুন। নির্বাচন পরিবর্তন করার পরে, IDE আপনার প্রকল্পটি স্বয়ংক্রিয়ভাবে সিঙ্ক করে। অ্যাপ বা লাইব্রেরি মডিউলের জন্য যেকোনো কলাম পরিবর্তন করলে সমস্ত নির্ভরশীল সারিতে পরিবর্তনটি প্রযোজ্য হবে।
ডিফল্টরূপে, নতুন প্রকল্পগুলি দুটি বিল্ড ভেরিয়েন্টের সাথে সেট আপ করা হয়: একটি ডিবাগ ভেরিয়েন্ট এবং রিলিজ ভেরিয়েন্ট। আপনার অ্যাপটি পাবলিক রিলিজের জন্য প্রস্তুত করার জন্য আপনাকে রিলিজ ভেরিয়েন্ট তৈরি করতে হবে। বিভিন্ন বৈশিষ্ট্য বা ডিভাইসের প্রয়োজনীয়তা সহ আপনার অ্যাপের অন্যান্য ভেরিয়েন্টগুলি সংজ্ঞায়িত করতে, আপনি অতিরিক্ত বিল্ড ভেরিয়েন্টগুলি সংজ্ঞায়িত করতে পারেন।
অ্যান্ড্রয়েড স্টুডিও বিল্ড ভেরিয়েন্ট ডায়ালগে দ্বন্দ্ব
অ্যান্ড্রয়েড স্টুডিও বিল্ড ভেরিয়েন্টস ডায়ালগে, আপনি বিল্ড ভেরিয়েন্টের মধ্যে দ্বন্দ্ব নির্দেশ করে ত্রুটি বার্তা দেখতে পাবেন, যেমন নিম্নলিখিত:

এই ত্রুটিটি Gradle-এর সাথে কোনও বিল্ড সমস্যা নির্দেশ করে না। এটি নির্দেশ করে যে Android Studio IDE নির্বাচিত মডিউলগুলির ভেরিয়েন্টগুলির মধ্যে প্রতীকগুলি সমাধান করতে পারে না।
উদাহরণস্বরূপ, যদি আপনার কাছে এমন একটি মডিউল M1 থাকে যা মডিউল M2 এর ভেরিয়েন্ট v1 এর উপর নির্ভর করে, কিন্তু M2 তে IDE তে ভেরিয়েন্ট v2 নির্বাচিত থাকে, তাহলে আপনার IDE তে অমীমাংসিত প্রতীক রয়েছে। ধরুন M1 এমন একটি ক্লাসের উপর নির্ভর করে যা শুধুমাত্র v1 তে উপলব্ধ; যখন v2 নির্বাচন করা হয়, তখন সেই ক্লাসটি IDE দ্বারা জানা যায় না। অতএব এটি ক্লাসের নাম সমাধান করতে ব্যর্থ হয় এবং M1 মডিউলের কোডে ত্রুটি দেখায়।
এই ত্রুটি বার্তাগুলি প্রদর্শিত হয় কারণ IDE একসাথে একাধিক ভেরিয়েন্টের জন্য কোড লোড করতে পারে না। তবে, আপনার অ্যাপের বিল্ডের ক্ষেত্রে, এই ডায়ালগে নির্বাচিত ভেরিয়েন্টটির কোনও প্রভাব নেই, কারণ Gradle আপনার Gradle বিল্ড রেসিপিতে উল্লেখিত সোর্স কোড ব্যবহার করে আপনার অ্যাপ তৈরি করে, IDE-তে বর্তমানে কী লোড করা হচ্ছে তার উপর ভিত্তি করে নয়।
রান/ডিবাগ কনফিগারেশন পরিবর্তন করুন
যখন আপনি প্রথমবার আপনার অ্যাপটি চালান, তখন Android Studio একটি ডিফল্ট রান কনফিগারেশন ব্যবহার করে। রান কনফিগারেশনটি আপনার অ্যাপটি APK থেকে স্থাপন করতে হবে নাকি Android অ্যাপ বান্ডেল থেকে, সেই সাথে চালানোর জন্য মডিউল, স্থাপনের জন্য প্যাকেজ, শুরু করার জন্য কার্যকলাপ, লক্ষ্য ডিভাইস, এমুলেটর সেটিংস, লগক্যাট বিকল্প এবং আরও অনেক কিছু নির্দিষ্ট করে।
ডিফল্ট রান/ডিবাগ কনফিগারেশন একটি APK তৈরি করে, ডিফল্ট প্রোজেক্ট অ্যাক্টিভিটি চালু করে এবং টার্গেট ডিভাইস নির্বাচনের জন্য Select Deployment Target ডায়ালগ ব্যবহার করে। যদি ডিফল্ট সেটিংস আপনার প্রোজেক্ট বা মডিউলের সাথে মানানসই না হয়, তাহলে আপনি রান/ডিবাগ কনফিগারেশন কাস্টমাইজ করতে পারেন অথবা প্রোজেক্ট, ডিফল্ট এবং মডিউল স্তরে একটি নতুন তৈরি করতে পারেন।
রান/ডিবাগ কনফিগারেশন সম্পাদনা করতে, রান > কনফিগারেশন সম্পাদনা নির্বাচন করুন। আরও তথ্যের জন্য, রান/ডিবাগ কনফিগারেশন তৈরি এবং সম্পাদনা দেখুন।