অ্যান্ড্রয়েড স্টুডিও ৪.২ (এপ্রিল ২০২১)
অ্যান্ড্রয়েড স্টুডিও ৪.২ একটি প্রধান সংস্করণ, যাতে বিভিন্ন নতুন বৈশিষ্ট্য এবং উন্নতি অন্তর্ভুক্ত করা হয়েছে।
৪.২.২ (জুন ২০২১)
এই ছোট আপডেটটিতে বিভিন্ন বাগ ফিক্স অন্তর্ভুক্ত রয়েছে। উল্লেখযোগ্য বাগ ফিক্সগুলোর তালিকা দেখতে, রিলিজ আপডেটস ব্লগে সংশ্লিষ্ট পোস্টটি পড়ুন।
৪.২.১ (মে ২০২১)
এই ছোট আপডেটটিতে কোটলিন প্লাগইন ১.৫.০ অন্তর্ভুক্ত রয়েছে এবং এতে বিভিন্ন বাগ ফিক্স করা হয়েছে। উল্লেখযোগ্য বাগ ফিক্সগুলোর তালিকা দেখতে, রিলিজ আপডেটস ব্লগের সংশ্লিষ্ট পোস্টটি পড়ুন।
অ্যান্ড্রয়েড গ্রেডল প্লাগইন ৪.২.০
অ্যান্ড্রয়েড গ্র্যাডল প্লাগইনের সর্বশেষ সংস্করণে অনেক আপডেট অন্তর্ভুক্ত করা হয়েছে। আরও জানতে, অ্যান্ড্রয়েড গ্র্যাডল প্লাগইনের সম্পূর্ণ রিলিজ নোট পড়ুন।
গ্রেডল সামঞ্জস্যতা এবং কনফিগারেশন পরিবর্তন
অ্যান্ড্রয়েড স্টুডিওতে চালানোর সময়, গ্রেডল বিল্ড টুল স্টুডিওর সাথে থাকা JDK ব্যবহার করে। পূর্ববর্তী রিলিজগুলোতে, স্টুডিওর সাথে JDK 8 বান্ডেল করা থাকতো। কিন্তু 4.2 সংস্করণে, এর পরিবর্তে এখন JDK 11 বান্ডেল করা হয়েছে। গ্রেডল চালানোর জন্য নতুন বান্ডেল করা JDK ব্যবহার করলে, গার্বেজ কালেক্টরের পরিবর্তনের কারণে কিছু অসামঞ্জস্যতা দেখা দিতে পারে বা JVM-এর পারফরম্যান্সে প্রভাব পড়তে পারে। এই সমস্যাগুলো AGP রিলিজ নোটে বর্ণনা করা হয়েছে।
গ্রেডল সিঙ্ক সময় অপ্টিমাইজ করার বিকল্প
Gradle Sync-এর পারফরম্যান্স উন্নত করার জন্য, Android Studio সিঙ্ক করার সময় টাস্ক লিস্ট বিল্ড করা এড়িয়ে যায়। এর ফলে Gradle Sync দ্রুত সম্পন্ন হয় এবং খুব বড় প্রোজেক্টের ক্ষেত্রে UI-এর রেসপন্সিভনেস উন্নত হয়। Android Studio 4.2-এ এই অপশনটি ডিফল্টভাবে চালু থাকে। এটি বন্ধ করতে, File > Settings > Experimental (Mac-এ Preferences > Experimental )-এ যান এবং Do not build Gradle task list during Gradle sync অপশনটি থেকে টিক চিহ্ন তুলে দিন।
ডাটাবেস পরিদর্শক
কোয়েরি এডিটরের উন্নতি
আপনার নিজস্ব SQL স্টেটমেন্ট লেখা ও কার্যকর করার সুবিধার্থে ডাটাবেস ইন্সপেক্টরে কিছু উন্নতি করা হয়েছে। যখন আপনি ইন্সপেক্টরটি খুলে একটি 'New query' ট্যাব খুলবেন, তখন আপনি আপনার কোয়েরিগুলো তৈরি ও ফরম্যাট করার জন্য একটি বড় এবং আকার পরিবর্তনযোগ্য এডিটর সারফেস দেখতে পাবেন, যেমনটি নিচে দেখানো হয়েছে।

