অ্যান্ড্রয়েড স্টুডিও আর্কটিক ফক্স একটি বড় রিলিজ যাতে বিভিন্ন ধরনের নতুন বৈশিষ্ট্য এবং উন্নতি রয়েছে।
নতুন সংস্করণ সংখ্যায়ন
অ্যান্ড্রয়েড স্টুডিওর জন্য আপডেট করা সংস্করণ নম্বর
IntelliJ IDEA- এর সাথে আরও ঘনিষ্ঠভাবে সারিবদ্ধ করতে আমরা Android স্টুডিওর সংস্করণ নম্বরিং সিস্টেম পরিবর্তন করেছি, যে IDE এর উপর ভিত্তি করে Android স্টুডিও।
আগের নম্বরিং সিস্টেমে, এই রিলিজটিকে Android স্টুডিও 4.3 বা সংস্করণ 4.3.0.1 হিসাবে নম্বর দেওয়া হত। নতুন নম্বরিং সিস্টেমের সাথে, এটি এখন অ্যান্ড্রয়েড স্টুডিও - আর্কটিক ফক্স | 2020.3.1 , বা সংস্করণ 2020.3.1 ।
ইন্টেলিজ সংস্করণ | পুরাতন নাম | পুরানো - নম্বর সিস্টেম | নতুন - বছরের সিস্টেম | নতুন সংস্করণের নাম |
---|---|---|---|---|
2020.3 | 4.3 | 4.3.0 | 2020.3.1 | আর্কটিক ফক্স | 2020.3.1 |
সামনের দিকে, Android স্টুডিও সংস্করণ নম্বর কীভাবে নির্ধারণ করা হয় তা এখানে:
<Year of IntelliJ Version> । <IntelliJ major version> । <Studio major version> । <Studio minor/patch version>
- প্রথম দুটি সংখ্যার গোষ্ঠী IntellIj প্ল্যাটফর্মের সংস্করণকে উপস্থাপন করে যেটির উপর ভিত্তি করে একটি নির্দিষ্ট Android স্টুডিও রিলিজ। এই রিলিজের জন্য, এটি 2020.3 সংস্করণ।
- তৃতীয় সংখ্যার গ্রুপটি স্টুডিও প্রধান সংস্করণের প্রতিনিধিত্ব করে, 1 থেকে শুরু হয় এবং প্রতিটি বড় রিলিজের জন্য একটি করে বৃদ্ধি পায়।
- চতুর্থ সংখ্যার গ্রুপটি স্টুডিও মাইনর/প্যাচ সংস্করণের প্রতিনিধিত্ব করে, যা 1 থেকে শুরু হয় এবং প্রতিটি ছোট রিলিজের জন্য একটি করে বৃদ্ধি পায়।
- আমরা প্রতিটি বড় রিলিজের একটি সংস্করণের নামও দিচ্ছি, প্রাণীর নামের উপর ভিত্তি করে A থেকে Z পর্যন্ত বৃদ্ধি করে। এই প্রকাশের নাম দেওয়া হয়েছে আর্কটিক ফক্স ।
অ্যান্ড্রয়েড গ্রেডল প্লাগইনের জন্য আপডেট করা সংস্করণ নম্বর
আমরা অ্যান্ড্রয়েড গ্রেডল প্লাগইন (এজিপি) এর জন্য সংস্করণ নম্বর পরিবর্তন করেছি যাতে অন্তর্নিহিত গ্রেডল বিল্ড টুলের সাথে আরও ঘনিষ্ঠভাবে মিল পাওয়া যায়। অতএব, AGP 7.0 হল AGP 4.2 এর পরের রিলিজ।
আরও বিশদ বিবরণের জন্য, এজিপি রিলিজ নোটগুলিতে সংস্করণ পরিবর্তনগুলি দেখুন।
অ্যান্ড্রয়েড গ্রেডল প্লাগইন 7.0.0
অ্যান্ড্রয়েড গ্রেডল প্লাগইনের সর্বশেষ সংস্করণে অনেক আপডেট রয়েছে। আরও জানতে, সম্পূর্ণ অ্যান্ড্রয়েড গ্রেডল প্লাগইন রিলিজ নোট পড়ুন।
ইউনিট পরীক্ষা এখন গ্রেডল টেস্ট রানার ব্যবহার করে
পরীক্ষা সম্পাদনের সামগ্রিক ধারাবাহিকতা উন্নত করতে, অ্যান্ড্রয়েড স্টুডিও এখন ডিফল্টরূপে সমস্ত ইউনিট পরীক্ষা চালানোর জন্য গ্রেডল ব্যবহার করে। অনেক ক্ষেত্রে, এই পরিবর্তন IDE-তে আপনার পরীক্ষার কার্যপ্রবাহকে প্রভাবিত করবে না।
উদাহরণস্বরূপ, যখন আপনি প্রসঙ্গ মেনুতে রান কমান্ডে ক্লিক করেন (যখন আপনি একটি পরীক্ষা ক্লাসে ডান-ক্লিক করেন তখন দৃশ্যমান) বা এর সংশ্লিষ্ট গটার অ্যাকশন , অ্যান্ড্রয়েড স্টুডিও ইউনিট পরীক্ষা চালানোর জন্য ডিফল্টরূপে গ্রেডল রান কনফিগারেশন ব্যবহার করবে।
যাইহোক, অ্যান্ড্রয়েড স্টুডিও আর বিদ্যমান অ্যান্ড্রয়েড জুনিট রান কনফিগারেশনগুলিকে স্বীকৃতি দেয় না, তাই আপনার অ্যান্ড্রয়েড জুনিট রান কনফিগারেশনগুলি স্থানান্তর করা উচিত যা আপনি গ্র্যাডল রান কনফিগারেশনে প্রজেক্ট ফাইল হিসাবে সংরক্ষণ করতে পারেন।
একটি গ্রেডল টেস্ট কনফিগারেশন তৈরি করতে, নতুন রান/ডিবাগ কনফিগারেশন তৈরি করুন -এ নির্দেশাবলী অনুসরণ করার সময় গ্রেডল টেমপ্লেটটি নির্বাচন করুন। আপনি যখন একটি নতুন কনফিগারেশন তৈরি করবেন, তখন এটি Gradle বিভাগে কনফিগারেশন সম্পাদনা ডায়ালগে প্রদর্শিত হবে:
আপনি যদি Android JUnit কনফিগারেশনগুলি পরিদর্শন করতে চান যা আর স্বীকৃত নয়, আপনি দুটি জিনিসের মধ্যে একটি করতে পারেন:
- একটি পাঠ্য সম্পাদকে ম্যানুয়ালি সংরক্ষিত কনফিগারেশন খুলুন। এই ফাইলগুলির অবস্থানগুলি ব্যবহারকারী দ্বারা নির্দিষ্ট করা হয়, তবে ফাইলগুলি সাধারণত
<my-app> /.idea/runConfigurations/
এ প্রদর্শিত হয়। <my-app> /.idea/workspace.xml
এ অস্থায়ী কনফিগারেশন খুঁজুন এবং<component name="RunManager" ...>
নোডের নিচে দেখুন। যেমন:<component name="RunManager" selected="Gradle.PlantTest"> … <configuration name="PlantTest" type="AndroidJUnit" factoryName="Android JUnit" nameIsGenerated="true"> <module name="Sunflower.app" /> <useClassPathOnly /> <extension name="coverage"> <pattern> <option name="PATTERN" value="com.google.samples.apps.sunflower.data.*" /> <option name="ENABLED" value="true" /> </pattern> </extension> <option name="PACKAGE_NAME" value="com.google.samples.apps.sunflower.data" /> <option name="MAIN_CLASS_NAME" value="com.google.samples.apps.sunflower.data.PlantTest" /> <option name="METHOD_NAME" value="" /> <option name="TEST_OBJECT" value="class" /> <option name="PARAMETERS" value="" /> <option name="WORKING_DIRECTORY" value="$MODULE_DIR$" /> <method v="2"> <option name="Android.Gradle.BeforeRunTask" enabled="true" /> </method> </configuration>
এজিপির জন্য উন্নত আপগ্রেড সহকারী
অ্যান্ড্রয়েড গ্রেডল প্লাগইন-এর জন্য আপগ্রেড সহকারীতে এখন একটি স্থায়ী টুল উইন্ডো রয়েছে যা সম্পন্ন করা হবে এমন পদক্ষেপগুলির তালিকা সহ। টুল উইন্ডোর ডানদিকে অতিরিক্ত তথ্যও উপস্থাপিত হয়। প্রয়োজন হলে, আপগ্রেড করার জন্য আপনি AGP-এর একটি ভিন্ন সংস্করণও বেছে নিতে পারেন। রিফ্রেশ বোতামে ক্লিক করলে সংশ্লিষ্ট আপডেটের ধাপগুলো আপডেট হয়।
নন-ট্রানজিটিভ R ক্লাসের জন্য রিফ্যাক্টরিং
আপনি একাধিক মডিউল সহ অ্যাপ্লিকেশনগুলির জন্য দ্রুত বিল্ড তৈরি করতে Android Gradle প্লাগইন সহ অ-ট্রানজিটিভ R ক্লাসগুলি ব্যবহার করতে পারেন৷ এটি করা প্রতিটি মডিউলের R শ্রেণীতে শুধুমাত্র তার নিজস্ব সম্পদের রেফারেন্স রয়েছে তা নিশ্চিত করে রিসোর্স ডুপ্লিকেশন রোধ করতে সাহায্য করে, তার নির্ভরতা থেকে রেফারেন্স না নিয়ে। এটি আরও আপ-টু-ডেট বিল্ড এবং সংকলন পরিহারের সংশ্লিষ্ট সুবিধার দিকে নিয়ে যায়।
আপনি রিফ্যাক্টর > নন-ট্রানজিটিভ R ক্লাসে মাইগ্রেট করে এই বৈশিষ্ট্যটি অ্যাক্সেস করতে পারেন।
নতুন ব্যাকগ্রাউন্ড টাস্ক ইন্সপেক্টর
আপনি নতুন ব্যাকগ্রাউন্ড টাস্ক ইন্সপেক্টর ব্যবহার করে আপনার অ্যাপের ব্যাকগ্রাউন্ড কর্মীদের ভিজ্যুয়ালাইজ, নিরীক্ষণ এবং ডিবাগ করতে পারেন। শুরু করতে, WorkManager লাইব্রেরি 2.5.0 বা উচ্চতর চলমান একটি ডিভাইসে আপনার অ্যাপটি স্থাপন করুন এবং মেনু বার থেকে দেখুন > টুল উইন্ডোজ > অ্যাপ পরিদর্শন নির্বাচন করুন।
আপনি একজন কর্মীর উপর ক্লিক করে আরো বিস্তারিত তথ্য দেখতে পারেন। উদাহরণস্বরূপ, আপনি কর্মীর বিবরণ দেখতে পারেন, কীভাবে এটি কার্যকর করা হয়েছিল, এর কর্মী চেইনের বিশদ বিবরণ এবং মৃত্যুদন্ড কার্যকর করার ফলাফল।
আপনি টেবিল থেকে একজন কর্মী নির্বাচন করে এবং গ্রাফ ভিউ দেখান ক্লিক করে একজন কর্মী চেইনের একটি ভিজ্যুয়াল উপস্থাপনা দেখতে পারেন টুলবার থেকে। তারপরে আপনি চেইনের যেকোন কর্মীকে তার বিশদ বিবরণ দেখতে নির্বাচন করতে পারেন, অথবা এটি বর্তমানে সারিবদ্ধ বা চলমান থাকলে এটি বন্ধ করতে পারেন। টেবিলে ফিরে যেতে, তালিকার দৃশ্য দেখান ক্লিক করুন .
কার্যকর করতে ব্যর্থ হওয়া কর্মীদের থেকে সমস্যাগুলি তদন্ত করতে আপনাকে সাহায্য করার জন্য, আপনি বর্তমানে চলমান বা সারিবদ্ধ কর্মীকে টেবিল থেকে নির্বাচন করে এবং নির্বাচিত কর্মী বাতিল করুন ক্লিক করে থামাতে পারেন টুলবার থেকে। এছাড়াও আপনি সমস্ত ট্যাগ ড্রপডাউন মেনু ব্যবহার করে কর্মীদের নির্ধারিত ট্যাগ দ্বারা টেবিলে ফিল্টার করতে পারেন।
আপডেট ডাটাবেস পরিদর্শক
ডেটাবেস ইন্সপেক্টর এখন নতুন অ্যাপ পরিদর্শন টুল উইন্ডোতে অন্তর্ভুক্ত করা হয়েছে, যেখানে আপনি নতুন ব্যাকগ্রাউন্ড টাস্ক ইন্সপেক্টরও খুঁজে পেতে পারেন। টুল উইন্ডো বার থেকে অ্যাপ পরিদর্শন টুল উইন্ডো খুলুন, অথবা মেনু বার থেকে দেখুন > টুল উইন্ডোজ > অ্যাপ পরিদর্শন নির্বাচন করুন।
ডাটাবেস ইন্সপেক্টর থেকে ডেটা রপ্তানি করুন
আর্কটিক ফক্সে, আপনি সহজেই ডেটাবেস ইন্সপেক্টর থেকে ডেটাবেস, টেবিল এবং কোয়েরির ফলাফল স্থানীয়ভাবে সংরক্ষণ, ভাগ বা পুনরায় তৈরি করতে রপ্তানি করতে পারেন। আপনি যখন অ্যান্ড্রয়েড স্টুডিওতে একটি অ্যাপ প্রোজেক্ট খুলবেন এবং ডেটাবেস ইন্সপেক্টরে সেই প্রোজেক্টের জন্য অ্যাপটি পরিদর্শন করবেন, আপনি নিম্নলিখিত উপায়গুলির মধ্যে একটিতে ডেটা রপ্তানি শুরু করতে পারেন:
- ডাটাবেস প্যানেলে একটি ডাটাবেস বা টেবিল নির্বাচন করুন এবং প্যানেলের শীর্ষের কাছে ফাইল রপ্তানিতে ক্লিক করুন।
- ডাটাবেস প্যানেলে একটি ডাটাবেস বা টেবিলে ডান-ক্লিক করুন এবং প্রসঙ্গ মেনু থেকে ফাইলে রপ্তানি করুন নির্বাচন করুন।
- একটি ট্যাবে একটি টেবিল বা কোয়েরির ফলাফল পরিদর্শন করার সময়, টেবিলের উপরে ফাইল বা কোয়েরির ফলাফলে রপ্তানি ক্লিক করুন।
একটি রপ্তানি ক্রিয়া নির্বাচন করার পরে, নীচে দেখানো হিসাবে, চূড়ান্ত পদক্ষেপগুলির মাধ্যমে আপনাকে সাহায্য করার জন্য আপনি রপ্তানি ডায়ালগ ব্যবহার করুন৷ আপনি একটি ডাটাবেস, টেবিল, বা ক্যোয়ারী ফলাফল রপ্তানি করার চেষ্টা করছেন কিনা তার উপর নির্ভর করে, আপনার কাছে নিম্নলিখিত এক বা একাধিক ফর্ম্যাটে ডেটা রপ্তানি করার বিকল্প রয়েছে: DB, SQL, বা CSV৷
মেমরি প্রোফাইলারে রেকর্ডিংয়ের জন্য UI আপডেট করা হয়েছে
আমরা বিভিন্ন রেকর্ডিং কার্যকলাপের জন্য মেমরি প্রোফাইলার ইউজার ইন্টারফেস (UI) একত্রিত করেছি, যেমন একটি হিপ ডাম্প ক্যাপচার করা এবং জাভা, কোটলিন, এবং নেটিভ মেমরি বরাদ্দ করা।
মেমরি প্রোফাইলার নিম্নলিখিত বিকল্পগুলি প্রদান করে:
- ক্যাপচার হিপ ডাম্প : আপনার অ্যাপে এমন বস্তু দেখুন যা নির্দিষ্ট সময়ে মেমরি ব্যবহার করছে।
- রেকর্ড নেটিভ অ্যালোকেশন : দেখুন কিভাবে প্রতিটি C/C++ অবজেক্ট নির্দিষ্ট সময়ের মধ্যে বরাদ্দ করা হয়েছে।
- জাভা/কোটলিন বরাদ্দ রেকর্ড করুন : প্রতিটি জাভা/কোটলিন বস্তু নির্দিষ্ট সময়ের মধ্যে কীভাবে বরাদ্দ করা হয়েছিল তা দেখুন।
এই তিনটি বিকল্প কীভাবে ব্যবহার করবেন তা এখানে:
একটি হিপ ডাম্প ক্যাপচার করতে, ক্যাপচার হিপ ডাম্প নির্বাচন করুন, তারপর রেকর্ড নির্বাচন করুন। প্রোফাইলার হিপ ডাম্প ক্যাপচার করা শেষ করার পরে, মেমরি প্রোফাইলার UI হিপ ডাম্প প্রদর্শন করে একটি পৃথক স্ক্রিনে রূপান্তরিত হয়।
Android 10 এবং উচ্চতর ডিভাইসে চলমান ডিভাইসগুলিতে নেটিভ বরাদ্দ রেকর্ড করতে, নেটিভ বরাদ্দ রেকর্ড করুন নির্বাচন করুন, তারপরে রেকর্ড নির্বাচন করুন। আপনি থামে ক্লিক না করা পর্যন্ত রেকর্ডিং চলতে থাকবে , এর পরে মেমরি প্রোফাইলার UI একটি পৃথক স্ক্রিনে রূপান্তরিত হয় যা নেটিভ রেকর্ডিং প্রদর্শন করে।
অ্যান্ড্রয়েড 9 এবং তার পরে, রেকর্ড নেটিভ অ্যালোকেশন বিকল্পটি উপলব্ধ নেই।
জাভা এবং কোটলিন বরাদ্দ রেকর্ড করতে, রেকর্ড জাভা / কোটলিন বরাদ্দ নির্বাচন করুন, তারপর রেকর্ড নির্বাচন করুন। ডিভাইসটি যদি অ্যান্ড্রয়েড 8 বা উচ্চতর চলমান থাকে, তবে মেমরি প্রোফাইলার UI চলমান রেকর্ডিং প্রদর্শন করে একটি পৃথক স্ক্রিনে রূপান্তরিত হয়। আপনি রেকর্ডিংয়ের উপরে মিনি টাইমলাইনের সাথে ইন্টারঅ্যাক্ট করতে পারেন (উদাহরণস্বরূপ, নির্বাচনের পরিসর পরিবর্তন করতে)। রেকর্ডিং সম্পূর্ণ করতে, থামুন নির্বাচন করুন .
অ্যান্ড্রয়েড 7.1 এবং তার নিচের সংস্করণে, মেমরি প্রোফাইলার লিগ্যাসি অ্যালোকেশন রেকর্ডিং ব্যবহার করে, যা আপনি থামুন ক্লিক না করা পর্যন্ত টাইমলাইনে রেকর্ডিং প্রদর্শন করে।
লিঙ্ক করা C++ প্রকল্প রিফ্রেশ করার আপডেট
আমরা .cxx/
ফোল্ডার থেকে কনফিগারেশনের সাথে সম্পর্কহীন ফাইলগুলিকে build/
ফোল্ডারে সরিয়ে নিয়েছি। CMake C++ বিল্ডগুলির জন্য একটি কনফিগারেশন ফেজ প্রয়োজন যা নিনজা প্রজেক্ট তৈরি করে যা কম্পাইল এবং লিঙ্ক পদক্ষেপগুলি চালানোর জন্য ব্যবহৃত হয়। CMake দ্বারা উত্পন্ন প্রকল্পগুলি তৈরি করা ব্যয়বহুল এবং গ্রেডল ক্লিন জুড়ে টিকে থাকার আশা করা হচ্ছে৷ এই কারণে, এগুলি build/
ফোল্ডারের পাশে .cxx/
নামে একটি ফোল্ডারে সংরক্ষণ করা হয়। সাধারণত, অ্যান্ড্রয়েড গ্রেডল প্লাগইন কনফিগারেশনের পরিবর্তনগুলি লক্ষ্য করবে এবং স্বয়ংক্রিয়ভাবে নিনজা প্রকল্পটি পুনরায় তৈরি করবে। তবে সব ক্ষেত্রেই শনাক্ত করা যায় না। যখন এটি ঘটে, "রিফ্রেশ লিঙ্কড C++ প্রজেক্ট" বিকল্পটি নিনজা প্রকল্পটিকে ম্যানুয়ালি পুনরুত্পাদন করতে ব্যবহার করা যেতে পারে।
মাল্টি-ডিভাইস পরীক্ষার জন্য নতুন টেস্ট ম্যাট্রিক্স
ইন্সট্রুমেন্টেশন পরীক্ষাগুলি এখন সমান্তরালভাবে একাধিক ডিভাইস জুড়ে চলতে পারে এবং একটি বিশেষ যন্ত্র পরীক্ষার ফলাফল প্যানেল ব্যবহার করে তদন্ত করা যেতে পারে। এই প্যানেলটি ব্যবহার করে, আপনি নির্ধারণ করতে পারেন যে API স্তর বা হার্ডওয়্যার বৈশিষ্ট্যগুলির কারণে পরীক্ষাগুলি ব্যর্থ হচ্ছে কিনা।
আপনার অ্যাপটি বিভিন্ন ধরনের API স্তর এবং ফর্ম ফ্যাক্টর জুড়ে পরীক্ষা করা হল আপনার অ্যাপটি ব্যবহার করার সময় সমস্ত ব্যবহারকারীদের একটি দুর্দান্ত অভিজ্ঞতা নিশ্চিত করার অন্যতম সেরা উপায়।
এই বৈশিষ্ট্যের সুবিধা নিতে:
IDE-এর শীর্ষ-কেন্দ্র থেকে লক্ষ্য ডিভাইস ড্রপডাউন মেনুতে একাধিক ডিভাইস নির্বাচন করুন)।
লক্ষ্য ডিভাইস নির্বাচন করুন এবং ঠিক আছে ক্লিক করুন.
আপনার পরীক্ষা চালান.
রান প্যানেলে আপনার পরীক্ষার ফলাফল দেখতে, দেখুন > টুল উইন্ডোজ > রানে যান।
নতুন পরীক্ষার ফলাফল প্যানেল আপনাকে স্ট্যাটাস, ডিভাইস এবং API স্তর অনুসারে আপনার পরীক্ষার ফলাফল ফিল্টার করতে দেয়। অতিরিক্তভাবে, আপনি হেডারে ক্লিক করে প্রতিটি কলাম সাজাতে পারেন। একটি পৃথক পরীক্ষায় ক্লিক করে, আপনি প্রতিটি ডিভাইসের জন্য পৃথকভাবে লগ এবং ডিভাইসের তথ্য দেখতে পারেন।
ডেটা বাইন্ডিং এ StateFlow
সমর্থন
কোটলিন অ্যাপগুলির জন্য যেগুলি কোরোটিনগুলি ব্যবহার করে, আপনি এখন ডেটা বাইন্ডিং উত্স হিসাবে StateFlow
অবজেক্টগুলি ব্যবহার করতে পারেন যাতে ডেটাতে পরিবর্তনগুলি সম্পর্কে স্বয়ংক্রিয়ভাবে UI কে অবহিত করা যায়৷ আপনার ডেটা বাইন্ডিংগুলি লাইফসাইকেল সচেতন হবে এবং শুধুমাত্র তখনই ট্রিগার হবে যখন UI পর্দায় দৃশ্যমান হবে৷
আপনার বাইন্ডিং ক্লাসের সাথে একটি StateFlow
অবজেক্ট ব্যবহার করতে, আপনাকে StateFlow
অবজেক্টের সুযোগ নির্ধারণের জন্য একজন লাইফসাইকেল মালিককে নির্দিষ্ট করতে হবে এবং আপনার লেআউটে, বাইন্ডিং এক্সপ্রেশন ব্যবহার করে আপনার ViewModel
কম্পোনেন্টের বৈশিষ্ট্য এবং পদ্ধতিগুলিকে সংশ্লিষ্ট ভিউতে বরাদ্দ করুন, যেমন দেখানো হয়েছে নিম্নলিখিত উদাহরণে:
class ViewModel() {
val username: StateFlow<String>
}
<TextView
android:id="@+id/name"
android:text="@{viewmodel.username}" />
আপনি যদি AndroidX ব্যবহার করে এমন একটি Kotlin অ্যাপে থাকেন, তাহলে StateFlow
সমর্থন স্বয়ংক্রিয়ভাবে ডেটা বাইন্ডিংয়ের কার্যকারিতা সহ, কোরোটিন নির্ভরতা সহ অন্তর্ভুক্ত করা হয়।
আরও জানতে, পর্যবেক্ষণযোগ্য ডেটা অবজেক্টের সাথে কাজ দেখুন।
উন্নত প্রস্তাবিত আমদানি
আমরা প্রস্তাবিত আমদানি বৈশিষ্ট্য দ্বারা সমর্থিত লাইব্রেরির সংখ্যা উন্নত করেছি এবং আরও ঘন ঘন সূচক আপডেট করি। প্রস্তাবিত আমদানি আপনাকে দ্রুত এবং সহজেই আপনার ক্লাস এবং গ্রেডল প্রকল্প উভয়ের মধ্যে নির্দিষ্ট Google Maven শিল্পকর্ম আমদানি করতে সহায়তা করে। যখন অ্যান্ড্রয়েড স্টুডিও নির্দিষ্ট Google লাইব্রেরি থেকে অমীমাংসিত চিহ্নগুলি সনাক্ত করে, তখন IDE লাইব্রেরিটিকে ক্লাস এবং প্রকল্প উভয়েই আমদানি করার পরামর্শ দেয়।
বিল্ড অ্যানালাইজারে কনফিগারেশন ক্যাশের জন্য সমর্থন
বিল্ড অ্যানালাইজার এখন শনাক্ত করে যখন কোনো প্রোজেক্টে কনফিগারেশন ক্যাশে সক্রিয় থাকে না এবং এটিকে অপ্টিমাইজেশান হিসেবে অফার করে। বিল্ড অ্যানালাইজার আপনার প্রোজেক্টে কনফিগারেশন ক্যাশে সক্ষম হওয়ার আগে কোনও সমস্যা থাকলে তা আপনাকে জানানোর জন্য একটি সামঞ্জস্যতা মূল্যায়ন চালায়।
জেটপ্যাক কম্পোজ টুলিংয়ের জন্য সমর্থন
আমরা এখন জেটপ্যাক কম্পোজ ব্যবহার করে এমন অ্যাপগুলির পূর্বরূপ দেখার এবং পরীক্ষা করার জন্য অতিরিক্ত সমর্থন অফার করি৷ জেটপ্যাক কম্পোজের সাথে বিকাশের সর্বোত্তম অভিজ্ঞতার জন্য, আপনার অ্যান্ড্রয়েড স্টুডিও আর্কটিক ফক্সের সর্বশেষ সংস্করণ ব্যবহার করা উচিত যাতে আপনি স্মার্ট এডিটর বৈশিষ্ট্যগুলি থেকে উপকৃত হতে পারেন, যেমন নতুন প্রকল্প টেমপ্লেট এবং অবিলম্বে আপনার রচনা UI এর পূর্বরূপ দেখার ক্ষমতা।
পূর্বরূপ রচনা করুন
@প্রিভিউ পদ্ধতির জন্য নিম্নলিখিত পরামিতিগুলি এখন উপলব্ধ:
- শোব্যাকগ্রাউন্ড : আপনার পূর্বরূপের জন্য একটি পটভূমি চালু এবং বন্ধ করুন।
- backgroundColor : একটি রঙ সেট করুন যা শুধুমাত্র পূর্বরূপ পৃষ্ঠে ব্যবহৃত হয়।
- uiMode : এই নতুন প্যারামিটারটি যেকোনও কনফিগারেশন নিতে পারে। UI_* ধ্রুবক এবং আপনাকে পূর্বরূপের আচরণ পরিবর্তন করতে দেয়, উদাহরণস্বরূপ, থিমটি কীভাবে প্রতিক্রিয়া দেখায় তা দেখতে এটিকে নাইট মোডে সেট করুন।
ইন্টারেক্টিভ পূর্বরূপ
আপনি আপনার UI উপাদানগুলির সাথে ইন্টারঅ্যাক্ট করতে এই বৈশিষ্ট্যটি ব্যবহার করতে পারেন, সেগুলিতে ক্লিক করতে পারেন এবং দেখতে পারেন কীভাবে রাজ্যের পরিবর্তন হয়৷ আপনার UI কীভাবে প্রতিক্রিয়া দেখায় এবং অ্যানিমেশনগুলির পূর্বরূপ দেখার জন্য এটি একটি দ্রুত উপায়। এটি সক্ষম করতে, ইন্টারেক্টিভ আইকনে ক্লিক করুন , এবং পূর্বরূপ মোড স্যুইচ করবে।
থামাতে, উপরের টুলবারে Stop Interactive Preview- এ ক্লিক করুন।
ডিভাইসে স্থাপন করুন
আপনি একটি ডিভাইসে আপনার UI এর একটি স্নিপেট স্থাপন করতে এই বৈশিষ্ট্যটি ব্যবহার করতে পারেন। এটি সম্পূর্ণ অ্যাপ্লিকেশন শুরু না করেই ডিভাইসে আপনার কোডের ছোট অংশ পরীক্ষা করতে সহায়তা করে।
Deploy to Device আইকনে ক্লিক করুন @Preview
টীকাটির পাশে বা পূর্বরূপের শীর্ষে, এবং Android স্টুডিও সেই @Preview আপনার সংযুক্ত ডিভাইস বা এমুলেটরে স্থাপন করবে।
আক্ষরিক লাইভ সম্পাদনা
কম্পোজ ব্যবহার করে ডেভেলপারদের তাদের কোডে লিটারেল (স্ট্রিং, সংখ্যা, বুলিয়ান) দ্রুত সম্পাদনা করতে এবং সংকলনের জন্য অপেক্ষা না করে অবিলম্বে ফলাফল দেখতে সাহায্য করার জন্য আমরা লিটারালের লাইভ এডিট যোগ করেছি। এই বৈশিষ্ট্যটির লক্ষ্য হল প্রিভিউ, এমুলেটর বা ফিজিক্যাল ডিভাইসে কোড পরিবর্তনগুলি তাৎক্ষণিকভাবে উপস্থিত হওয়ার মাধ্যমে আপনার উত্পাদনশীলতা বৃদ্ধিতে সহায়তা করা।
লেআউট ইন্সপেক্টরে সমর্থন রচনা করুন
লেআউট ইন্সপেক্টর আপনাকে আপনার সংযুক্ত ডিভাইসে চলমান আপনার অ্যাপের লেআউট সম্পর্কে সমৃদ্ধ বিশদ দেখতে দেয়। আপনি আপনার অ্যাপের সাথে ইন্টারঅ্যাক্ট করতে পারেন এবং উদ্ভূত সমস্যাগুলি দ্রুত ডিবাগ করতে টুলটিতে লাইভ আপডেট দেখতে পারেন।
আপনি নতুন অ্যান্ড্রয়েড ঘোষণামূলক UI ফ্রেমওয়ার্ক, জেটপ্যাক রচনার সাথে লেখা লেআউটগুলি পরিদর্শন করতে পারেন। আপনার অ্যাপ কম্পোজে সম্পূর্ণরূপে লেখা লেআউট ব্যবহার করুক বা কম্পোজ এবং ভিউয়ের একটি হাইব্রিড ব্যবহার করে এমন লেআউট ব্যবহার করুক না কেন, লেআউট ইন্সপেক্টর আপনাকে আপনার চলমান ডিভাইসে আপনার লেআউটগুলি কীভাবে রেন্ডার করা হয় তা বুঝতে সাহায্য করে।
শুরু করুন
শুরু করতে, আপনার অ্যাপটি একটি সংযুক্ত ডিভাইসে স্থাপন করুন এবং তারপরে দেখুন > টুল উইন্ডোজ > লেআউট ইন্সপেক্টর নির্বাচন করে লেআউট ইন্সপেক্টর উইন্ডো খুলুন। যদি লেআউট ইন্সপেক্টর স্বয়ংক্রিয়ভাবে আপনার অ্যাপ প্রক্রিয়ার সাথে সংযোগ না করে, তবে প্রক্রিয়া পুলডাউন থেকে পছন্দসই অ্যাপ প্রক্রিয়াটি নির্বাচন করুন। আপনি শীঘ্রই টুল উইন্ডোতে আপনার অ্যাপের লেআউট রেন্ডার করা দেখতে পাবেন। আপনার রচনা বিন্যাস পরিদর্শন শুরু করতে, রেন্ডারিং-এ দৃশ্যমান লেআউট উপাদান নির্বাচন করুন বা উপাদান ট্রি থেকে এটি নির্বাচন করুন।
বৈশিষ্ট্য উইন্ডো আপনাকে বর্তমানে নির্বাচিত রচনা ফাংশন সম্পর্কে বিস্তারিত তথ্য দেখায়। এই উইন্ডোতে, আপনি মডিফায়ার এবং ল্যাম্বডা এক্সপ্রেশন সহ ফাংশনের প্যারামিটার এবং তাদের মানগুলি পরিদর্শন করতে পারেন। ল্যাম্বডা এক্সপ্রেশনের জন্য, ইন্সপেক্টর আপনাকে আপনার সোর্স কোডের এক্সপ্রেশনে নেভিগেট করতে সাহায্য করার জন্য একটি শর্টকাট প্রদান করে।
লেআউট ইন্সপেক্টর কল স্ট্যাকের সমস্ত কম্পোজ ফাংশন দেখায় যা আপনার অ্যাপের লেআউটে উপাদান নির্গত করে। অনেক ক্ষেত্রে, এর মধ্যে কম্পোজ ফাংশন অন্তর্ভুক্ত থাকে যেগুলি কম্পোজ লাইব্রেরি দ্বারা অভ্যন্তরীণভাবে বলা হয়। আপনি যদি কম্পোনেন্ট ট্রিতে শুধুমাত্র কম্পোজ ফাংশন দেখতে চান যা আপনার অ্যাপ সরাসরি কল করে, তাহলে ফিল্টারটিতে ক্লিক করুন অ্যাকশন, যা ট্রিতে দেখানো নোডের সংখ্যা কমাতে সাহায্য করতে পারে যা আপনি পরিদর্শন করতে চান।
উন্নত স্থাপনা ড্রপডাউন
ডিভাইস ড্রপডাউন এখন আপনার নির্বাচিত ডিভাইস কনফিগারেশনের মধ্যে বিভিন্ন ধরণের ত্রুটির মধ্যে পার্থক্য করে। আইকনোগ্রাফি এবং শৈলীগত পরিবর্তনগুলি এখন ত্রুটিগুলির মধ্যে পার্থক্য করে (ডিভাইস নির্বাচন যার ফলে একটি ভাঙা কনফিগারেশন হয়) এবং সতর্কতা (ডিভাইস নির্বাচন যা অপ্রত্যাশিত আচরণের ফলে হতে পারে কিন্তু এখনও চালানো যায়)।
উপরন্তু, আপনি যদি আপনার প্রোজেক্টকে এমন কোনো ডিভাইসে লঞ্চ করার চেষ্টা করেন যার সাথে কোনো ত্রুটি বা কোনো সতর্কতা যুক্ত থাকে তাহলে অ্যান্ড্রয়েড স্টুডিও এখন আপনাকে সতর্ক করবে।
নতুন Wear OS পেয়ারিং সহকারী
নতুন Wear OS পেয়ারিং অ্যাসিস্ট্যান্ট ডেভেলপারদের সরাসরি Android স্টুডিওতে শারীরিক বা ভার্চুয়াল ফোনের সাথে Wear OS এমুলেটর জোড়া দেওয়ার মাধ্যমে ধাপে ধাপে গাইড করে। সহকারী আপনাকে আপনার ফোনে সঠিক Wear OS Companion অ্যাপ ইনস্টল করতে এবং দুটি ডিভাইসের মধ্যে একটি সংযোগ সেট আপ করতে সাহায্য করতে পারে। আপনি ডিভাইস ড্রপডাউন > Wear OS এমুলেটর পেয়ারিং অ্যাসিস্ট্যান্ট- এ গিয়ে শুরু করতে পারেন।
প্রতিক্রিয়াশীল বিন্যাস টেমপ্লেট
অ্যান্ড্রয়েড স্টুডিও আর্কটিক ফক্সে এখন একটি নতুন লেআউট টেমপ্লেট রয়েছে যা ফোন, ফোল্ডেবল, ট্যাবলেট এবং স্প্লিট স্ক্রিন মোডের মতো বিভিন্ন ডিসপ্লে ডাইমেনশন এবং অ্যাপ রিসাইজ করার জন্য খাপ খায়। একটি নতুন প্রকল্প বা মডিউল তৈরি করার সময়, গতিশীলভাবে আকার পরিবর্তন করে এমন উপাদানগুলির সাথে একটি লেআউট তৈরি করতে প্রতিক্রিয়াশীল কার্যকলাপ টেমপ্লেটটি নির্বাচন করুন৷
শুরু করতে, ফাইল > নতুন এ নেভিগেট করুন, নতুন প্রকল্প বা নতুন মডিউল নির্বাচন করুন এবং প্রতিক্রিয়াশীল কার্যকলাপ টেমপ্লেট নির্বাচন করুন।
লেআউট এডিটরের জন্য অ্যাক্সেসিবিলিটি স্ক্যানার
আপনার লেআউটগুলিতে অ্যাক্সেসিবিলিটি সমস্যাগুলি খুঁজে পেতে আপনাকে সাহায্য করার জন্য আমরা Android স্টুডিওতে Android অ্যাক্সেসিবিলিটি টেস্ট ফ্রেমওয়ার্ককে একীভূত করেছি। টুলটি অ্যাক্সেসিবিলিটি সম্পর্কিত সমস্যাগুলির প্রতিবেদন করে এবং কিছু সাধারণ সমস্যার জন্য প্রস্তাবিত সমাধানের প্রস্তাব দেয় (যেমন সামগ্রীর বিবরণ অনুপস্থিত, বা কম বৈসাদৃশ্য)। প্যানেল চালু করতে, ত্রুটি রিপোর্ট বোতামে ক্লিক করুন লেআউট এডিটরে।
অ্যাপল সিলিকনের জন্য সমর্থন
অ্যাপল সিলিকন (আর্ম 64) হার্ডওয়্যার আর্কিটেকচার চালানোর সময় অ্যান্ড্রয়েড স্টুডিও এবং অ্যান্ড্রয়েড এমুলেটর এখন মূল ডেভেলপার ওয়ার্কফ্লোগুলির জন্য প্রাথমিক সমর্থন ধারণ করে, সংশ্লিষ্ট এমুলেটর সিস্টেমের ছবি সহ।
সমস্ত SDK এবং NDK কমান্ড-লাইন সরঞ্জামগুলির জন্য সমর্থন এখনও উপলব্ধ নয়৷ কিছু সরঞ্জাম চালানোর জন্য আপনাকে আপনার মেশিনে Rosetta 2 চালাতে হতে পারে।
আর্কটিক ফক্সের জন্য পরিচিত সমস্যা
এই বিভাগে Android Studio Arctic Fox-এর বর্তমান পরিচিত সমস্যাগুলি বর্ণনা করা হয়েছে।
প্যাচগুলি v3.6-v4.1 এর জন্য উইন্ডোজে কাজ করছে না
v3.6-v4.1 থেকে Android Studio Arctic Fox stable-এর জন্য Windows প্ল্যাটফর্মে প্যাচ কাজ নাও করতে পারে।
প্যাচ রিলিজ
অ্যান্ড্রয়েড স্টুডিও আর্কটিক ফক্সে নিম্নলিখিত প্যাচ রিলিজগুলি রয়েছে৷
অ্যান্ড্রয়েড স্টুডিও আর্কটিক ফক্স | 2020.3.1 প্যাচ 4 (ডিসেম্বর 2021)
এই ছোটখাট আপডেটে নিম্নলিখিত বাগ ফিক্সগুলি অন্তর্ভুক্ত রয়েছে:
- অ্যান্ড্রয়েড গ্রেডল প্লাগইন
-
VariantOutput.version
এর জন্য একটিProvider
সেট করা কনফিগারেশন ক্যাশে ভেঙে যেতে পারে -
gradeResValues.xml
রিলিজের জন্য স্বাক্ষর করার সময় আপডেট করা হয়নি
-
- D8/R8
-
java.lang.ClassCastException
ক্লাসের কনস্ট্রাক্টর বিল্ডে থ্রো করা হয়েছে R8 দ্বারা ছোট করা হয়েছে - ডেক্স একত্রিত করার সময় পৌঁছানো যায় না এমন টাইপ সমন্বয়
-
java.lang.VerifyError
: যাচাইকারী যাচাই করতে ব্যর্থ হয়েছে কারণReference.java.lang.Object
টাইপের অবজেক্ট থেকে ইনস্ট্যান্স ফিল্ড অ্যাক্সেস করা যাবে না
-
- লিন্ট
-
MediaCapabilities
লিন্ট চেক অক্ষম করুন - লিন্ট মিথ্যা ইতিবাচক [তাত্ক্ষণিক] ত্রুটি রিপোর্ট করে যখন
shrinkResources
সক্ষম করা হয়
-
- টেমপ্লেট
মডিউল আমদানি করুন বিকল্প ধূসর আউট
আরও তথ্যের জন্য, 2020.3.1 প্যাচ 4 ব্লগ পোস্টটি দেখুন।
অ্যান্ড্রয়েড স্টুডিও আর্কটিক ফক্স | 2020.3.1 প্যাচ 3 (অক্টোবর 2021)
এই ছোটখাট আপডেটে নিম্নলিখিত বাগ ফিক্সগুলি অন্তর্ভুক্ত রয়েছে:
- অ্যান্ড্রয়েড গ্রেডল প্লাগইন
- লিন্ট স্বতন্ত্র প্লাগইন
gradleApi()
নির্ভরতা সঠিকভাবে পরিচালনা করে না - জেপিএস বিল্ড ট্রিগার হয় যখন গ্রেডল বিল্ড স্টুডিওর বাইরে চলে
- একটি প্রকল্পে কেএসপি এবং ক্যাপ্ট উভয়কে সক্ষম করা উভয়ই প্রসেসর ধারণকারী প্রসেসর যা উৎস তৈরি করে
BundleLibraryClassesInputs
ব্রেক করে
- লিন্ট স্বতন্ত্র প্লাগইন
- C++ সম্পাদক
- ব্যাকগ্রাউন্ডে দীর্ঘ
JniReferencesSearch
কম্পিউটেশনের কারণে UI হিমায়িত হয়
- ব্যাকগ্রাউন্ডে দীর্ঘ
- ডাটাবেস পরিদর্শক
- DB সংরক্ষণ করার অনুমতি দিন
- পাথের ফাঁকা স্থান সহ অ্যাপ পরিদর্শন/ডাটাবেস পরিদর্শক ব্যবহার করে ডেটা রপ্তানি করতে অক্ষম
- ডেক্সার (D8)
- সাবক্লাস করার সময় জাভা ল্যাম্বডাস অপ্রত্যাশিত আচরণের কারণ হয়
- সঙ্কুচিত (R8)
- R8 মিনিফিকেশনের সময়
Cannot constrain type
- R8 3.0.69 (AGP 7.0.2 থেকে) এবং 3.0.72 চালানোর সময় সমস্যা
- R8 মিনিফিকেশনের সময়
আরও তথ্যের জন্য, 2020.3.1 প্যাচ 3 ব্লগ পোস্টটি দেখুন।
অ্যান্ড্রয়েড স্টুডিও আর্কটিক ফক্স | 2020.3.1 প্যাচ 2 (সেপ্টেম্বর 2021)
এই ছোটখাট আপডেটে নিম্নলিখিত বাগ ফিক্সগুলি অন্তর্ভুক্ত রয়েছে:
- অ্যান্ড্রয়েড গ্রেডল প্লাগইন
- AS Arctic Fox Canary 7 থেকে Canary 8 এ আপগ্রেড করার জন্য Gradle sync চালু হয়েছে 10 বার
- Desugaring এবং প্রজননযোগ্য বিল্ড
- C++ বিল্ড
- Android Gradle Plugin 7.0.0 APK-এ jniLibs অন্তর্ভুক্ত করে না যদি tasks.whenTaskAdded ক্লোজার ব্যবহার করা হয়
- সম্পাদনা
- মার্জড ম্যানিফেস্ট রিফ্রেশ লিসনার আর্কটিক ফক্সে একটি অসীম লুপে আটকে যায়
- লিন্ট
- "লিন্ট চেকের জন্য লিন্ট চেক" চলছে না
- সঙ্কুচিত (R8)
- ClassNotFoundException যখন AGP7 এ R8 এর সাথে বিল্ড চালান
আরও তথ্যের জন্য, 2020.3.1 প্যাচ 2 ব্লগ পোস্টটি দেখুন।
অ্যান্ড্রয়েড স্টুডিও আর্কটিক ফক্স | 2020.3.1 প্যাচ 1 (আগস্ট 2021)
এই আপডেটে নিম্নলিখিত সমস্যার সমাধান রয়েছে:
- অ্যান্ড্রয়েড গ্রেডল প্লাগইন
- TypedefRemover ASM5 ব্যবহার করে এবং JDK 11 উত্সগুলির সাথে বেমানান যা ASM7 প্রয়োজন
- AGP 7.0.0-এ Groovy DSL থেকে কিছু নতুন DSL ব্লক ব্যবহার করা যাবে না
- AGP 7.0.0 stable libraryVariants.all{applicationId}-এ একটি ExternalApiUsageException নিক্ষেপ করে
- C++ ডিবাগার
- AS Arctic Fox ত্রুটি Mac M1 এ নেটিভ ডিবাগ সেশন শুরু করার সময়, "ভাঙা LLDB কনফিগারেশন পাওয়া গেছে"
- রিসোর্স ম্যানেজার
- (উইন্ডোজ) নতুন > ভেক্টর সম্পদ > picture.svg: অবৈধ 'মাইনাস' অক্ষর তৈরি করা হয়েছে xml
- সঙ্কুচিত (R8)
- BridgeHoisting মধ্যে NPE
- 7.0.0 এ আপগ্রেড করার পরে, "ইনলাইনের পরে পদ্ধতিতে অপ্রত্যাশিত ব্যবহার বাকি" ত্রুটির সাথে R8 ক্র্যাশ হয়
আরও তথ্যের জন্য, 2020.3.1 প্যাচ 1 ব্লগ পোস্টটি দেখুন।