এছাড়াও, এখন আমরা আপনার পূর্ববর্তী কোয়েরিগুলোর একটি ইতিহাস প্রদান করি। আপনি 'Show query history'- তে ক্লিক করলে এটি দেখতে পাবেন।
{: .inline-icon} বোতামে ক্লিক করলে, আপনি বর্তমানে নির্বাচিত ডাটাবেসের বিপরীতে পূর্বে চালানো কোয়েরিগুলির একটি তালিকা দেখতে পাবেন। এডিটরে সম্পূর্ণ কোয়েরিটির প্রিভিউ দেখতে তালিকার যেকোনো একটি কোয়েরিতে ক্লিক করুন এবং এটিকে এডিটরে কপি করতে এন্টার চাপুন। এরপর, স্টেটমেন্টটি কার্যকর করতে রান (Run) বোতামে ক্লিক করুন।

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

বিদ্যমান AGP আপগ্রেড কার্যকারিতার উপর ভিত্তি করে নির্মিত এই টুলটি আপনাকে প্রোজেক্ট-ব্যাপী আপডেট/রিফ্যাক্টরিং-এর ব্যাপারে নির্দেশনা দেয় এবং AGP আপগ্রেড কার্যকর করার আগে সম্ভাব্য ব্রেকিং চেঞ্জ প্রতিরোধে সহায়তার জন্য আপডেটগুলোর একটি প্রিভিউও অন্তর্ভুক্ত করে।

সিস্টেম ট্রেস: মেমরি এবং গ্রাফিক্সের জন্য উন্নত মেট্রিক্স
সিপিইউ প্রোফাইলারের সিস্টেম ট্রেস ফিচারে এখন অ্যাপের পারফরম্যান্স বিশ্লেষণের জন্য নতুন মেট্রিক অন্তর্ভুক্ত করা হয়েছে এবং এতে নিম্নলিখিত বিষয়গুলো রয়েছে:
ইভেন্ট টেবিল। বর্তমানে নির্বাচিত থ্রেডের সমস্ত ট্রেস ইভেন্ট তালিকাভুক্ত করে।
বাফারকিউ। ডিসপ্লে সেকশনে, এই নতুন ট্র্যাকটি অ্যাপের সারফেস বাফারকিউ -এর বাফার সংখ্যা (০, ১, বা ২) দেখায়, যা অ্যান্ড্রয়েড গ্রাফিক্স কম্পোনেন্টগুলোর মধ্যে ইমেজ বাফারগুলোর স্থানান্তরের সময় তাদের অবস্থা বুঝতে আপনাকে সাহায্য করে।

সিপিইউ ফ্রিকোয়েন্সি। সিপিইউ কোর বিভাগে, এই নতুন ট্র্যাকটি কোর অনুযায়ী সিপিইউ ফ্রিকোয়েন্সি প্রদর্শন করে, যা থেকে বোঝা যায় প্রতিটি কোর কতটা কঠোরভাবে কাজ করছে।

প্রসেস মেমরি (RSS)। এই নতুন উইন্ডোটি অ্যাপটি দ্বারা বর্তমানে ব্যবহৃত ফিজিক্যাল মেমরির পরিমাণ দেখায়।

আরও বিস্তারিত জানতে, সিপিইউ প্রোফাইলার দিয়ে সিপিইউ কার্যকলাপ পরিদর্শন দেখুন।
নতুন লেআউট ইন্সপেক্টর রিফ্রেশ অ্যাকশন
অ্যান্ড্রয়েড স্টুডিও ৪.০-তে প্রবর্তিত লেআউট ইন্সপেক্টরটি আপনার চলমান অ্যাপের UI স্ট্যাক রিয়েল-টাইমে পরিদর্শনের জন্য ডিজাইন করা হয়েছিল। তবে, আপনি হয়তো সবসময় চাইবেন না যে লেআউট ইন্সপেক্টর আপনার অ্যাপে যা ঘটছে তা সঙ্গে সঙ্গে প্রতিফলিত করুক, কারণ আপনি হয়তো একটি নির্দিষ্ট সময়ে আপনার অ্যাপের লেআউটের একটি স্ন্যাপশট পরিদর্শন করতে চাইতে পারেন অথবা আপনার অ্যাপে লাইভ আপডেটের পারফরম্যান্সের উপর প্রভাব কমাতে চাইতে পারেন।
আপনার অ্যাপ থেকে UI ডেটার একটি স্ন্যাপশট ম্যানুয়ালি লোড করতে, প্রথমে লাইভ আপডেট অপশনটি নিষ্ক্রিয় করুন। এরপর আপনি রিফ্রেশ- এ ক্লিক করতে পারেন।
পরিদর্শনের জন্য UI স্ট্যাকের একটি নতুন স্ন্যাপশট নিতে {:.inline-icon} বাটনটি ব্যবহার করুন। লেআউট ইন্সপেক্টর এখন সেশনগুলোর মধ্যে লাইভ আপডেট চালু বা বন্ধ রাখার আপনার পছন্দ মনে রাখে।
নিরাপদ আর্গুমেন্টের জন্য সমর্থন
Safe Args হলো একটি Gradle প্লাগইন যা টাইপ-সেফ নেভিগেশন এবং যেকোনো সংশ্লিষ্ট আর্গুমেন্ট অ্যাক্সেস করার জন্য সহজ অবজেক্ট ও বিল্ডার ক্লাস তৈরি করে। Android Studio এখন Safe Args নিয়ে কাজ করার ক্ষেত্রে আরও উন্নত সাপোর্ট প্রদান করে, যা নিচে বর্ণনা করা হলো:
- দিকনির্দেশনা, আর্গুমেন্ট এবং বিভিন্ন বিল্ডার ক্লাসের জন্য স্বয়ংক্রিয় পূর্ণতা
- জাভা এবং কোটলিন উভয়ের জন্য নিরাপদ আর্গুমেন্ট প্লাগইনের সমর্থন
- উৎস থেকে XML-এ নেভিগেশন
R8 রিট্রেস এখন কমান্ড-লাইন টুলগুলিতে উপলব্ধ।
কমান্ড-লাইন টুলসের ৪.০ সংস্করণে উপলব্ধ, R8 রিট্রেস হলো একটি স্বতন্ত্র টুল যা একটি অস্পষ্ট স্ট্যাক ট্রেস থেকে মূল স্ট্যাক ট্রেসটি বের করার জন্য ব্যবহৃত হয়।
আপনি এসডিকে ম্যানেজার দিয়ে এই প্যাকেজটি ডাউনলোড করতে পারেন, যা android_sdk/cmdline-tools এ R8 retrace ইনস্টল করে। বিকল্পভাবে, আপনি স্বতন্ত্র কমান্ড-লাইন টুলস প্যাকেজটি ডাউনলোড করতে পারেন।
ব্যবহারের তথ্যের জন্য, ব্যবহারকারী নির্দেশিকায় R8 রিট্রেস দেখুন।
একাধিক ডিভাইসে স্থাপন করুন
বিভিন্ন ডিভাইস এবং এপিআই লেভেলে অ্যাপ টেস্টিং আরও সহজ করতে, আপনি এখন এই ধাপগুলো অনুসরণ করে আপনার অ্যাপটি একই সাথে একাধিক ডিভাইস বা এমুলেটরে ডেপ্লয় করতে পারেন:
- টার্গেট ডিভাইস ড্রপডাউন মেনু (IDE-এর উপরের-মাঝখানে) থেকে ‘Select Multiple Devices’ বিকল্পটি বেছে নিন।

- কাঙ্ক্ষিত ডিভাইসগুলো নির্বাচন করুন এবং OK-তে ক্লিক করুন।

- আপনার অ্যাপটি চালান।
ফিচার মডিউলগুলির জন্য নতুন removable সেটিং
অ্যান্ড্রয়েড গ্রেডল প্লাগইন ৪.২ bundletool ১.০.০ ব্যবহার করে, যা ফিচার মডিউল ব্যবহারকারী অ্যাপগুলোর জন্য একটি আচরণগত পরিবর্তন নিয়ে এসেছে: dist:install-time হিসেবে নির্দিষ্ট করা যেকোনো ফিচার মডিউল, যা স্পষ্টভাবে dist:removable হিসেবে চিহ্নিত করা হয়নি, তা ডিফল্টরূপে নন-রিমুভেবল হয়ে যাবে। এই নতুন সেটিংটি বেস মডিউলের সাথে install-time মডিউলগুলোর ফিউজিংকে অপ্টিমাইজ করে, যা কিছু অ্যাপের পারফরম্যান্স উন্নত করতে পারে।
ফিচার মডিউলগুলো অপসারণযোগ্য রাখতে, আপনি যে মডিউলটি আনইনস্টল করতে চান সেটিতে dist:removable="true" সেট করুন।
এই নতুন সেটিং সম্পর্কে আরও তথ্যের জন্য, ফিচার মডিউল ম্যানিফেস্ট- এর ডকুমেন্টেশনে dist:removable ট্যাগের ডকুমেন্টেশন দেখুন।
পরিবর্তনগুলি প্রয়োগ করুন
আপনার অ্যাপের উন্নয়নে আপনাকে আরও বেশি কর্মক্ষম করে তোলার জন্য, আমরা Android 11 বা তার উচ্চতর সংস্করণে চালিত ডিভাইসগুলির জন্য 'Apply Changes'-এ নিম্নলিখিত উন্নতিগুলি করেছি:
অতিরিক্ত কোড পরিবর্তনের জন্য সমর্থন
অ্যান্ড্রয়েড ১১ বা তার উচ্চতর সংস্করণে চালিত ডিভাইসগুলিতে, আপনি এখন স্ট্যাটিক ফাইনাল প্রিমিটিভ ফিল্ড যোগ করতে পারেন এবং তারপরে 'Apply Code Changes'- এ ক্লিক করে আপনার চলমান অ্যাপে সেই পরিবর্তনগুলি প্রয়োগ করতে পারেন। অথবা পরিবর্তনগুলি প্রয়োগ করুন এবং কার্যকলাপ পুনরায় শুরু করুন
.
এখন আপনি রিসোর্স যোগ করতে পারেন এবং তারপরে 'Apply Changes and Restart Activity'- তে ক্লিক করে Android 11 ডিভাইসে আপনার চলমান অ্যাপে সেই পরিবর্তনগুলি প্রয়োগ করতে পারেন। .
আপডেট করা নতুন প্রজেক্ট এবং নতুন মডিউল উইজার্ড
নতুন প্রজেক্ট বা মডিউল ব্রাউজ করা, টেমপ্লেট নির্বাচন করা এবং তথ্য ইনপুট করা আরও সহজ করার জন্য নতুন প্রজেক্ট ও নতুন মডিউল উইজার্ডগুলো আপডেট করা হয়েছে।


নতুন মডিউল উইজার্ড থেকে .JAR/.AAR প্যাকেজ ইম্পোর্ট করার অপশনটিও সরিয়ে দেওয়া হয়েছে। আপনার প্রজেক্টে একটি JAR বা AAR ইম্পোর্ট করতে, এর পরিবর্তে প্রজেক্ট স্ট্রাকচার ডায়ালগটি ব্যবহার করুন ।
কোটলিন ১.৪.৩১
অ্যান্ড্রয়েড স্টুডিও ৪.২-এর সাথে কোটলিন ১.৪.৩১ অন্তর্ভুক্ত রয়েছে। প্রধান পরিবর্তনগুলো পর্যালোচনা করতে কোটলিন ১.৪.০-এর চেঞ্জলগটি দেখুন।
ANDROID_SDK_HOME এনভায়রনমেন্ট ভেরিয়েবলটি অপ্রচলিত
ANDROID_SDK_HOME এনভায়রনমেন্ট ভেরিয়েবলটি এখন আর ব্যবহৃত হয় না এবং এর পরিবর্তে ANDROID_PREFS_ROOT ব্যবহার করা হচ্ছে। আরও তথ্যের জন্য, এমুলেটর এনভায়রনমেন্ট ভেরিয়েবলস দেখুন।
অ্যান্ড্রয়েড স্টুডিও ৪.২ এর পরিচিত সমস্যাসমূহ
এই বিভাগে অ্যান্ড্রয়েড স্টুডিও ৪.২-এ বিদ্যমান পরিচিত সমস্যাগুলো বর্ণনা করা হয়েছে। সম্পূর্ণ তালিকার জন্য, পরিচিত সমস্যা (Known issues) পৃষ্ঠায় যান।
অ্যান্ড্রয়েড স্টুডিও 4.2.0 ভুল কোটলিন সংস্করণ "1.5.0-release-764" দিয়ে প্রজেক্ট তৈরি করছে।
আপনি যদি অ্যান্ড্রয়েড স্টুডিও ৪.২.০ ব্যবহার করেন এবং কোটলিন প্লাগইন ১.৫.০-তে আপগ্রেড করে থাকেন, তাহলে নিম্নলিখিত গ্রেডল সিঙ্ক ত্রুটির কারণে স্টুডিও দ্বারা তৈরি নতুন কোটলিন প্রজেক্টগুলো বিল্ড হতে ব্যর্থ হবে:
Could not find org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.0-release-764. একটি বিকল্প সমাধান হিসেবে, প্রজেক্টের build.gradle ফাইলগুলোতে 1.5.0-release-764 এর পরিবর্তে 1.5.0 ব্যবহার করুন।
কী এবং কীস্টোরের জন্য ভিন্ন পাসওয়ার্ড ব্যবহার করলে ত্রুটি দেখা দেয়।
সংস্করণ ৪.২ থেকে শুরু করে, অ্যান্ড্রয়েড স্টুডিও এখন জেডিকে ১১-এ চলে। এই আপডেটের ফলে কী (key) সাইন করার সাথে সম্পর্কিত একটি অন্তর্নিহিত আচরণগত পরিবর্তন এসেছে।
যখন আপনি Build > Generate Signed Bundle / APK- তে গিয়ে কোনো অ্যাপ বান্ডেল বা APK-এর জন্য অ্যাপ সাইনিং কনফিগার করার চেষ্টা করেন, তখন কী (key) এবং কীস্টোরের (keystore) জন্য ভিন্ন ভিন্ন পাসওয়ার্ড দিলে নিম্নলিখিত ত্রুটিটি দেখা দিতে পারে:
Key was created with errors:
Warning: Different store and Key passwords not supported for PKCS12 Key storesএই সমস্যাটি সমাধান করতে, কী এবং কীস্টোর উভয়ের জন্য একই পাসওয়ার্ড দিন।
সংস্করণ ৪.২ ইনস্টল করার পর অ্যান্ড্রয়েড স্টুডিও চালু হচ্ছে না।
JDK 11 দ্বারা ব্যবহৃত গার্বেজ কালেক্টরের সাথে কাজ করার জন্য Studio পূর্ববর্তী .vmoptions ফাইলগুলো ইম্পোর্ট এবং স্যানিটাইজ করার চেষ্টা করে। যদি সেই প্রক্রিয়াটি ব্যর্থ হয়, তাহলে কিছু নির্দিষ্ট ব্যবহারকারীর জন্য IDE চালু নাও হতে পারে, যারা .vmoptions ফাইলে কাস্টম VM অপশন সেট করেছেন।
এই সমস্যাটি সমাধান করার জন্য, আমরা .vmoptions ফাইলে থাকা কাস্টম অপশনগুলোকে # চিহ্ন ব্যবহার করে কমেন্ট আউট করার পরামর্শ দিচ্ছি। .vmoptions ফাইলটি নিম্নলিখিত স্থানগুলিতে পাওয়া যাবে:
উইন্ডোজ
C:\Users\YourUserName\AppData\<var>[Local|Roaming]</var>\Google\AndroidStudio4.2\studio64.exe.vmoptions
ম্যাকওএস
~/Library/Application Support/Google/AndroidStudio4.2/studio.vmoptions
লিনাক্স
~/.config/Google/AndroidStudio4.2/studio64.vmoptions
এই সমাধানটি চেষ্টা করার পরেও যদি Studio চালু না হয়, তাহলে নিচে ‘আপগ্রেডের পর Studio চালু হচ্ছে না’ অংশটি দেখুন।