অ্যান্ড্রয়েড স্টুডিও 3.2 (সেপ্টেম্বর 2018)
অ্যান্ড্রয়েড স্টুডিও 3.2 একটি বড় রিলিজ যাতে বিভিন্ন ধরনের নতুন বৈশিষ্ট্য এবং উন্নতি রয়েছে।
3.2.1 (অক্টোবর 2018)
অ্যান্ড্রয়েড স্টুডিও 3.2-এর এই আপডেটে নিম্নলিখিত পরিবর্তন এবং সংশোধনগুলি অন্তর্ভুক্ত রয়েছে:
- বান্ডিল কোটলিন সংস্করণ এখন 1.2.71।
- ডিফল্ট বিল্ড টুল সংস্করণ এখন 28.0.3।
- নেভিগেশন লাইব্রেরিতে, আর্গুমেন্টের প্রকারগুলিকে
type
থেকেargType
এ নামকরণ করা হয়েছে। - নিম্নলিখিত বাগ সংশোধন করা হয়েছে:
- ডেটা বাইন্ডিং লাইব্রেরি ব্যবহার করার সময়, আন্ডারস্কোর সহ ভেরিয়েবল নামগুলি সংকলন ত্রুটির কারণ ছিল।
- CMake IntelliSense এবং অন্যান্য CLion বৈশিষ্ট্যগুলিকে ব্যর্থ করে দিয়েছিল।
- একটি
SliceProvider
যোগ করার ফলেandroidx.*
লাইব্রেরি ব্যবহার করা হয়নি এমন প্রজেক্টে সংকলন ত্রুটি ঘটছে। - কিছু কোটলিন ইউনিট পরীক্ষা চালানো হচ্ছে না.
- ডেটা বাইন্ডিংয়ের সাথে একটি সমস্যা একটি
PsiInvalidElementAccessException
সৃষ্টি করেছিল। -
<merge>
উপাদানগুলি মাঝে মাঝে লেআউট এডিটরকে ক্র্যাশ করে দেয়।
3.2.0 পরিচিত সমস্যা
দ্রষ্টব্য: এই সমস্যাগুলি অ্যান্ড্রয়েড স্টুডিও 3.2.1 এ সমাধান করা হয়েছে
আমরা দৃঢ়ভাবে কোটলিন সংস্করণ 1.2.70 ব্যবহার করার বিরুদ্ধে সুপারিশ করি।
Kotlin সংস্করণ 1.2.61 একটি বাগ সংশোধন করে যা Android স্টুডিওকে হ্যাং করতে পারে, কিন্তু Kotlin 1.2.70 এই সমাধানটি অন্তর্ভুক্ত করে না ।
Kotlin সংস্করণ 1.2.71 এবং পরবর্তী, যাইহোক, এই সংশোধন অন্তর্ভুক্ত করে।
যদিও আপনাকে সাধারণত বিল্ড টুল সংস্করণ নির্দিষ্ট করার প্রয়োজন হয় না, Android Gradle প্লাগইন 3.2.0 ব্যবহার করার সময়
renderscriptSupportModeEnabled
এর সাথেtrue
সেট করা হয়, আপনাকে প্রতিটি মডিউলেরbuild.gradle
ফাইলে নিম্নলিখিতগুলি অন্তর্ভুক্ত করতে হবে:android.buildToolsVersion "28.0.3"
নতুন সহকারী কি
একটি নতুন সহকারী আপনাকে Android স্টুডিওতে সাম্প্রতিক পরিবর্তনগুলি সম্পর্কে অবহিত করবে৷
একটি নতুন ইনস্টলেশন বা আপডেটের পরে যখন আপনি Android স্টুডিও শুরু করেন তখন সহকারীটি খোলে যদি এটি সনাক্ত করে যে দেখানোর জন্য নতুন তথ্য রয়েছে। আপনি Android স্টুডিওতে সহায়তা > নতুন কী আছে বেছে নিয়ে সহকারী খুলতে পারেন।
অ্যান্ড্রয়েড জেটপ্যাক
অ্যান্ড্রয়েড জেটপ্যাক উপাদান, সরঞ্জাম এবং নির্দেশিকা সহ Android বিকাশকে ত্বরান্বিত করতে সহায়তা করে যা পুনরাবৃত্তিমূলক কাজগুলি দূর করে এবং আপনাকে আরও দ্রুত এবং সহজে উচ্চ-মানের, পরীক্ষাযোগ্য অ্যাপ তৈরি করতে সক্ষম করে। অ্যান্ড্রয়েড স্টুডিওতে জেটপ্যাক সমর্থন করার জন্য নিম্নলিখিত আপডেটগুলি অন্তর্ভুক্ত রয়েছে। আরও তথ্যের জন্য, জেটপ্যাক ডকুমেন্টেশন দেখুন।
নেভিগেশন এডিটর
নতুন ন্যাভিগেশন এডিটর আপনার অ্যাপের নেভিগেশন কাঠামো তৈরি করার জন্য একটি গ্রাফিকাল ভিউ প্রদান করতে Android Jetpack-এর নেভিগেশন উপাদানগুলির সাথে একীভূত হয়। নেভিগেশন এডিটর অ্যাপ-মধ্যস্থ গন্তব্যগুলির মধ্যে নেভিগেশনের নকশা এবং বাস্তবায়নকে সহজ করে।
অ্যান্ড্রয়েড স্টুডিও 3.2-এ, নেভিগেশন এডিটর একটি পরীক্ষামূলক বৈশিষ্ট্য। ন্যাভিগেশন এডিটর সক্ষম করতে, ফাইল > সেটিংস ( অ্যান্ড্রয়েড স্টুডিও > ম্যাকের পছন্দগুলি ) ক্লিক করুন, বাম ফলকে পরীক্ষামূলক বিভাগ নির্বাচন করুন, নেভিগেশন সম্পাদক সক্ষম করুন এর পাশের বাক্সটি চেক করুন এবং অ্যান্ড্রয়েড স্টুডিও পুনরায় চালু করুন।
আরও জানতে, নেভিগেশন এডিটর ডকুমেন্টেশন পড়ুন।
AndroidX মাইগ্রেশন
জেটপ্যাকের অংশ হিসেবে, আমরা অ্যান্ড্রয়েড সাপোর্ট লাইব্রেরিগুলিকে androidx
নেমস্পেস ব্যবহার করে একটি নতুন অ্যান্ড্রয়েড এক্সটেনশন লাইব্রেরিতে স্থানান্তরিত করছি। আরও তথ্যের জন্য, AndroidX ওভারভিউ দেখুন।
অ্যান্ড্রয়েড স্টুডিও 3.2 আপনাকে একটি নতুন মাইগ্রেশন বৈশিষ্ট্য সহ এই প্রক্রিয়াটির মাধ্যমে সাহায্য করে।
একটি বিদ্যমান প্রজেক্টকে AndroidX-এ স্থানান্তর করতে, Refactor > AndroidX-এ মাইগ্রেট করুন বেছে নিন। আপনার যদি এমন কোনো Maven নির্ভরতা থাকে যেগুলি AndroidX নামস্থানে স্থানান্তরিত না হয়, তাহলে Android Studio বিল্ড সিস্টেম স্বয়ংক্রিয়ভাবে সেই প্রকল্প নির্ভরতাগুলিকে রূপান্তর করে।
অ্যান্ড্রয়েড গ্রেডল প্লাগইন নিম্নলিখিত গ্লোবাল পতাকা প্রদান করে যা আপনি আপনার gradle.properties
ফাইলে সেট করতে পারেন:
-
android.useAndroidX
:true
সেট করা হলে, এই পতাকাটি নির্দেশ করে যে আপনি এখন থেকে AndroidX ব্যবহার শুরু করতে চান৷ পতাকাটি অনুপস্থিত থাকলে, Android স্টুডিও এমন আচরণ করে যেন পতাকাটিfalse
সেট করা হয়েছে। -
android.enableJetifier
:true
সেট করা হলে, এই পতাকাটি নির্দেশ করে যে আপনি বিদ্যমান তৃতীয় পক্ষের লাইব্রেরিগুলিকে স্বয়ংক্রিয়ভাবে রূপান্তর করতে টুল সমর্থন (Android Gradle প্লাগইন থেকে) পেতে চান যেন সেগুলি AndroidX-এর জন্য লেখা হয়েছে৷ পতাকাটি অনুপস্থিত থাকলে, Android স্টুডিও এমন আচরণ করে যেন পতাকাটিfalse
সেট করা হয়েছে।
আপনি যখন AndroidX-এ মাইগ্রেট কমান্ড ব্যবহার করেন তখন উভয় পতাকা true
হিসাবে সেট করা হয়।
আপনি যদি অবিলম্বে AndroidX লাইব্রেরি ব্যবহার শুরু করতে চান এবং বিদ্যমান তৃতীয় পক্ষের লাইব্রেরিগুলিকে রূপান্তর করতে না চান, তাহলে আপনি android.useAndroidX
পতাকাটিকে true
এবং android.enableJetifier
পতাকাটিকে false
সেট করতে পারেন৷
অ্যান্ড্রয়েড অ্যাপ বান্ডেল
অ্যান্ড্রয়েড অ্যাপ বান্ডেল হল একটি নতুন আপলোড ফর্ম্যাট যাতে আপনার অ্যাপের সংকলিত কোড এবং সংস্থানগুলি অন্তর্ভুক্ত থাকে, তবে APK তৈরি করা এবং Google Play স্টোরে সাইন করাকে পিছিয়ে দেয়৷
Google Play-এর নতুন অ্যাপ সার্ভিং মডেল তারপরে প্রতিটি ব্যবহারকারীর ডিভাইস কনফিগারেশনের জন্য অপ্টিমাইজ করা APK তৈরি এবং পরিবেশন করতে আপনার অ্যাপ বান্ডেল ব্যবহার করে, তাই প্রতিটি ব্যবহারকারী আপনার অ্যাপ চালানোর জন্য তাদের প্রয়োজনীয় কোড এবং সংস্থানগুলি ডাউনলোড করে। আপনাকে আর একাধিক APK তৈরি করতে, সাইন করতে এবং পরিচালনা করতে হবে না এবং ব্যবহারকারীরা আরও ছোট, আরও অপ্টিমাইজ করা ডাউনলোড পাবেন।
উপরন্তু, আপনি আপনার অ্যাপ প্রকল্পে বৈশিষ্ট্য মডিউল যোগ করতে পারেন এবং আপনার অ্যাপ বান্ডেলে অন্তর্ভুক্ত করতে পারেন। আপনার ব্যবহারকারীরা চাহিদা অনুযায়ী আপনার অ্যাপের বৈশিষ্ট্যগুলি ডাউনলোড এবং ইনস্টল করতে পারবেন।
একটি বান্ডেল তৈরি করতে, Build > Build Bundle(s) / APK(s) > Build Bundle(s) বেছে নিন।
একটি Android অ্যাপ বান্ডেল তৈরি এবং বিশ্লেষণ করার নির্দেশাবলী সহ আরও তথ্যের জন্য, Android অ্যাপ বান্ডেল দেখুন।
লেআউট এডিটরে নমুনা ডেটা
অনেক অ্যান্ড্রয়েড লেআউটে রানটাইম ডেটা থাকে যা অ্যাপ ডেভেলপমেন্টের ডিজাইন পর্যায়ে একটি লেআউটের চেহারা এবং অনুভূতি কল্পনা করা কঠিন করে তোলে। আপনি এখন নমুনা ডেটা দিয়ে ভরা লেআউট সম্পাদকে আপনার দৃশ্যের একটি পূর্বরূপ দেখতে পারেন। যখন আপনি একটি ভিউ, একটি বোতাম যোগ করুন ডিজাইন উইন্ডোতে ভিউয়ের নিচে প্রদর্শিত হবে। ডিজাইন-টাইম ভিউ অ্যাট্রিবিউট সেট করতে এই বোতামে ক্লিক করুন। আপনি বিভিন্ন নমুনা ডেটা টেমপ্লেট থেকে চয়ন করতে পারেন এবং নমুনা আইটেমের সংখ্যা নির্দিষ্ট করতে পারেন যার সাথে ভিউটি পূরণ করতে হবে।
নমুনা ডেটা ব্যবহার করার চেষ্টা করতে, একটি নতুন লেআউটে একটি RecyclerView
যোগ করুন, ডিজাইন-টাইম বৈশিষ্ট্য বোতামে ক্লিক করুন দৃশ্যের নীচে, এবং নমুনা ডেটা টেমপ্লেটগুলির ক্যারোজেল থেকে একটি নির্বাচন চয়ন করুন৷
স্লাইস
স্লাইসগুলি অ্যান্ড্রয়েডে অন্যান্য ব্যবহারকারী ইন্টারফেস পৃষ্ঠগুলিতে আপনার অ্যাপের কার্যকারিতার অংশগুলি এম্বেড করার একটি নতুন উপায় সরবরাহ করে। উদাহরণস্বরূপ, স্লাইসগুলি Google অনুসন্ধান পরামর্শগুলিতে অ্যাপ কার্যকারিতা এবং সামগ্রী দেখানো সম্ভব করে।
অ্যান্ড্রয়েড স্টুডিও 3.2-এ একটি অন্তর্নির্মিত টেমপ্লেট রয়েছে যা আপনাকে নতুন স্লাইস প্রোভাইডার API-এর সাথে আপনার অ্যাপটি প্রসারিত করতে সাহায্য করে, সেইসাথে নতুন লিন্ট চেকগুলি নিশ্চিত করতে যে আপনি স্লাইসগুলি তৈরি করার সময় সর্বোত্তম অনুশীলনগুলি অনুসরণ করছেন।
শুরু করতে একটি প্রকল্প ফোল্ডারে ডান-ক্লিক করুন এবং নতুন > অন্যান্য > স্লাইস প্রদানকারী নির্বাচন করুন।
আপনার স্লাইস ইন্টারঅ্যাকশনগুলি কীভাবে পরীক্ষা করবেন তা সহ আরও জানতে, স্লাইস শুরু করার নির্দেশিকা পড়ুন।
কোটলিন 1.2.61
অ্যান্ড্রয়েড স্টুডিও 3.2 কোটলিন 1.2.61 বান্ডেল করে এবং নতুন অ্যান্ড্রয়েড SDK কোটলিনের সাথে আরও ভালভাবে সংহত করে। আরও তথ্যের জন্য, অ্যান্ড্রয়েড বিকাশকারী ব্লগ দেখুন।
IntelliJ IDEA 2018.1.6
মূল অ্যান্ড্রয়েড স্টুডিও আইডিই 2018.1.6 রিলিজের মাধ্যমে IntelliJ IDEA থেকে উন্নতির সাথে আপডেট করা হয়েছে।
অ্যান্ড্রয়েড প্রোফাইলার
অ্যান্ড্রয়েড স্টুডিও 3.2-এ নিম্নলিখিত নতুন অ্যান্ড্রয়েড প্রোফাইলার বৈশিষ্ট্যগুলি ব্যবহার করে দেখুন।
সেশন
আপনি এখন প্রোফাইলার ডেটা সেশন হিসাবে সংরক্ষণ করতে পারেন এবং পরে পরিদর্শন করতে পারেন৷ আপনি IDE রিস্টার্ট না করা পর্যন্ত প্রোফাইলার আপনার সেশনের ডেটা রাখে।
আপনি যখন একটি পদ্ধতির ট্রেস রেকর্ড করেন বা একটি হিপ ডাম্প ক্যাপচার করেন , তখন IDE বর্তমান সেশনে একটি পৃথক এন্ট্রি হিসাবে সেই ডেটা (আপনার অ্যাপের নেটওয়ার্ক কার্যকলাপ সহ) যোগ করে এবং ডেটা তুলনা করার জন্য আপনি সহজেই রেকর্ডিংগুলির মধ্যে সুইচ করতে পারেন৷
সিস্টেম ট্রেস
CPU প্রোফাইলারে , আপনার ডিভাইসের সিস্টেম CPU এবং থ্রেড কার্যকলাপ পরিদর্শন করতে নতুন সিস্টেম ট্রেস কনফিগারেশন নির্বাচন করুন। এই ট্রেস কনফিগারেশনটি systrace
উপর নির্মিত এবং এটি ইউআই জ্যাঙ্কের মতো সিস্টেম-স্তরের সমস্যাগুলির তদন্তের জন্য দরকারী।
এই ট্রেস কনফিগারেশনটি ব্যবহার করার সময়, আপনি আপনার C/C++ কোডটি নেটিভ ট্রেসিং API বা Trace
ক্লাসের সাথে আপনার জাভা কোডের সাহায্যে প্রোফাইলার টাইমলাইনে গুরুত্বপূর্ণ কোড রুটিনগুলিকে দৃশ্যত চিহ্নিত করতে পারেন।
মেমরি প্রোফাইলারে JNI রেফারেন্সগুলি পরিদর্শন করুন
আপনি যদি Android 8.0 (API লেভেল 26) বা উচ্চতর চলমান কোনো ডিভাইসে আপনার অ্যাপ স্থাপন করেন, তাহলে আপনি এখন মেমরি প্রোফাইলার ব্যবহার করে আপনার অ্যাপের JNI কোডের জন্য মেমরি বরাদ্দ পরীক্ষা করতে পারেন।
আপনার অ্যাপটি চলাকালীন, টাইমলাইনের একটি অংশ নির্বাচন করুন যা আপনি পরিদর্শন করতে চান এবং নীচে দেখানো শ্রেণী তালিকার উপরে ড্রপ-ডাউন মেনু থেকে JNI হিপ নির্বাচন করুন। তারপরে আপনি সাধারণত আপনার মতো করে হিপে অবজেক্টগুলি পরিদর্শন করতে পারেন এবং আপনার কোডে JNI রেফারেন্সগুলি কোথায় বরাদ্দ এবং প্রকাশ করা হয়েছে তা দেখতে বরাদ্দ কল স্ট্যাক ট্যাবে অবজেক্টগুলিতে ডাবল ক্লিক করুন৷
মেমরি হিপ ডাম্প ফাইল আমদানি, রপ্তানি এবং পরিদর্শন করুন
আপনি এখন মেমরি প্রোফাইলার দিয়ে তৈরি .hprof
মেমরি হিপ ডাম্প ফাইল আমদানি, রপ্তানি এবং পরিদর্শন করতে পারেন।
নতুন প্রোফাইলার সেশন শুরু করুন ক্লিক করে আপনার .hprof
ফাইল আমদানি করুন৷ প্রোফাইলারের সেশন ফলকে এবং তারপর ফাইল থেকে লোড নির্বাচন করুন। তারপরে আপনি মেমরি প্রোফাইলারে এর ডেটা পরিদর্শন করতে পারেন যেমন আপনি অন্য কোনও হিপ ডাম্প করবেন।
পরে পর্যালোচনা করার জন্য হিপ ডাম্প ডেটা সংরক্ষণ করতে, সেশন ফলকে হিপ ডাম্প এন্ট্রির ডানদিকে এক্সপোর্ট হিপ ডাম্প বোতামটি ব্যবহার করুন৷ এক্সপোর্ট অ্যাজ ডায়ালগে প্রদর্শিত .hprof
ফাইলের নাম এক্সটেনশন দিয়ে ফাইলটি সংরক্ষণ করুন৷
অ্যাপ স্টার্টআপের সময় CPU কার্যকলাপ রেকর্ড করুন
আপনি এখন আপনার অ্যাপের স্টার্টআপের সময় CPU কার্যকলাপ রেকর্ড করতে পারেন, নিম্নরূপ:
- প্রধান মেনু থেকে রান > কনফিগারেশন সম্পাদনা নির্বাচন করুন।
- আপনার কাঙ্খিত রান কনফিগারেশনের প্রোফাইলিং ট্যাবের অধীনে, স্টার্টআপে একটি পদ্ধতি ট্রেস রেকর্ড করা শুরু করুন এর পাশের বাক্সটি চেক করুন।
- ড্রপডাউন মেনু থেকে ব্যবহার করার জন্য একটি CPU রেকর্ডিং কনফিগারেশন নির্বাচন করুন।
- রান > প্রোফাইল নির্বাচন করে Android 8.0 (API লেভেল 26) বা উচ্চতর চলমান ডিভাইসে আপনার অ্যাপ স্থাপন করুন।
CPU ট্রেস রপ্তানি করুন
আপনি CPU প্রোফাইলারের সাথে CPU কার্যকলাপ রেকর্ড করার পরে, আপনি অন্যদের সাথে ভাগ করতে বা পরে পরিদর্শন করার জন্য একটি .trace
ফাইল হিসাবে ডেটা রপ্তানি করতে পারেন।
আপনি CPU কার্যকলাপ রেকর্ড করার পরে একটি ট্রেস রপ্তানি করতে, নিম্নলিখিতগুলি করুন:
- সিপিইউ টাইমলাইন থেকে আপনি যে রেকর্ডিংটি রপ্তানি করতে চান তাতে ডান-ক্লিক করুন।
- ড্রপডাউন মেনু থেকে এক্সপোর্ট ট্রেস নির্বাচন করুন।
- আপনি যেখানে ফাইলটি সংরক্ষণ করতে চান সেখানে নেভিগেট করুন এবং সংরক্ষণ করুন ক্লিক করুন।
সিপিইউ ট্রেস ফাইল আমদানি এবং পরিদর্শন করুন
আপনি এখন ডিবাগ API বা CPU প্রোফাইলার দিয়ে তৈরি .trace
ফাইলগুলি আমদানি এবং পরিদর্শন করতে পারেন৷ (বর্তমানে, আপনি সিস্টেম ট্রেস রেকর্ডিং আমদানি করতে পারবেন না।)
নতুন প্রোফাইলার সেশন শুরু করুন ক্লিক করে আপনার ট্রেস ফাইল আমদানি করুন প্রোফাইলারের সেশন ফলকে এবং তারপর ফাইল থেকে লোড নির্বাচন করুন। তারপরে আপনি নিম্নলিখিত ব্যতিক্রমগুলি সহ, আপনি সাধারণত যেভাবে করেন তার অনুরূপ CPU প্রোফাইলারে এর ডেটা পরিদর্শন করতে পারেন:
- CPU কার্যকলাপ CPU টাইমলাইনে উপস্থাপন করা হয় না।
- থ্রেড অ্যাক্টিভিটি টাইমলাইন নির্দেশ করে যেখানে প্রতিটি থ্রেডের জন্য ট্রেস ডেটা পাওয়া যায় এবং প্রকৃত থ্রেডের অবস্থা (যেমন দৌড়ানো, অপেক্ষা করা বা ঘুমানো) নয়।
ডিবাগ API ব্যবহার করে CPU কার্যকলাপ রেকর্ড করুন
আপনি এখন ডিবাগ এপিআই-এর সাথে আপনার অ্যাপটিকে ইনস্ট্রুমেন্ট করে CPU প্রোফাইলারে CPU কার্যকলাপ রেকর্ড করা শুরু এবং বন্ধ করতে পারেন। আপনি একটি ডিভাইসে আপনার অ্যাপ স্থাপন করার পরে, যখন আপনার অ্যাপ startMethodTracing(String tracePath)
কল করে তখন প্রোফাইলার স্বয়ংক্রিয়ভাবে CPU কার্যকলাপ রেকর্ড করা শুরু করে এবং যখন আপনার অ্যাপ stopMethodTracing()
কল করে তখন প্রোফাইলার রেকর্ডিং বন্ধ করে দেয়। এই API ব্যবহার করে ট্রিগার হওয়া CPU কার্যকলাপ রেকর্ড করার সময়, CPU প্রোফাইলার নির্বাচিত CPU রেকর্ডিং কনফিগারেশন হিসাবে ডিবাগ API দেখায়।
এনার্জি প্রোফাইলার
এনার্জি প্রোফাইলার আপনার অ্যাপের আনুমানিক শক্তি ব্যবহারের একটি ভিজ্যুয়ালাইজেশন প্রদর্শন করে, সেইসাথে সিস্টেম ইভেন্টগুলি যা শক্তির ব্যবহারকে প্রভাবিত করে, যেমন ওয়েকলক, অ্যালার্ম এবং চাকরি।
যখন আপনি একটি সংযুক্ত ডিভাইসে বা Android 8.0 (API 26) বা উচ্চতর সংস্করণে চালিত Android Emulator-এ আপনার অ্যাপ চালান তখন প্রোফাইলার উইন্ডোর নীচে একটি নতুন সারি হিসাবে এনার্জি প্রোফাইলার প্রদর্শিত হয়৷
এনার্জি প্রোফাইলার ভিউকে সর্বাধিক করতে এনার্জি সারিতে ক্লিক করুন। CPU, নেটওয়ার্ক এবং লোকেশন (GPS) রিসোর্স, সেইসাথে প্রাসঙ্গিক সিস্টেম ইভেন্টগুলির দ্বারা শক্তির ব্যবহারের ভাঙ্গন দেখতে টাইমলাইনে একটি বারের উপরে আপনার মাউস পয়েন্টার রাখুন।
সিস্টেম ইভেন্টগুলি যেগুলি শক্তির ব্যবহারকে প্রভাবিত করে সেগুলি শক্তি টাইমলাইনের নীচে সিস্টেম টাইমলাইনে নির্দেশিত হয়৷ নির্দিষ্ট সময় সীমার মধ্যে সিস্টেম ইভেন্টের বিশদ বিবরণ ইভেন্ট ফলকে দেখানো হয় যখন আপনি এনার্জি টাইমলাইনে একটি সময় সীমা নির্বাচন করেন।
একটি সিস্টেম ইভেন্টের জন্য কল স্ট্যাক এবং অন্যান্য বিবরণ দেখতে, যেমন একটি wakelock, ইভেন্ট ফলকে এটি নির্বাচন করুন। একটি সিস্টেম ইভেন্টের জন্য দায়ী কোডে যেতে, কল স্ট্যাকের এন্ট্রিতে ডাবল-ক্লিক করুন।
লিন্ট চেকিং
অ্যান্ড্রয়েড স্টুডিও 3.2 লিন্ট চেকিংয়ের জন্য অনেক নতুন এবং উন্নত বৈশিষ্ট্য অন্তর্ভুক্ত করে।
নতুন লিন্ট চেকগুলি আপনাকে সাধারণ কোড সমস্যাগুলি খুঁজে পেতে এবং সনাক্ত করতে সাহায্য করে, সম্ভাব্য ব্যবহারযোগ্যতা সমস্যা সম্পর্কে সতর্কতা থেকে শুরু করে সম্ভাব্য নিরাপত্তা দুর্বলতা সম্পর্কিত উচ্চ-অগ্রাধিকার ত্রুটিগুলি।
লিন্ট জাভা/কোটলিন ইন্টারঅপারেবিলিটি পরীক্ষা করে
আপনার জাভা কোড আপনার Kotlin কোডের সাথে ভালভাবে ইন্টারঅপারেটিং করে তা নিশ্চিত করতে, নতুন লিন্ট চেকগুলি Kotlin Interop গাইডে বর্ণিত সর্বোত্তম অনুশীলনগুলি প্রয়োগ করে৷ এই চেকগুলির উদাহরণগুলির মধ্যে রয়েছে শূন্যতা টীকাগুলির উপস্থিতি সন্ধান করা, কোটলিন হার্ড কীওয়ার্ডগুলির ব্যবহার এবং ল্যাম্বডা প্যারামিটারগুলি শেষ করা।
এই চেকগুলি সক্ষম করতে, সেটিংস ডায়ালগ খুলতে ফাইল > সেটিংস ( অ্যান্ড্রয়েড স্টুডিও > ম্যাকের পছন্দ ) এ ক্লিক করুন, সম্পাদক > পরিদর্শন > অ্যান্ড্রয়েড > লিন্ট > ইন্টারঅপারেবিলিটি > কোটলিন ইন্টারঅপারেবিলিটি বিভাগে নেভিগেট করুন এবং আপনি যে নিয়মগুলি সক্ষম করতে চান তা নির্বাচন করুন৷
কমান্ড-লাইন বিল্ডগুলির জন্য এই চেকগুলি সক্ষম করতে, আপনার build.gradle
ফাইলে নিম্নলিখিতগুলি যুক্ত করুন:
android {
lintOptions {
check 'Interoperability'
}
}
স্লাইস জন্য লিন্ট চেক
স্লাইসের জন্য নতুন লিন্ট চেক আপনি সঠিকভাবে স্লাইস নির্মাণ করছেন তা নিশ্চিত করতে সাহায্য করে। উদাহরণস্বরূপ, লিন্ট চেক আপনাকে সতর্ক করে যদি আপনি একটি স্লাইসে প্রাথমিক অ্যাকশন বরাদ্দ না করেন।
নতুন গ্রেডল লক্ষ্য
সোর্স কোডে সরাসরি লিন্ট চেক দ্বারা প্রস্তাবিত সমস্ত নিরাপদ ফিক্স প্রয়োগ করতে নতুন lintFix
Gradle টাস্কটি ব্যবহার করুন৷ একটি লিন্ট চেকের একটি উদাহরণ যা প্রয়োগ করার জন্য একটি নিরাপদ সমাধানের পরামর্শ দেয় তা হল SyntheticAccessor
।
মেটাডেটা আপডেট
Android 9 (API স্তর 28) এর সাথে কাজ করার জন্য লিন্ট চেকের জন্য বিভিন্ন মেটাডেটা, যেমন পরিষেবা কাস্ট চেক আপডেট করা হয়েছে।
একটি নতুন ভেরিয়েন্টে লিন্ট চালানো হলে সতর্কতা
লিন্ট এখন রেকর্ড করে যে কোন বৈকল্পিক এবং সংস্করণটি একটি বেসলাইনের সাথে রেকর্ড করা হয়েছে এবং লিন্ট আপনাকে সতর্ক করে যদি আপনি এটিকে বেসলাইন তৈরি করা হয়েছে তার থেকে ভিন্ন ভিন্ন সংস্করণে চালান।
বিদ্যমান লিন্ট চেকগুলির উন্নতি
অ্যান্ড্রয়েড স্টুডিও 3.2-এ বিদ্যমান লিন্ট চেকের অনেক উন্নতি রয়েছে। উদাহরণ স্বরূপ, রিসোর্স সাইকেল চেক এখন অতিরিক্ত রিসোর্স প্রকারের জন্য প্রযোজ্য, এবং অনুবাদ ডিটেক্টর এডিটরে অনুপস্থিত অনুবাদ খুঁজে পেতে পারে।
ইস্যু আইডি আরও আবিষ্কারযোগ্য
ইস্যু আইডিগুলি এখন পরিদর্শন ফলাফল উইন্ডো সহ আরও জায়গায় দেখানো হয়েছে। এটি আপনাকে build.gradle
এ lintOptions
মাধ্যমে নির্দিষ্ট চেক সক্রিয় বা নিষ্ক্রিয় করতে প্রয়োজনীয় তথ্য খুঁজে পাওয়া সহজ করে তোলে।
আরও তথ্যের জন্য, Gradle এর সাথে লিন্ট বিকল্পগুলি কনফিগার করুন দেখুন।
ডেটা বাইন্ডিং V2
ডেটা বাইন্ডিং V2 এখন ডিফল্টরূপে সক্ষম এবং V1 এর সাথে সামঞ্জস্যপূর্ণ। এর মানে হল, যদি আপনার লাইব্রেরি নির্ভরতা থাকে যা আপনি V1 এর সাথে কম্পাইল করেছেন, আপনি সেগুলি ডেটা বাইন্ডিং V2 ব্যবহার করে প্রকল্পগুলির সাথে ব্যবহার করতে পারেন। যাইহোক, মনে রাখবেন যে V1 ব্যবহার করা প্রকল্পগুলি V2 এর সাথে কম্পাইল করা নির্ভরতা ব্যবহার করতে পারে না।
ডি 8 ডিসুগারিং
অ্যান্ড্রয়েড স্টুডিও 3.1-এ, আমরা ডিসুগারিং ধাপটিকে একটি পরীক্ষামূলক বৈশিষ্ট্য হিসাবে D8 টুলে একীভূত করেছি, যা সামগ্রিক বিল্ড টাইম কমিয়েছে। অ্যান্ড্রয়েড স্টুডিও 3.2-এ, ডি 8 এর সাথে ডিসুগারিং ডিফল্টরূপে চালু থাকে।
নতুন কোড সঙ্কুচিত
R8 কোড সঙ্কুচিত এবং অস্পষ্ট করার জন্য একটি নতুন টুল যা ProGuard প্রতিস্থাপন করে। আপনি আপনার প্রকল্পের gradle.properties
ফাইলে নিম্নলিখিতগুলি অন্তর্ভুক্ত করে R8 এর পূর্বরূপ সংস্করণ ব্যবহার শুরু করতে পারেন:
android.enableR8 = true
মাল্টি-এপিকেগুলির জন্য ডিফল্ট ABI গুলি পরিবর্তন করা হয়েছে৷
একাধিক APK তৈরি করার সময় যেগুলি প্রতিটি আলাদা ABI কে লক্ষ্য করে, প্লাগইনটি আর ডিফল্টরূপে নিম্নলিখিত ABI-এর জন্য APK তৈরি করে না: mips
, mips64
, এবং armeabi
.
আপনি যদি এই ABI গুলিকে টার্গেট করে এমন APK তৈরি করতে চান, তাহলে আপনাকে অবশ্যই NDK r16b বা তার কম ব্যবহার করতে হবে এবং আপনার build.gradle
ফাইলে ABIs উল্লেখ করতে হবে, যেমনটি নীচে দেখানো হয়েছে:
splits { abi { include 'armeabi', 'mips', 'mips64' ... } }
splits { abi { include("armeabi", "mips", "mips64") ... } }
দ্রষ্টব্য: এই আচরণ পরিবর্তনটি অ্যান্ড্রয়েড স্টুডিও 3.1 RC1 এবং উচ্চতর তেও অন্তর্ভুক্ত করা হয়েছে।
CMake বিল্ড ফাইলের জন্য উন্নত সম্পাদক বৈশিষ্ট্য
আপনি যদি আপনার প্রকল্পে C এবং C++ কোড যোগ করার জন্য CMake ব্যবহার করেন, তাহলে Android স্টুডিওতে এখন আপনার CMake বিল্ড স্ক্রিপ্টগুলি সম্পাদনা করতে আপনাকে সাহায্য করার জন্য উন্নত সম্পাদক বৈশিষ্ট্যগুলি অন্তর্ভুক্ত রয়েছে, যেমন নিম্নলিখিত:
- সিনট্যাক্স হাইলাইটিং এবং কোড সমাপ্তি: IDE এখন হাইলাইট করে এবং সাধারণ CMake কমান্ডের জন্য কোড সমাপ্তির পরামর্শ দেয়। অতিরিক্তভাবে, আপনি কন্ট্রোল কী (কমান্ড অন ম্যাক) টিপে এটিতে ক্লিক করে একটি ফাইলে নেভিগেট করতে পারেন।
- কোড রিফরম্যাটিং: আপনি এখন আপনার CMake বিল্ড স্ক্রিপ্টগুলিতে কোড শৈলী প্রয়োগ করতে IntelliJ এর কোড রিফরম্যাট বিকল্পটি ব্যবহার করতে পারেন।
- নিরাপদ রিফ্যাক্টরিং: IDE-এর অন্তর্নির্মিত রিফ্যাক্টরিং সরঞ্জামগুলি এখন পরীক্ষা করে যে আপনি আপনার CMake বিল্ড স্ক্রিপ্টগুলিতে উল্লেখ করা ফাইলগুলির নাম পরিবর্তন করছেন বা মুছে ফেলছেন কিনা।
বহিরাগত হেডার ফাইল নেভিগেট করুন
অ্যান্ড্রয়েড স্টুডিওর পূর্ববর্তী সংস্করণগুলিতে প্রজেক্ট উইন্ডো ব্যবহার করার সময়, আপনি স্থানীয় প্রকল্প থেকে তৈরি করা লাইব্রেরির অন্তর্গত শুধুমাত্র হেডার ফাইলগুলি নেভিগেট করতে এবং পরিদর্শন করতে পারেন। এই প্রকাশের সাথে, আপনি এখন আপনার অ্যাপ প্রকল্পে আমদানি করা বাহ্যিক C/C++ লাইব্রেরি নির্ভরতার সাথে অন্তর্ভুক্ত শিরোনাম ফাইলগুলি দেখতে এবং পরিদর্শন করতে পারেন।
আপনি যদি ইতিমধ্যেই আপনার প্রকল্পে C/C++ কোড এবং লাইব্রেরি অন্তর্ভুক্ত করে থাকেন , তাহলে প্রধান মেনু থেকে View > Tool Windows > Project নির্বাচন করে IDE-এর বাম দিকে প্রজেক্ট উইন্ডো খুলুন এবং ড্রপ-ডাউন মেনু থেকে Android নির্বাচন করুন। cpp ডিরেক্টরিতে, আপনার অ্যাপ প্রকল্পের সুযোগের মধ্যে থাকা সমস্ত শিরোনামগুলি আপনার প্রতিটি স্থানীয় C/C++ লাইব্রেরি নির্ভরতার জন্য অন্তর্ভুক্ত নোডের অধীনে সংগঠিত হয়, যেমনটি নীচে দেখানো হয়েছে।
নেটিভ মাল্টিডেক্স ডিফল্টরূপে সক্রিয়
অ্যান্ড্রয়েড স্টুডিওর পূর্ববর্তী সংস্করণগুলি Android API স্তর 21 বা উচ্চতর চলমান ডিভাইসে একটি অ্যাপের ডিবাগ সংস্করণ স্থাপন করার সময় নেটিভ মাল্টিডেক্স সক্ষম করে। এখন, আপনি একটি ডিভাইসে স্থাপন করছেন বা মুক্তির জন্য একটি APK তৈরি করছেন, Gradle-এর জন্য Android প্লাগইন minSdkVersion=21
বা উচ্চতর সেট করা সমস্ত মডিউলের জন্য নেটিভ মাল্টিডেক্স সক্ষম করে।
AAPT2 Google এর Maven সংগ্রহস্থলে সরানো হয়েছে
অ্যান্ড্রয়েড স্টুডিও 3.2 থেকে শুরু করে, AAPT2 (Android Asset Packaging Tool 2) এর উৎস হল Google এর Maven সংগ্রহস্থল।
AAPT2 ব্যবহার করতে, নিশ্চিত করুন যে আপনার build.gradle
ফাইলে একটি google()
নির্ভরতা আছে, যেমনটি এখানে দেখানো হয়েছে:
buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() } }
buildscript { repositories { google() // here jcenter() } dependencies { classpath("com.android.tools.build:gradle:3.2.0") } } allprojects { repositories { google() // and here jcenter() } }
AAPT2-এর নতুন সংস্করণ Windows-এ নন-ASCII অক্ষরগুলির উন্নত হ্যান্ডলিং সহ অনেক সমস্যার সমাধান করে।
চাহিদা অনুযায়ী কনফিগারেশন অপসারণ
অ্যান্ড্রয়েড স্টুডিও থেকে কনফিগার অন ডিমান্ড প্রেফারেন্স মুছে ফেলা হয়েছে।
অ্যান্ড্রয়েড স্টুডিও আর গ্রেডলে --configure-on-demand
আর্গুমেন্ট পাস করে না।
এডিবি সংযোগ সহকারী
নতুন ADB সংযোগ সহকারী আপনাকে Android ডিবাগ ব্রিজ (ADB) সংযোগের মাধ্যমে একটি ডিভাইস সেট আপ করতে এবং ব্যবহার করতে সহায়তা করার জন্য ধাপে ধাপে নির্দেশাবলী প্রদান করে৷
সহকারী শুরু করতে, টুলস > সংযোগ সহকারী নির্বাচন করুন।
ADB কানেকশন অ্যাসিস্ট্যান্ট নির্দেশাবলী, ইন-কনটেক্সট কন্ট্রোল এবং অ্যাসিস্ট্যান্ট প্যানেলে একাধিক পৃষ্ঠায় সংযুক্ত ডিভাইসের তালিকা প্রদান করে।
এমুলেটর উন্নতি
আপনি এখন অ্যান্ড্রয়েড এমুলেটরে যেকোনো সময় একটি AVD (Android ভার্চুয়াল ডিভাইস) এর স্ন্যাপশট সংরক্ষণ এবং লোড করতে পারেন, এটি দ্রুত এবং সহজে একটি ইমুলেটেড ডিভাইসকে পরীক্ষার জন্য পরিচিত অবস্থায় ফেরত দিতে পারে৷ আপনি যখন AVD ম্যানেজার ব্যবহার করে একটি AVD সম্পাদনা করেন, তখন AVD শুরু হলে কোন AVD স্ন্যাপশট লোড হবে তা আপনি নির্দিষ্ট করতে পারেন৷
AVD স্ন্যাপশটগুলি সংরক্ষণ, লোড করা এবং পরিচালনার জন্য নিয়ন্ত্রণগুলি এখন এমুলেটরের বর্ধিত নিয়ন্ত্রণ উইন্ডোতে স্ন্যাপশট ট্যাবে রয়েছে৷
বিস্তারিত জানার জন্য, স্ন্যাপশট দেখুন।
এমুলেটরে কি নতুন এবং পরিবর্তিত হয়েছে সে সম্পর্কে অতিরিক্ত তথ্যের জন্য, এমুলেটর রিলিজ নোটগুলি দেখুন।
,অ্যান্ড্রয়েড স্টুডিও 3.2 (সেপ্টেম্বর 2018)
অ্যান্ড্রয়েড স্টুডিও 3.2 একটি বড় রিলিজ যাতে বিভিন্ন ধরনের নতুন বৈশিষ্ট্য এবং উন্নতি রয়েছে।
3.2.1 (অক্টোবর 2018)
অ্যান্ড্রয়েড স্টুডিও 3.2-এর এই আপডেটে নিম্নলিখিত পরিবর্তন এবং সংশোধনগুলি অন্তর্ভুক্ত রয়েছে:
- বান্ডিল কোটলিন সংস্করণ এখন 1.2.71।
- ডিফল্ট বিল্ড টুল সংস্করণ এখন 28.0.3।
- নেভিগেশন লাইব্রেরিতে, আর্গুমেন্টের প্রকারগুলিকে
type
থেকেargType
এ নামকরণ করা হয়েছে। - নিম্নলিখিত বাগ সংশোধন করা হয়েছে:
- ডেটা বাইন্ডিং লাইব্রেরি ব্যবহার করার সময়, আন্ডারস্কোর সহ ভেরিয়েবল নামগুলি সংকলন ত্রুটির কারণ ছিল।
- CMake IntelliSense এবং অন্যান্য CLion বৈশিষ্ট্যগুলিকে ব্যর্থ করে দিয়েছিল।
- একটি
SliceProvider
যোগ করার ফলেandroidx.*
লাইব্রেরি ব্যবহার করা হয়নি এমন প্রজেক্টে সংকলন ত্রুটি ঘটছে। - কিছু কোটলিন ইউনিট পরীক্ষা চালানো হচ্ছে না.
- ডেটা বাইন্ডিংয়ের সাথে একটি সমস্যা একটি
PsiInvalidElementAccessException
সৃষ্টি করেছিল। -
<merge>
উপাদানগুলি মাঝে মাঝে লেআউট এডিটরকে ক্র্যাশ করে দেয়।
3.2.0 পরিচিত সমস্যা
দ্রষ্টব্য: এই সমস্যাগুলি অ্যান্ড্রয়েড স্টুডিও 3.2.1 এ সমাধান করা হয়েছে
আমরা দৃঢ়ভাবে কোটলিন সংস্করণ 1.2.70 ব্যবহার করার বিরুদ্ধে সুপারিশ করি।
Kotlin সংস্করণ 1.2.61 একটি বাগ সংশোধন করে যা Android স্টুডিওকে হ্যাং করতে পারে, কিন্তু Kotlin 1.2.70 এই সমাধানটি অন্তর্ভুক্ত করে না ।
Kotlin সংস্করণ 1.2.71 এবং পরবর্তী, যাইহোক, এই সংশোধন অন্তর্ভুক্ত করে।
যদিও আপনাকে সাধারণত বিল্ড টুল সংস্করণ নির্দিষ্ট করার প্রয়োজন হয় না, Android Gradle প্লাগইন 3.2.0 ব্যবহার করার সময়
renderscriptSupportModeEnabled
এর সাথেtrue
সেট করা হয়, আপনাকে প্রতিটি মডিউলেরbuild.gradle
ফাইলে নিম্নলিখিতগুলি অন্তর্ভুক্ত করতে হবে:android.buildToolsVersion "28.0.3"
নতুন সহকারী কি
একটি নতুন সহকারী আপনাকে Android স্টুডিওতে সাম্প্রতিক পরিবর্তনগুলি সম্পর্কে অবহিত করবে৷
একটি নতুন ইনস্টলেশন বা আপডেটের পরে যখন আপনি Android স্টুডিও শুরু করেন তখন সহকারীটি খোলে যদি এটি সনাক্ত করে যে দেখানোর জন্য নতুন তথ্য রয়েছে। আপনি Android স্টুডিওতে সহায়তা > নতুন কী আছে বেছে নিয়ে সহকারী খুলতে পারেন।
অ্যান্ড্রয়েড জেটপ্যাক
অ্যান্ড্রয়েড জেটপ্যাক উপাদান, সরঞ্জাম এবং নির্দেশিকা সহ Android বিকাশকে ত্বরান্বিত করতে সহায়তা করে যা পুনরাবৃত্তিমূলক কাজগুলি দূর করে এবং আপনাকে আরও দ্রুত এবং সহজে উচ্চ-মানের, পরীক্ষাযোগ্য অ্যাপ তৈরি করতে সক্ষম করে। অ্যান্ড্রয়েড স্টুডিওতে জেটপ্যাক সমর্থন করার জন্য নিম্নলিখিত আপডেটগুলি অন্তর্ভুক্ত রয়েছে। আরও তথ্যের জন্য, জেটপ্যাক ডকুমেন্টেশন দেখুন।
নেভিগেশন এডিটর
নতুন ন্যাভিগেশন এডিটর আপনার অ্যাপের নেভিগেশন কাঠামো তৈরি করার জন্য একটি গ্রাফিকাল ভিউ প্রদান করতে Android Jetpack-এর নেভিগেশন উপাদানগুলির সাথে একীভূত হয়। নেভিগেশন এডিটর অ্যাপ-মধ্যস্থ গন্তব্যগুলির মধ্যে নেভিগেশনের নকশা এবং বাস্তবায়নকে সহজ করে।
অ্যান্ড্রয়েড স্টুডিও 3.2-এ, নেভিগেশন এডিটর একটি পরীক্ষামূলক বৈশিষ্ট্য। ন্যাভিগেশন এডিটর সক্ষম করতে, ফাইল > সেটিংস ( অ্যান্ড্রয়েড স্টুডিও > ম্যাকের পছন্দগুলি ) ক্লিক করুন, বাম ফলকে পরীক্ষামূলক বিভাগ নির্বাচন করুন, নেভিগেশন সম্পাদক সক্ষম করুন এর পাশের বাক্সটি চেক করুন এবং অ্যান্ড্রয়েড স্টুডিও পুনরায় চালু করুন।
আরও জানতে, নেভিগেশন এডিটর ডকুমেন্টেশন পড়ুন।
AndroidX মাইগ্রেশন
জেটপ্যাকের অংশ হিসেবে, আমরা অ্যান্ড্রয়েড সাপোর্ট লাইব্রেরিগুলিকে androidx
নেমস্পেস ব্যবহার করে একটি নতুন অ্যান্ড্রয়েড এক্সটেনশন লাইব্রেরিতে স্থানান্তরিত করছি। আরও তথ্যের জন্য, AndroidX ওভারভিউ দেখুন।
অ্যান্ড্রয়েড স্টুডিও 3.2 আপনাকে একটি নতুন মাইগ্রেশন বৈশিষ্ট্য সহ এই প্রক্রিয়াটির মাধ্যমে সাহায্য করে।
একটি বিদ্যমান প্রজেক্টকে AndroidX-এ স্থানান্তর করতে, Refactor > AndroidX-এ মাইগ্রেট করুন বেছে নিন। আপনার যদি এমন কোনো Maven নির্ভরতা থাকে যেগুলি AndroidX নামস্থানে স্থানান্তরিত না হয়, তাহলে Android Studio বিল্ড সিস্টেম স্বয়ংক্রিয়ভাবে সেই প্রকল্প নির্ভরতাগুলিকে রূপান্তর করে।
অ্যান্ড্রয়েড গ্রেডল প্লাগইন নিম্নলিখিত গ্লোবাল পতাকা প্রদান করে যা আপনি আপনার gradle.properties
ফাইলে সেট করতে পারেন:
-
android.useAndroidX
:true
সেট করা হলে, এই পতাকাটি নির্দেশ করে যে আপনি এখন থেকে AndroidX ব্যবহার শুরু করতে চান৷ পতাকাটি অনুপস্থিত থাকলে, Android স্টুডিও এমন আচরণ করে যেন পতাকাটিfalse
সেট করা হয়েছে। -
android.enableJetifier
:true
সেট করা হলে, এই পতাকাটি নির্দেশ করে যে আপনি বিদ্যমান তৃতীয় পক্ষের লাইব্রেরিগুলিকে স্বয়ংক্রিয়ভাবে রূপান্তর করতে টুল সমর্থন (Android Gradle প্লাগইন থেকে) পেতে চান যেন সেগুলি AndroidX-এর জন্য লেখা হয়েছে৷ পতাকাটি অনুপস্থিত থাকলে, Android স্টুডিও এমন আচরণ করে যেন পতাকাটিfalse
সেট করা হয়েছে।
আপনি যখন AndroidX-এ মাইগ্রেট কমান্ড ব্যবহার করেন তখন উভয় পতাকা true
হিসাবে সেট করা হয়।
আপনি যদি অবিলম্বে AndroidX লাইব্রেরি ব্যবহার শুরু করতে চান এবং বিদ্যমান তৃতীয় পক্ষের লাইব্রেরিগুলিকে রূপান্তর করতে না চান, তাহলে আপনি android.useAndroidX
পতাকাটিকে true
এবং android.enableJetifier
পতাকাটিকে false
সেট করতে পারেন৷
অ্যান্ড্রয়েড অ্যাপ বান্ডেল
অ্যান্ড্রয়েড অ্যাপ বান্ডেল হল একটি নতুন আপলোড ফর্ম্যাট যাতে আপনার অ্যাপের সংকলিত কোড এবং সংস্থানগুলি অন্তর্ভুক্ত থাকে, তবে APK তৈরি করা এবং Google Play স্টোরে সাইন করাকে পিছিয়ে দেয়৷
Google Play-এর নতুন অ্যাপ সার্ভিং মডেল তারপরে প্রতিটি ব্যবহারকারীর ডিভাইস কনফিগারেশনের জন্য অপ্টিমাইজ করা APK তৈরি এবং পরিবেশন করতে আপনার অ্যাপ বান্ডেল ব্যবহার করে, তাই প্রতিটি ব্যবহারকারী আপনার অ্যাপ চালানোর জন্য তাদের প্রয়োজনীয় কোড এবং সংস্থানগুলি ডাউনলোড করে। আপনাকে আর একাধিক APK তৈরি করতে, সাইন করতে এবং পরিচালনা করতে হবে না এবং ব্যবহারকারীরা আরও ছোট, আরও অপ্টিমাইজ করা ডাউনলোড পাবেন।
উপরন্তু, আপনি আপনার অ্যাপ প্রকল্পে বৈশিষ্ট্য মডিউল যোগ করতে পারেন এবং আপনার অ্যাপ বান্ডেলে অন্তর্ভুক্ত করতে পারেন। আপনার ব্যবহারকারীরা চাহিদা অনুযায়ী আপনার অ্যাপের বৈশিষ্ট্যগুলি ডাউনলোড এবং ইনস্টল করতে পারবেন।
একটি বান্ডেল তৈরি করতে, Build > Build Bundle(s) / APK(s) > Build Bundle(s) বেছে নিন।
একটি Android অ্যাপ বান্ডেল তৈরি এবং বিশ্লেষণ করার নির্দেশাবলী সহ আরও তথ্যের জন্য, Android অ্যাপ বান্ডেল দেখুন।
লেআউট এডিটরে নমুনা ডেটা
অনেক অ্যান্ড্রয়েড লেআউটে রানটাইম ডেটা থাকে যা অ্যাপ ডেভেলপমেন্টের ডিজাইন পর্যায়ে একটি লেআউটের চেহারা এবং অনুভূতি কল্পনা করা কঠিন করে তোলে। আপনি এখন নমুনা ডেটা দিয়ে ভরা লেআউট সম্পাদকে আপনার দৃশ্যের একটি পূর্বরূপ দেখতে পারেন। যখন আপনি একটি ভিউ, একটি বোতাম যোগ করুন ডিজাইন উইন্ডোতে ভিউয়ের নিচে প্রদর্শিত হবে। ডিজাইন-টাইম ভিউ অ্যাট্রিবিউট সেট করতে এই বোতামে ক্লিক করুন। আপনি বিভিন্ন নমুনা ডেটা টেমপ্লেট থেকে চয়ন করতে পারেন এবং নমুনা আইটেমের সংখ্যা নির্দিষ্ট করতে পারেন যার সাথে ভিউটি পূরণ করতে হবে।
নমুনা ডেটা ব্যবহার করার চেষ্টা করতে, একটি নতুন লেআউটে একটি RecyclerView
যোগ করুন, ডিজাইন-টাইম বৈশিষ্ট্য বোতামে ক্লিক করুন দৃশ্যের নীচে, এবং নমুনা ডেটা টেমপ্লেটগুলির ক্যারোজেল থেকে একটি নির্বাচন চয়ন করুন৷
স্লাইস
স্লাইসগুলি অ্যান্ড্রয়েডে অন্যান্য ব্যবহারকারী ইন্টারফেস পৃষ্ঠগুলিতে আপনার অ্যাপের কার্যকারিতার অংশগুলি এম্বেড করার একটি নতুন উপায় সরবরাহ করে। উদাহরণস্বরূপ, স্লাইসগুলি Google অনুসন্ধান পরামর্শগুলিতে অ্যাপ কার্যকারিতা এবং সামগ্রী দেখানো সম্ভব করে।
অ্যান্ড্রয়েড স্টুডিও 3.2-এ একটি অন্তর্নির্মিত টেমপ্লেট রয়েছে যা আপনাকে নতুন স্লাইস প্রোভাইডার API-এর সাথে আপনার অ্যাপটি প্রসারিত করতে সাহায্য করে, সেইসাথে নতুন লিন্ট চেকগুলি নিশ্চিত করতে যে আপনি স্লাইসগুলি তৈরি করার সময় সর্বোত্তম অনুশীলনগুলি অনুসরণ করছেন।
শুরু করতে একটি প্রকল্প ফোল্ডারে ডান-ক্লিক করুন এবং নতুন > অন্যান্য > স্লাইস প্রদানকারী নির্বাচন করুন।
আপনার স্লাইস ইন্টারঅ্যাকশনগুলি কীভাবে পরীক্ষা করবেন তা সহ আরও জানতে, স্লাইস শুরু করার নির্দেশিকা পড়ুন।
কোটলিন 1.2.61
অ্যান্ড্রয়েড স্টুডিও 3.2 কোটলিন 1.2.61 বান্ডেল করে এবং নতুন অ্যান্ড্রয়েড SDK কোটলিনের সাথে আরও ভালভাবে সংহত করে। আরও তথ্যের জন্য, অ্যান্ড্রয়েড বিকাশকারী ব্লগ দেখুন।
IntelliJ IDEA 2018.1.6
মূল অ্যান্ড্রয়েড স্টুডিও আইডিই 2018.1.6 রিলিজের মাধ্যমে IntelliJ IDEA থেকে উন্নতির সাথে আপডেট করা হয়েছে।
অ্যান্ড্রয়েড প্রোফাইলার
অ্যান্ড্রয়েড স্টুডিও 3.2-এ নিম্নলিখিত নতুন অ্যান্ড্রয়েড প্রোফাইলার বৈশিষ্ট্যগুলি ব্যবহার করে দেখুন।
সেশন
আপনি এখন প্রোফাইলার ডেটা সেশন হিসাবে সংরক্ষণ করতে পারেন এবং পরে পরিদর্শন করতে পারেন৷ আপনি IDE রিস্টার্ট না করা পর্যন্ত প্রোফাইলার আপনার সেশনের ডেটা রাখে।
আপনি যখন একটি পদ্ধতির ট্রেস রেকর্ড করেন বা একটি হিপ ডাম্প ক্যাপচার করেন , তখন IDE বর্তমান সেশনে একটি পৃথক এন্ট্রি হিসাবে সেই ডেটা (আপনার অ্যাপের নেটওয়ার্ক কার্যকলাপ সহ) যোগ করে এবং ডেটা তুলনা করার জন্য আপনি সহজেই রেকর্ডিংগুলির মধ্যে সুইচ করতে পারেন৷
সিস্টেম ট্রেস
CPU প্রোফাইলারে , আপনার ডিভাইসের সিস্টেম CPU এবং থ্রেড কার্যকলাপ পরিদর্শন করতে নতুন সিস্টেম ট্রেস কনফিগারেশন নির্বাচন করুন। এই ট্রেস কনফিগারেশনটি systrace
উপর নির্মিত এবং এটি ইউআই জ্যাঙ্কের মতো সিস্টেম-স্তরের সমস্যাগুলির তদন্তের জন্য দরকারী।
এই ট্রেস কনফিগারেশনটি ব্যবহার করার সময়, আপনি আপনার C/C++ কোডটি নেটিভ ট্রেসিং API বা Trace
ক্লাসের সাথে আপনার জাভা কোডের সাহায্যে প্রোফাইলার টাইমলাইনে গুরুত্বপূর্ণ কোড রুটিনগুলিকে দৃশ্যত চিহ্নিত করতে পারেন।
মেমরি প্রোফাইলারে JNI রেফারেন্সগুলি পরিদর্শন করুন
আপনি যদি Android 8.0 (API লেভেল 26) বা উচ্চতর চলমান কোনো ডিভাইসে আপনার অ্যাপ স্থাপন করেন, তাহলে আপনি এখন মেমরি প্রোফাইলার ব্যবহার করে আপনার অ্যাপের JNI কোডের জন্য মেমরি বরাদ্দ পরীক্ষা করতে পারেন।
আপনার অ্যাপটি চলাকালীন, টাইমলাইনের একটি অংশ নির্বাচন করুন যা আপনি পরিদর্শন করতে চান এবং নীচে দেখানো শ্রেণী তালিকার উপরে ড্রপ-ডাউন মেনু থেকে JNI হিপ নির্বাচন করুন। তারপরে আপনি সাধারণত আপনার মতো করে হিপে অবজেক্টগুলি পরিদর্শন করতে পারেন এবং আপনার কোডে JNI রেফারেন্সগুলি কোথায় বরাদ্দ এবং প্রকাশ করা হয়েছে তা দেখতে বরাদ্দ কল স্ট্যাক ট্যাবে অবজেক্টগুলিতে ডাবল ক্লিক করুন৷
মেমরি হিপ ডাম্প ফাইল আমদানি, রপ্তানি এবং পরিদর্শন করুন
আপনি এখন মেমরি প্রোফাইলার দিয়ে তৈরি .hprof
মেমরি হিপ ডাম্প ফাইল আমদানি, রপ্তানি এবং পরিদর্শন করতে পারেন।
নতুন প্রোফাইলার সেশন শুরু করুন ক্লিক করে আপনার .hprof
ফাইল আমদানি করুন৷ প্রোফাইলারের সেশন ফলকে এবং তারপর ফাইল থেকে লোড নির্বাচন করুন। তারপরে আপনি মেমরি প্রোফাইলারে এর ডেটা পরিদর্শন করতে পারেন যেমন আপনি অন্য কোনও হিপ ডাম্প করবেন।
পরে পর্যালোচনা করার জন্য হিপ ডাম্প ডেটা সংরক্ষণ করতে, সেশন ফলকে হিপ ডাম্প এন্ট্রির ডানদিকে এক্সপোর্ট হিপ ডাম্প বোতামটি ব্যবহার করুন৷ এক্সপোর্ট অ্যাজ ডায়ালগে প্রদর্শিত .hprof
ফাইলের নাম এক্সটেনশন দিয়ে ফাইলটি সংরক্ষণ করুন৷
অ্যাপ স্টার্টআপের সময় CPU কার্যকলাপ রেকর্ড করুন
আপনি এখন আপনার অ্যাপের স্টার্টআপের সময় CPU কার্যকলাপ রেকর্ড করতে পারেন, নিম্নরূপ:
- প্রধান মেনু থেকে রান > কনফিগারেশন সম্পাদনা নির্বাচন করুন।
- আপনার কাঙ্খিত রান কনফিগারেশনের প্রোফাইলিং ট্যাবের অধীনে, স্টার্টআপে একটি পদ্ধতি ট্রেস রেকর্ড করা শুরু করুন এর পাশের বাক্সটি চেক করুন।
- ড্রপডাউন মেনু থেকে ব্যবহার করার জন্য একটি CPU রেকর্ডিং কনফিগারেশন নির্বাচন করুন।
- রান > প্রোফাইল নির্বাচন করে Android 8.0 (API লেভেল 26) বা উচ্চতর চলমান ডিভাইসে আপনার অ্যাপ স্থাপন করুন।
CPU ট্রেস রপ্তানি করুন
আপনি CPU প্রোফাইলারের সাথে CPU কার্যকলাপ রেকর্ড করার পরে, আপনি অন্যদের সাথে ভাগ করতে বা পরে পরিদর্শন করার জন্য একটি .trace
ফাইল হিসাবে ডেটা রপ্তানি করতে পারেন।
আপনি CPU কার্যকলাপ রেকর্ড করার পরে একটি ট্রেস রপ্তানি করতে, নিম্নলিখিতগুলি করুন:
- সিপিইউ টাইমলাইন থেকে আপনি যে রেকর্ডিংটি রপ্তানি করতে চান তাতে ডান-ক্লিক করুন।
- ড্রপডাউন মেনু থেকে এক্সপোর্ট ট্রেস নির্বাচন করুন।
- আপনি যেখানে ফাইলটি সংরক্ষণ করতে চান সেখানে নেভিগেট করুন এবং সংরক্ষণ করুন ক্লিক করুন।
সিপিইউ ট্রেস ফাইল আমদানি এবং পরিদর্শন করুন
আপনি এখন ডিবাগ API বা CPU প্রোফাইলার দিয়ে তৈরি .trace
ফাইলগুলি আমদানি এবং পরিদর্শন করতে পারেন৷ (বর্তমানে, আপনি সিস্টেম ট্রেস রেকর্ডিং আমদানি করতে পারবেন না।)
নতুন প্রোফাইলার সেশন শুরু করুন ক্লিক করে আপনার ট্রেস ফাইল আমদানি করুন প্রোফাইলারের সেশন ফলকে এবং তারপর ফাইল থেকে লোড নির্বাচন করুন। তারপরে আপনি নিম্নলিখিত ব্যতিক্রমগুলি সহ, আপনি সাধারণত যেভাবে করেন তার অনুরূপ CPU প্রোফাইলারে এর ডেটা পরিদর্শন করতে পারেন:
- CPU কার্যকলাপ CPU টাইমলাইনে উপস্থাপন করা হয় না।
- থ্রেড অ্যাক্টিভিটি টাইমলাইন নির্দেশ করে যেখানে প্রতিটি থ্রেডের জন্য ট্রেস ডেটা পাওয়া যায় এবং প্রকৃত থ্রেডের অবস্থা (যেমন দৌড়ানো, অপেক্ষা করা বা ঘুমানো) নয়।
ডিবাগ API ব্যবহার করে CPU কার্যকলাপ রেকর্ড করুন
আপনি এখন ডিবাগ এপিআই-এর সাথে আপনার অ্যাপটিকে ইনস্ট্রুমেন্ট করে CPU প্রোফাইলারে CPU কার্যকলাপ রেকর্ড করা শুরু এবং বন্ধ করতে পারেন। আপনি একটি ডিভাইসে আপনার অ্যাপ স্থাপন করার পরে, যখন আপনার অ্যাপ startMethodTracing(String tracePath)
কল করে তখন প্রোফাইলার স্বয়ংক্রিয়ভাবে CPU কার্যকলাপ রেকর্ড করা শুরু করে এবং যখন আপনার অ্যাপ stopMethodTracing()
কল করে তখন প্রোফাইলার রেকর্ডিং বন্ধ করে দেয়। এই API ব্যবহার করে ট্রিগার হওয়া CPU কার্যকলাপ রেকর্ড করার সময়, CPU প্রোফাইলার নির্বাচিত CPU রেকর্ডিং কনফিগারেশন হিসাবে ডিবাগ API দেখায়।
এনার্জি প্রোফাইলার
এনার্জি প্রোফাইলার আপনার অ্যাপের আনুমানিক শক্তি ব্যবহারের একটি ভিজ্যুয়ালাইজেশন প্রদর্শন করে, সেইসাথে সিস্টেম ইভেন্টগুলি যা শক্তির ব্যবহারকে প্রভাবিত করে, যেমন ওয়েকলক, অ্যালার্ম এবং চাকরি।
যখন আপনি একটি সংযুক্ত ডিভাইসে বা Android 8.0 (API 26) বা উচ্চতর সংস্করণে চালিত Android Emulator-এ আপনার অ্যাপ চালান তখন প্রোফাইলার উইন্ডোর নীচে একটি নতুন সারি হিসাবে এনার্জি প্রোফাইলার প্রদর্শিত হয়৷
এনার্জি প্রোফাইলার ভিউকে সর্বাধিক করতে এনার্জি সারিতে ক্লিক করুন। CPU, নেটওয়ার্ক এবং লোকেশন (GPS) রিসোর্স, সেইসাথে প্রাসঙ্গিক সিস্টেম ইভেন্টগুলির দ্বারা শক্তির ব্যবহারের ভাঙ্গন দেখতে টাইমলাইনে একটি বারের উপরে আপনার মাউস পয়েন্টার রাখুন।
সিস্টেম ইভেন্টগুলি যেগুলি শক্তির ব্যবহারকে প্রভাবিত করে সেগুলি শক্তি টাইমলাইনের নীচে সিস্টেম টাইমলাইনে নির্দেশিত হয়৷ নির্দিষ্ট সময় সীমার মধ্যে সিস্টেম ইভেন্টের বিশদ বিবরণ ইভেন্ট ফলকে দেখানো হয় যখন আপনি এনার্জি টাইমলাইনে একটি সময় সীমা নির্বাচন করেন।
একটি সিস্টেম ইভেন্টের জন্য কল স্ট্যাক এবং অন্যান্য বিবরণ দেখতে, যেমন একটি wakelock, ইভেন্ট ফলকে এটি নির্বাচন করুন। একটি সিস্টেম ইভেন্টের জন্য দায়ী কোডে যেতে, কল স্ট্যাকের এন্ট্রিতে ডাবল-ক্লিক করুন।
লিন্ট চেকিং
অ্যান্ড্রয়েড স্টুডিও 3.2 লিন্ট চেকিংয়ের জন্য অনেক নতুন এবং উন্নত বৈশিষ্ট্য অন্তর্ভুক্ত করে।
নতুন লিন্ট চেকগুলি আপনাকে সাধারণ কোড সমস্যাগুলি খুঁজে পেতে এবং সনাক্ত করতে সাহায্য করে, সম্ভাব্য ব্যবহারযোগ্যতা সমস্যা সম্পর্কে সতর্কতা থেকে শুরু করে সম্ভাব্য নিরাপত্তা দুর্বলতা সম্পর্কিত উচ্চ-অগ্রাধিকার ত্রুটিগুলি।
লিন্ট জাভা/কোটলিন ইন্টারঅপারেবিলিটি পরীক্ষা করে
আপনার জাভা কোড আপনার Kotlin কোডের সাথে ভালভাবে ইন্টারঅপারেটিং করে তা নিশ্চিত করতে, নতুন লিন্ট চেকগুলি Kotlin Interop গাইডে বর্ণিত সর্বোত্তম অনুশীলনগুলি প্রয়োগ করে৷ এই চেকগুলির উদাহরণগুলির মধ্যে রয়েছে শূন্যতা টীকাগুলির উপস্থিতি সন্ধান করা, কোটলিন হার্ড কীওয়ার্ডগুলির ব্যবহার এবং ল্যাম্বডা প্যারামিটারগুলি শেষ করা।
এই চেকগুলি সক্ষম করতে, সেটিংস ডায়ালগ খুলতে ফাইল > সেটিংস ( অ্যান্ড্রয়েড স্টুডিও > ম্যাকের পছন্দ ) এ ক্লিক করুন, সম্পাদক > পরিদর্শন > অ্যান্ড্রয়েড > লিন্ট > ইন্টারঅপারেবিলিটি > কোটলিন ইন্টারঅপারেবিলিটি বিভাগে নেভিগেট করুন এবং আপনি যে নিয়মগুলি সক্ষম করতে চান তা নির্বাচন করুন৷
কমান্ড-লাইন বিল্ডগুলির জন্য এই চেকগুলি সক্ষম করতে, আপনার build.gradle
ফাইলে নিম্নলিখিতগুলি যুক্ত করুন:
android {
lintOptions {
check 'Interoperability'
}
}
স্লাইস জন্য লিন্ট চেক
স্লাইসের জন্য নতুন লিন্ট চেক আপনি সঠিকভাবে স্লাইস নির্মাণ করছেন তা নিশ্চিত করতে সাহায্য করে। উদাহরণস্বরূপ, লিন্ট চেক আপনাকে সতর্ক করে যদি আপনি একটি স্লাইসে প্রাথমিক অ্যাকশন বরাদ্দ না করেন।
নতুন গ্রেডল লক্ষ্য
সোর্স কোডে সরাসরি লিন্ট চেক দ্বারা প্রস্তাবিত সমস্ত নিরাপদ ফিক্স প্রয়োগ করতে নতুন lintFix
Gradle টাস্কটি ব্যবহার করুন৷ একটি লিন্ট চেকের একটি উদাহরণ যা প্রয়োগ করার জন্য একটি নিরাপদ সমাধানের পরামর্শ দেয় তা হল SyntheticAccessor
।
মেটাডেটা আপডেট
Android 9 (API স্তর 28) এর সাথে কাজ করার জন্য লিন্ট চেকের জন্য বিভিন্ন মেটাডেটা, যেমন পরিষেবা কাস্ট চেক আপডেট করা হয়েছে।
একটি নতুন ভেরিয়েন্টে লিন্ট চালানো হলে সতর্কতা
লিন্ট এখন রেকর্ড করে যে কোন বৈকল্পিক এবং সংস্করণটি একটি বেসলাইনের সাথে রেকর্ড করা হয়েছে এবং লিন্ট আপনাকে সতর্ক করে যদি আপনি এটিকে বেসলাইন তৈরি করা হয়েছে তার থেকে ভিন্ন ভিন্ন সংস্করণে চালান।
বিদ্যমান লিন্ট চেকগুলির উন্নতি
অ্যান্ড্রয়েড স্টুডিও 3.2-এ বিদ্যমান লিন্ট চেকের অনেক উন্নতি রয়েছে। উদাহরণ স্বরূপ, রিসোর্স সাইকেল চেক এখন অতিরিক্ত রিসোর্স প্রকারের জন্য প্রযোজ্য, এবং অনুবাদ ডিটেক্টর এডিটরে অনুপস্থিত অনুবাদ খুঁজে পেতে পারে।
ইস্যু আইডি আরও আবিষ্কারযোগ্য
ইস্যু আইডিগুলি এখন পরিদর্শন ফলাফল উইন্ডো সহ আরও জায়গায় দেখানো হয়েছে। এটি আপনাকে build.gradle
এ lintOptions
মাধ্যমে নির্দিষ্ট চেক সক্রিয় বা নিষ্ক্রিয় করতে প্রয়োজনীয় তথ্য খুঁজে পাওয়া সহজ করে তোলে।
আরও তথ্যের জন্য, Gradle এর সাথে লিন্ট বিকল্পগুলি কনফিগার করুন দেখুন।
ডেটা বাইন্ডিং V2
ডেটা বাইন্ডিং V2 এখন ডিফল্টরূপে সক্ষম এবং V1 এর সাথে সামঞ্জস্যপূর্ণ। এর মানে হল, যদি আপনার লাইব্রেরি নির্ভরতা থাকে যা আপনি V1 এর সাথে কম্পাইল করেছেন, আপনি সেগুলি ডেটা বাইন্ডিং V2 ব্যবহার করে প্রকল্পগুলির সাথে ব্যবহার করতে পারেন। যাইহোক, মনে রাখবেন যে V1 ব্যবহার করা প্রকল্পগুলি V2 এর সাথে কম্পাইল করা নির্ভরতা ব্যবহার করতে পারে না।
ডি 8 ডিসুগারিং
অ্যান্ড্রয়েড স্টুডিও 3.1-এ, আমরা ডিসুগারিং ধাপটিকে একটি পরীক্ষামূলক বৈশিষ্ট্য হিসাবে D8 টুলে একীভূত করেছি, যা সামগ্রিক বিল্ড টাইম কমিয়েছে। অ্যান্ড্রয়েড স্টুডিও 3.2-এ, ডি 8 এর সাথে ডিসুগারিং ডিফল্টরূপে চালু থাকে।
নতুন কোড সঙ্কুচিত
R8 কোড সঙ্কুচিত এবং অস্পষ্ট করার জন্য একটি নতুন টুল যা ProGuard প্রতিস্থাপন করে। আপনি আপনার প্রকল্পের gradle.properties
ফাইলে নিম্নলিখিতগুলি অন্তর্ভুক্ত করে R8 এর পূর্বরূপ সংস্করণ ব্যবহার শুরু করতে পারেন:
android.enableR8 = true
মাল্টি-এপিকেগুলির জন্য ডিফল্ট ABI গুলি পরিবর্তন করা হয়েছে৷
একাধিক APK তৈরি করার সময় যেগুলি প্রতিটি আলাদা ABI কে লক্ষ্য করে, প্লাগইনটি আর ডিফল্টরূপে নিম্নলিখিত ABI-এর জন্য APK তৈরি করে না: mips
, mips64
, এবং armeabi
.
আপনি যদি এই ABI গুলিকে টার্গেট করে এমন APK তৈরি করতে চান, তাহলে আপনাকে অবশ্যই NDK r16b বা তার কম ব্যবহার করতে হবে এবং আপনার build.gradle
ফাইলে ABIs উল্লেখ করতে হবে, যেমনটি নীচে দেখানো হয়েছে:
splits { abi { include 'armeabi', 'mips', 'mips64' ... } }
splits { abi { include("armeabi", "mips", "mips64") ... } }
দ্রষ্টব্য: এই আচরণ পরিবর্তনটি অ্যান্ড্রয়েড স্টুডিও 3.1 RC1 এবং উচ্চতর তেও অন্তর্ভুক্ত করা হয়েছে।
CMake বিল্ড ফাইলের জন্য উন্নত সম্পাদক বৈশিষ্ট্য
আপনি যদি আপনার প্রকল্পে C এবং C++ কোড যোগ করার জন্য CMake ব্যবহার করেন, তাহলে Android স্টুডিওতে এখন আপনার CMake বিল্ড স্ক্রিপ্টগুলি সম্পাদনা করতে আপনাকে সাহায্য করার জন্য উন্নত সম্পাদক বৈশিষ্ট্যগুলি অন্তর্ভুক্ত রয়েছে, যেমন নিম্নলিখিত:
- সিনট্যাক্স হাইলাইটিং এবং কোড সমাপ্তি: IDE এখন হাইলাইট করে এবং সাধারণ CMake কমান্ডের জন্য কোড সমাপ্তির পরামর্শ দেয়। অতিরিক্তভাবে, আপনি কন্ট্রোল কী (কমান্ড অন ম্যাক) টিপে এটিতে ক্লিক করে একটি ফাইলে নেভিগেট করতে পারেন।
- কোড রিফরম্যাটিং: আপনি এখন আপনার CMake বিল্ড স্ক্রিপ্টগুলিতে কোড শৈলী প্রয়োগ করতে IntelliJ এর কোড রিফরম্যাট বিকল্পটি ব্যবহার করতে পারেন।
- নিরাপদ রিফ্যাক্টরিং: IDE-এর অন্তর্নির্মিত রিফ্যাক্টরিং সরঞ্জামগুলি এখন পরীক্ষা করে যে আপনি আপনার CMake বিল্ড স্ক্রিপ্টগুলিতে উল্লেখ করা ফাইলগুলির নাম পরিবর্তন করছেন বা মুছে ফেলছেন কিনা।
বহিরাগত হেডার ফাইল নেভিগেট করুন
অ্যান্ড্রয়েড স্টুডিওর পূর্ববর্তী সংস্করণগুলিতে প্রজেক্ট উইন্ডো ব্যবহার করার সময়, আপনি স্থানীয় প্রকল্প থেকে তৈরি করা লাইব্রেরির অন্তর্গত শুধুমাত্র হেডার ফাইলগুলি নেভিগেট করতে এবং পরিদর্শন করতে পারেন। এই প্রকাশের সাথে, আপনি এখন আপনার অ্যাপ প্রকল্পে আমদানি করা বাহ্যিক C/C++ লাইব্রেরি নির্ভরতার সাথে অন্তর্ভুক্ত শিরোনাম ফাইলগুলি দেখতে এবং পরিদর্শন করতে পারেন।
আপনি যদি ইতিমধ্যেই আপনার প্রকল্পে C/C++ কোড এবং লাইব্রেরি অন্তর্ভুক্ত করে থাকেন , তাহলে প্রধান মেনু থেকে View > Tool Windows > Project নির্বাচন করে IDE-এর বাম দিকে প্রজেক্ট উইন্ডো খুলুন এবং ড্রপ-ডাউন মেনু থেকে Android নির্বাচন করুন। cpp ডিরেক্টরিতে, আপনার অ্যাপ প্রকল্পের সুযোগের মধ্যে থাকা সমস্ত শিরোনামগুলি আপনার প্রতিটি স্থানীয় C/C++ লাইব্রেরি নির্ভরতার জন্য অন্তর্ভুক্ত নোডের অধীনে সংগঠিত হয়, যেমনটি নীচে দেখানো হয়েছে।
নেটিভ মাল্টিডেক্স ডিফল্টরূপে সক্রিয়
অ্যান্ড্রয়েড স্টুডিওর পূর্ববর্তী সংস্করণগুলি Android API স্তর 21 বা উচ্চতর চলমান ডিভাইসে একটি অ্যাপের ডিবাগ সংস্করণ স্থাপন করার সময় নেটিভ মাল্টিডেক্স সক্ষম করে। এখন, আপনি একটি ডিভাইসে স্থাপন করছেন বা মুক্তির জন্য একটি APK তৈরি করছেন, Gradle-এর জন্য Android প্লাগইন minSdkVersion=21
বা উচ্চতর সেট করা সমস্ত মডিউলের জন্য নেটিভ মাল্টিডেক্স সক্ষম করে।
AAPT2 Google এর Maven সংগ্রহস্থলে সরানো হয়েছে
অ্যান্ড্রয়েড স্টুডিও 3.2 থেকে শুরু করে, AAPT2 (Android Asset Packaging Tool 2) এর উৎস হল Google এর Maven সংগ্রহস্থল।
AAPT2 ব্যবহার করতে, নিশ্চিত করুন যে আপনার build.gradle
ফাইলে একটি google()
নির্ভরতা আছে, যেমনটি এখানে দেখানো হয়েছে:
buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() } }
buildscript { repositories { google() // here jcenter() } dependencies { classpath("com.android.tools.build:gradle:3.2.0") } } allprojects { repositories { google() // and here jcenter() } }
AAPT2-এর নতুন সংস্করণ Windows-এ নন-ASCII অক্ষরগুলির উন্নত হ্যান্ডলিং সহ অনেক সমস্যার সমাধান করে।
চাহিদা অনুযায়ী কনফিগারেশন অপসারণ
অ্যান্ড্রয়েড স্টুডিও থেকে কনফিগার অন ডিমান্ড প্রেফারেন্স মুছে ফেলা হয়েছে।
অ্যান্ড্রয়েড স্টুডিও আর গ্রেডলে --configure-on-demand
আর্গুমেন্ট পাস করে না।
এডিবি সংযোগ সহকারী
নতুন ADB সংযোগ সহকারী আপনাকে Android ডিবাগ ব্রিজ (ADB) সংযোগের মাধ্যমে একটি ডিভাইস সেট আপ করতে এবং ব্যবহার করতে সহায়তা করার জন্য ধাপে ধাপে নির্দেশাবলী প্রদান করে৷
সহকারী শুরু করতে, টুলস > সংযোগ সহকারী নির্বাচন করুন।
ADB কানেকশন অ্যাসিস্ট্যান্ট নির্দেশাবলী, ইন-কনটেক্সট কন্ট্রোল এবং অ্যাসিস্ট্যান্ট প্যানেলে একাধিক পৃষ্ঠায় সংযুক্ত ডিভাইসের তালিকা প্রদান করে।
এমুলেটর উন্নতি
আপনি এখন অ্যান্ড্রয়েড এমুলেটরে যেকোনো সময় একটি AVD (Android ভার্চুয়াল ডিভাইস) এর স্ন্যাপশট সংরক্ষণ এবং লোড করতে পারেন, এটি দ্রুত এবং সহজে একটি ইমুলেটেড ডিভাইসকে পরীক্ষার জন্য পরিচিত অবস্থায় ফেরত দিতে পারে৷ আপনি যখন AVD ম্যানেজার ব্যবহার করে একটি AVD সম্পাদনা করেন, তখন AVD শুরু হলে কোন AVD স্ন্যাপশট লোড হবে তা আপনি নির্দিষ্ট করতে পারেন৷
AVD স্ন্যাপশটগুলি সংরক্ষণ, লোড করা এবং পরিচালনার জন্য নিয়ন্ত্রণগুলি এখন এমুলেটরের বর্ধিত নিয়ন্ত্রণ উইন্ডোতে স্ন্যাপশট ট্যাবে রয়েছে৷
বিস্তারিত জানার জন্য, স্ন্যাপশট দেখুন।
এমুলেটরে কি নতুন এবং পরিবর্তিত হয়েছে সে সম্পর্কে অতিরিক্ত তথ্যের জন্য, এমুলেটর রিলিজ নোটগুলি দেখুন।
,অ্যান্ড্রয়েড স্টুডিও 3.2 (সেপ্টেম্বর 2018)
অ্যান্ড্রয়েড স্টুডিও 3.2 একটি বড় রিলিজ যাতে বিভিন্ন ধরনের নতুন বৈশিষ্ট্য এবং উন্নতি রয়েছে।
3.2.1 (অক্টোবর 2018)
অ্যান্ড্রয়েড স্টুডিও 3.2-এর এই আপডেটে নিম্নলিখিত পরিবর্তন এবং সংশোধনগুলি অন্তর্ভুক্ত রয়েছে:
- বান্ডিল কোটলিন সংস্করণ এখন 1.2.71।
- ডিফল্ট বিল্ড টুল সংস্করণ এখন 28.0.3।
- নেভিগেশন লাইব্রেরিতে, আর্গুমেন্টের প্রকারগুলিকে
type
থেকেargType
এ নামকরণ করা হয়েছে। - নিম্নলিখিত বাগ সংশোধন করা হয়েছে:
- ডেটা বাইন্ডিং লাইব্রেরি ব্যবহার করার সময়, আন্ডারস্কোর সহ ভেরিয়েবল নামগুলি সংকলন ত্রুটির কারণ ছিল।
- CMake IntelliSense এবং অন্যান্য CLion বৈশিষ্ট্যগুলিকে ব্যর্থ করে দিয়েছিল।
- একটি
SliceProvider
যোগ করার ফলেandroidx.*
লাইব্রেরি ব্যবহার করা হয়নি এমন প্রজেক্টে সংকলন ত্রুটি ঘটছে। - কিছু কোটলিন ইউনিট পরীক্ষা চালানো হচ্ছে না.
- ডেটা বাইন্ডিংয়ের সাথে একটি সমস্যা একটি
PsiInvalidElementAccessException
সৃষ্টি করেছিল। -
<merge>
উপাদানগুলি মাঝে মাঝে লেআউট এডিটরকে ক্র্যাশ করে দেয়।
3.2.0 পরিচিত সমস্যা
দ্রষ্টব্য: এই সমস্যাগুলি অ্যান্ড্রয়েড স্টুডিও 3.2.1 এ সমাধান করা হয়েছে
আমরা দৃঢ়ভাবে কোটলিন সংস্করণ 1.2.70 ব্যবহার করার বিরুদ্ধে সুপারিশ করি।
Kotlin সংস্করণ 1.2.61 একটি বাগ সংশোধন করে যা Android স্টুডিওকে হ্যাং করতে পারে, কিন্তু Kotlin 1.2.70 এই সমাধানটি অন্তর্ভুক্ত করে না ।
Kotlin সংস্করণ 1.2.71 এবং পরবর্তী, যাইহোক, এই সংশোধন অন্তর্ভুক্ত করে।
যদিও আপনাকে সাধারণত বিল্ড টুল সংস্করণ নির্দিষ্ট করার প্রয়োজন হয় না, Android Gradle প্লাগইন 3.2.0 ব্যবহার করার সময়
renderscriptSupportModeEnabled
এর সাথেtrue
সেট করা হয়, আপনাকে প্রতিটি মডিউলেরbuild.gradle
ফাইলে নিম্নলিখিতগুলি অন্তর্ভুক্ত করতে হবে:android.buildToolsVersion "28.0.3"
নতুন সহকারী কি
একটি নতুন সহকারী আপনাকে Android স্টুডিওতে সাম্প্রতিক পরিবর্তনগুলি সম্পর্কে অবহিত করবে৷
একটি নতুন ইনস্টলেশন বা আপডেটের পরে যখন আপনি Android স্টুডিও শুরু করেন তখন সহকারীটি খোলে যদি এটি সনাক্ত করে যে দেখানোর জন্য নতুন তথ্য রয়েছে। আপনি Android স্টুডিওতে সহায়তা > নতুন কী আছে বেছে নিয়ে সহকারী খুলতে পারেন।
অ্যান্ড্রয়েড জেটপ্যাক
অ্যান্ড্রয়েড জেটপ্যাক উপাদান, সরঞ্জাম এবং নির্দেশিকা সহ Android বিকাশকে ত্বরান্বিত করতে সহায়তা করে যা পুনরাবৃত্তিমূলক কাজগুলি দূর করে এবং আপনাকে আরও দ্রুত এবং সহজে উচ্চ-মানের, পরীক্ষাযোগ্য অ্যাপ তৈরি করতে সক্ষম করে। অ্যান্ড্রয়েড স্টুডিওতে জেটপ্যাক সমর্থন করার জন্য নিম্নলিখিত আপডেটগুলি অন্তর্ভুক্ত রয়েছে। আরও তথ্যের জন্য, জেটপ্যাক ডকুমেন্টেশন দেখুন।
নেভিগেশন এডিটর
নতুন ন্যাভিগেশন এডিটর আপনার অ্যাপের নেভিগেশন কাঠামো তৈরি করার জন্য একটি গ্রাফিকাল ভিউ প্রদান করতে Android Jetpack-এর নেভিগেশন উপাদানগুলির সাথে একীভূত হয়। নেভিগেশন এডিটর অ্যাপ-মধ্যস্থ গন্তব্যগুলির মধ্যে নেভিগেশনের নকশা এবং বাস্তবায়নকে সহজ করে।
অ্যান্ড্রয়েড স্টুডিও 3.2-এ, নেভিগেশন এডিটর একটি পরীক্ষামূলক বৈশিষ্ট্য। ন্যাভিগেশন এডিটর সক্ষম করতে, ফাইল > সেটিংস ( অ্যান্ড্রয়েড স্টুডিও > ম্যাকের পছন্দগুলি ) ক্লিক করুন, বাম ফলকে পরীক্ষামূলক বিভাগ নির্বাচন করুন, নেভিগেশন সম্পাদক সক্ষম করুন এর পাশের বাক্সটি চেক করুন এবং অ্যান্ড্রয়েড স্টুডিও পুনরায় চালু করুন।
আরও জানতে, নেভিগেশন এডিটর ডকুমেন্টেশন পড়ুন।
AndroidX মাইগ্রেশন
জেটপ্যাকের অংশ হিসেবে, আমরা অ্যান্ড্রয়েড সাপোর্ট লাইব্রেরিগুলিকে androidx
নেমস্পেস ব্যবহার করে একটি নতুন অ্যান্ড্রয়েড এক্সটেনশন লাইব্রেরিতে স্থানান্তরিত করছি। আরও তথ্যের জন্য, AndroidX ওভারভিউ দেখুন।
অ্যান্ড্রয়েড স্টুডিও 3.2 আপনাকে একটি নতুন মাইগ্রেশন বৈশিষ্ট্য সহ এই প্রক্রিয়াটির মাধ্যমে সাহায্য করে।
একটি বিদ্যমান প্রজেক্টকে AndroidX-এ স্থানান্তর করতে, Refactor > AndroidX-এ মাইগ্রেট করুন বেছে নিন। আপনার যদি এমন কোনো Maven নির্ভরতা থাকে যেগুলি AndroidX নামস্থানে স্থানান্তরিত না হয়, তাহলে Android Studio বিল্ড সিস্টেম স্বয়ংক্রিয়ভাবে সেই প্রকল্প নির্ভরতাগুলিকে রূপান্তর করে।
অ্যান্ড্রয়েড গ্রেডল প্লাগইন নিম্নলিখিত গ্লোবাল পতাকা প্রদান করে যা আপনি আপনার gradle.properties
ফাইলে সেট করতে পারেন:
-
android.useAndroidX
:true
সেট করা হলে, এই পতাকাটি নির্দেশ করে যে আপনি এখন থেকে AndroidX ব্যবহার শুরু করতে চান৷ পতাকাটি অনুপস্থিত থাকলে, Android স্টুডিও এমন আচরণ করে যেন পতাকাটিfalse
সেট করা হয়েছে। -
android.enableJetifier
:true
সেট করা হলে, এই পতাকাটি নির্দেশ করে যে আপনি বিদ্যমান তৃতীয় পক্ষের লাইব্রেরিগুলিকে স্বয়ংক্রিয়ভাবে রূপান্তর করতে টুল সমর্থন (Android Gradle প্লাগইন থেকে) পেতে চান যেন সেগুলি AndroidX-এর জন্য লেখা হয়েছে৷ পতাকাটি অনুপস্থিত থাকলে, Android স্টুডিও এমন আচরণ করে যেন পতাকাটিfalse
সেট করা হয়েছে।
আপনি যখন AndroidX-এ মাইগ্রেট কমান্ড ব্যবহার করেন তখন উভয় পতাকা true
হিসাবে সেট করা হয়।
আপনি যদি অবিলম্বে AndroidX লাইব্রেরি ব্যবহার শুরু করতে চান এবং বিদ্যমান তৃতীয় পক্ষের লাইব্রেরিগুলিকে রূপান্তর করতে না চান, তাহলে আপনি android.useAndroidX
পতাকাটিকে true
এবং android.enableJetifier
পতাকাটিকে false
সেট করতে পারেন৷
অ্যান্ড্রয়েড অ্যাপ বান্ডেল
অ্যান্ড্রয়েড অ্যাপ বান্ডেল হল একটি নতুন আপলোড ফর্ম্যাট যাতে আপনার অ্যাপের সংকলিত কোড এবং সংস্থানগুলি অন্তর্ভুক্ত থাকে, তবে APK তৈরি করা এবং Google Play স্টোরে সাইন করাকে পিছিয়ে দেয়৷
Google Play-এর নতুন অ্যাপ সার্ভিং মডেল তারপরে প্রতিটি ব্যবহারকারীর ডিভাইস কনফিগারেশনের জন্য অপ্টিমাইজ করা APK তৈরি এবং পরিবেশন করতে আপনার অ্যাপ বান্ডেল ব্যবহার করে, তাই প্রতিটি ব্যবহারকারী আপনার অ্যাপ চালানোর জন্য তাদের প্রয়োজনীয় কোড এবং সংস্থানগুলি ডাউনলোড করে। আপনাকে আর একাধিক APK তৈরি করতে, সাইন করতে এবং পরিচালনা করতে হবে না এবং ব্যবহারকারীরা আরও ছোট, আরও অপ্টিমাইজ করা ডাউনলোড পাবেন।
উপরন্তু, আপনি আপনার অ্যাপ প্রকল্পে বৈশিষ্ট্য মডিউল যোগ করতে পারেন এবং আপনার অ্যাপ বান্ডেলে অন্তর্ভুক্ত করতে পারেন। আপনার ব্যবহারকারীরা চাহিদা অনুযায়ী আপনার অ্যাপের বৈশিষ্ট্যগুলি ডাউনলোড এবং ইনস্টল করতে পারবেন।
একটি বান্ডেল তৈরি করতে, Build > Build Bundle(s) / APK(s) > Build Bundle(s) বেছে নিন।
একটি Android অ্যাপ বান্ডেল তৈরি এবং বিশ্লেষণ করার নির্দেশাবলী সহ আরও তথ্যের জন্য, Android অ্যাপ বান্ডেল দেখুন।
লেআউট এডিটরে নমুনা ডেটা
অনেক অ্যান্ড্রয়েড লেআউটে রানটাইম ডেটা থাকে যা অ্যাপ ডেভেলপমেন্টের ডিজাইন পর্যায়ে একটি লেআউটের চেহারা এবং অনুভূতি কল্পনা করা কঠিন করে তোলে। আপনি এখন নমুনা ডেটা দিয়ে ভরা লেআউট সম্পাদকে আপনার দৃশ্যের একটি পূর্বরূপ দেখতে পারেন। যখন আপনি একটি ভিউ, একটি বোতাম যোগ করুন ডিজাইন উইন্ডোতে ভিউয়ের নিচে প্রদর্শিত হবে। ডিজাইন-টাইম ভিউ অ্যাট্রিবিউট সেট করতে এই বোতামে ক্লিক করুন। আপনি বিভিন্ন নমুনা ডেটা টেমপ্লেট থেকে চয়ন করতে পারেন এবং নমুনা আইটেমের সংখ্যা নির্দিষ্ট করতে পারেন যার সাথে ভিউটি পূরণ করতে হবে।
নমুনা ডেটা ব্যবহার করার চেষ্টা করতে, একটি নতুন লেআউটে একটি RecyclerView
যোগ করুন, ডিজাইন-টাইম বৈশিষ্ট্য বোতামে ক্লিক করুন দৃশ্যের নীচে, এবং নমুনা ডেটা টেমপ্লেটগুলির ক্যারোজেল থেকে একটি নির্বাচন চয়ন করুন৷
স্লাইস
স্লাইসগুলি অ্যান্ড্রয়েডে অন্যান্য ব্যবহারকারী ইন্টারফেস পৃষ্ঠগুলিতে আপনার অ্যাপের কার্যকারিতার অংশগুলি এম্বেড করার একটি নতুন উপায় সরবরাহ করে। উদাহরণস্বরূপ, স্লাইসগুলি Google অনুসন্ধান পরামর্শগুলিতে অ্যাপ কার্যকারিতা এবং সামগ্রী দেখানো সম্ভব করে।
অ্যান্ড্রয়েড স্টুডিও 3.2-এ একটি অন্তর্নির্মিত টেমপ্লেট রয়েছে যা আপনাকে নতুন স্লাইস প্রোভাইডার API-এর সাথে আপনার অ্যাপটি প্রসারিত করতে সাহায্য করে, সেইসাথে নতুন লিন্ট চেকগুলি নিশ্চিত করতে যে আপনি স্লাইসগুলি তৈরি করার সময় সর্বোত্তম অনুশীলনগুলি অনুসরণ করছেন।
শুরু করতে একটি প্রকল্প ফোল্ডারে ডান-ক্লিক করুন এবং নতুন > অন্যান্য > স্লাইস প্রদানকারী নির্বাচন করুন।
আপনার স্লাইস ইন্টারঅ্যাকশনগুলি কীভাবে পরীক্ষা করবেন তা সহ আরও জানতে, স্লাইস শুরু করার নির্দেশিকা পড়ুন।
কোটলিন 1.2.61
অ্যান্ড্রয়েড স্টুডিও 3.2 কোটলিন 1.2.61 বান্ডেল করে এবং নতুন অ্যান্ড্রয়েড SDK কোটলিনের সাথে আরও ভালভাবে সংহত করে। আরও তথ্যের জন্য, অ্যান্ড্রয়েড বিকাশকারী ব্লগ দেখুন।
IntelliJ IDEA 2018.1.6
মূল অ্যান্ড্রয়েড স্টুডিও আইডিই 2018.1.6 রিলিজের মাধ্যমে IntelliJ IDEA থেকে উন্নতির সাথে আপডেট করা হয়েছে।
অ্যান্ড্রয়েড প্রোফাইলার
অ্যান্ড্রয়েড স্টুডিও 3.2-এ নিম্নলিখিত নতুন অ্যান্ড্রয়েড প্রোফাইলার বৈশিষ্ট্যগুলি ব্যবহার করে দেখুন।
সেশন
আপনি এখন প্রোফাইলার ডেটা সেশন হিসাবে সংরক্ষণ করতে পারেন এবং পরে পরিদর্শন করতে পারেন৷ আপনি IDE রিস্টার্ট না করা পর্যন্ত প্রোফাইলার আপনার সেশনের ডেটা রাখে।
আপনি যখন একটি পদ্ধতির ট্রেস রেকর্ড করেন বা একটি হিপ ডাম্প ক্যাপচার করেন , তখন IDE বর্তমান সেশনে একটি পৃথক এন্ট্রি হিসাবে সেই ডেটা (আপনার অ্যাপের নেটওয়ার্ক কার্যকলাপ সহ) যোগ করে এবং ডেটা তুলনা করার জন্য আপনি সহজেই রেকর্ডিংগুলির মধ্যে সুইচ করতে পারেন৷
সিস্টেম ট্রেস
CPU প্রোফাইলারে , আপনার ডিভাইসের সিস্টেম CPU এবং থ্রেড কার্যকলাপ পরিদর্শন করতে নতুন সিস্টেম ট্রেস কনফিগারেশন নির্বাচন করুন। এই ট্রেস কনফিগারেশনটি systrace
উপর নির্মিত এবং এটি ইউআই জ্যাঙ্কের মতো সিস্টেম-স্তরের সমস্যাগুলির তদন্তের জন্য দরকারী।
এই ট্রেস কনফিগারেশনটি ব্যবহার করার সময়, আপনি আপনার C/C++ কোডটি নেটিভ ট্রেসিং API বা Trace
ক্লাসের সাথে আপনার জাভা কোডের সাহায্যে প্রোফাইলার টাইমলাইনে গুরুত্বপূর্ণ কোড রুটিনগুলিকে দৃশ্যত চিহ্নিত করতে পারেন।
মেমরি প্রোফাইলারে JNI রেফারেন্সগুলি পরিদর্শন করুন
আপনি যদি Android 8.0 (API লেভেল 26) বা উচ্চতর চলমান কোনো ডিভাইসে আপনার অ্যাপ স্থাপন করেন, তাহলে আপনি এখন মেমরি প্রোফাইলার ব্যবহার করে আপনার অ্যাপের JNI কোডের জন্য মেমরি বরাদ্দ পরীক্ষা করতে পারেন।
আপনার অ্যাপটি চলাকালীন, টাইমলাইনের একটি অংশ নির্বাচন করুন যা আপনি পরিদর্শন করতে চান এবং নীচে দেখানো শ্রেণী তালিকার উপরে ড্রপ-ডাউন মেনু থেকে JNI হিপ নির্বাচন করুন। তারপরে আপনি সাধারণত আপনার মতো করে হিপে অবজেক্টগুলি পরিদর্শন করতে পারেন এবং আপনার কোডে JNI রেফারেন্সগুলি কোথায় বরাদ্দ এবং প্রকাশ করা হয়েছে তা দেখতে বরাদ্দ কল স্ট্যাক ট্যাবে অবজেক্টগুলিতে ডাবল ক্লিক করুন৷
মেমরি হিপ ডাম্প ফাইল আমদানি, রপ্তানি এবং পরিদর্শন করুন
আপনি এখন মেমরি প্রোফাইলার দিয়ে তৈরি .hprof
মেমরি হিপ ডাম্প ফাইল আমদানি, রপ্তানি এবং পরিদর্শন করতে পারেন।
নতুন প্রোফাইলার সেশন শুরু করুন ক্লিক করে আপনার .hprof
ফাইল আমদানি করুন৷ প্রোফাইলারের সেশন ফলকে এবং তারপর ফাইল থেকে লোড নির্বাচন করুন। তারপরে আপনি মেমরি প্রোফাইলারে এর ডেটা পরিদর্শন করতে পারেন যেমন আপনি অন্য কোনও হিপ ডাম্প করবেন।
পরে পর্যালোচনা করার জন্য হিপ ডাম্প ডেটা সংরক্ষণ করতে, সেশন ফলকে হিপ ডাম্প এন্ট্রির ডানদিকে এক্সপোর্ট হিপ ডাম্প বোতামটি ব্যবহার করুন৷ এক্সপোর্ট অ্যাজ ডায়ালগে প্রদর্শিত .hprof
ফাইলের নাম এক্সটেনশন দিয়ে ফাইলটি সংরক্ষণ করুন৷
অ্যাপ স্টার্টআপের সময় CPU কার্যকলাপ রেকর্ড করুন
আপনি এখন আপনার অ্যাপের স্টার্টআপের সময় CPU কার্যকলাপ রেকর্ড করতে পারেন, নিম্নরূপ:
- প্রধান মেনু থেকে রান > কনফিগারেশন সম্পাদনা নির্বাচন করুন।
- আপনার কাঙ্খিত রান কনফিগারেশনের প্রোফাইলিং ট্যাবের অধীনে, স্টার্টআপে একটি পদ্ধতি ট্রেস রেকর্ড করা শুরু করুন এর পাশের বাক্সটি চেক করুন।
- ড্রপডাউন মেনু থেকে ব্যবহার করার জন্য একটি CPU রেকর্ডিং কনফিগারেশন নির্বাচন করুন।
- রান > প্রোফাইল নির্বাচন করে Android 8.0 (API লেভেল 26) বা উচ্চতর চলমান ডিভাইসে আপনার অ্যাপ স্থাপন করুন।
CPU ট্রেস রপ্তানি করুন
আপনি CPU প্রোফাইলারের সাথে CPU কার্যকলাপ রেকর্ড করার পরে, আপনি অন্যদের সাথে ভাগ করতে বা পরে পরিদর্শন করার জন্য একটি .trace
ফাইল হিসাবে ডেটা রপ্তানি করতে পারেন।
আপনি CPU কার্যকলাপ রেকর্ড করার পরে একটি ট্রেস রপ্তানি করতে, নিম্নলিখিতগুলি করুন:
- সিপিইউ টাইমলাইন থেকে আপনি যে রেকর্ডিংটি রপ্তানি করতে চান তাতে ডান-ক্লিক করুন।
- ড্রপডাউন মেনু থেকে এক্সপোর্ট ট্রেস নির্বাচন করুন।
- আপনি যেখানে ফাইলটি সংরক্ষণ করতে চান সেখানে নেভিগেট করুন এবং সংরক্ষণ করুন ক্লিক করুন।
সিপিইউ ট্রেস ফাইল আমদানি এবং পরিদর্শন করুন
আপনি এখন ডিবাগ API বা CPU প্রোফাইলার দিয়ে তৈরি .trace
ফাইলগুলি আমদানি এবং পরিদর্শন করতে পারেন৷ (বর্তমানে, আপনি সিস্টেম ট্রেস রেকর্ডিং আমদানি করতে পারবেন না।)
নতুন প্রোফাইলার সেশন শুরু করুন ক্লিক করে আপনার ট্রেস ফাইল আমদানি করুন প্রোফাইলারের সেশন ফলকে এবং তারপর ফাইল থেকে লোড নির্বাচন করুন। তারপরে আপনি নিম্নলিখিত ব্যতিক্রমগুলি সহ, আপনি সাধারণত যেভাবে করেন তার অনুরূপ CPU প্রোফাইলারে এর ডেটা পরিদর্শন করতে পারেন:
- CPU কার্যকলাপ CPU টাইমলাইনে উপস্থাপন করা হয় না।
- থ্রেড অ্যাক্টিভিটি টাইমলাইন নির্দেশ করে যেখানে প্রতিটি থ্রেডের জন্য ট্রেস ডেটা পাওয়া যায় এবং প্রকৃত থ্রেডের অবস্থা (যেমন দৌড়ানো, অপেক্ষা করা বা ঘুমানো) নয়।
ডিবাগ API ব্যবহার করে CPU কার্যকলাপ রেকর্ড করুন
আপনি এখন ডিবাগ এপিআই-এর সাথে আপনার অ্যাপটিকে ইনস্ট্রুমেন্ট করে CPU প্রোফাইলারে CPU কার্যকলাপ রেকর্ড করা শুরু এবং বন্ধ করতে পারেন। আপনি একটি ডিভাইসে আপনার অ্যাপ স্থাপন করার পরে, যখন আপনার অ্যাপ startMethodTracing(String tracePath)
কল করে তখন প্রোফাইলার স্বয়ংক্রিয়ভাবে CPU কার্যকলাপ রেকর্ড করা শুরু করে এবং যখন আপনার অ্যাপ stopMethodTracing()
কল করে তখন প্রোফাইলার রেকর্ডিং বন্ধ করে দেয়। এই API ব্যবহার করে ট্রিগার হওয়া CPU কার্যকলাপ রেকর্ড করার সময়, CPU প্রোফাইলার নির্বাচিত CPU রেকর্ডিং কনফিগারেশন হিসাবে ডিবাগ API দেখায়।
এনার্জি প্রোফাইলার
এনার্জি প্রোফাইলার আপনার অ্যাপের আনুমানিক শক্তি ব্যবহারের একটি ভিজ্যুয়ালাইজেশন প্রদর্শন করে, সেইসাথে সিস্টেম ইভেন্টগুলি যা শক্তির ব্যবহারকে প্রভাবিত করে, যেমন ওয়েকলক, অ্যালার্ম এবং চাকরি।
যখন আপনি একটি সংযুক্ত ডিভাইসে বা Android 8.0 (API 26) বা উচ্চতর সংস্করণে চালিত Android Emulator-এ আপনার অ্যাপ চালান তখন প্রোফাইলার উইন্ডোর নীচে একটি নতুন সারি হিসাবে এনার্জি প্রোফাইলার প্রদর্শিত হয়৷
এনার্জি প্রোফাইলার ভিউকে সর্বাধিক করতে এনার্জি সারিতে ক্লিক করুন। CPU, নেটওয়ার্ক এবং লোকেশন (GPS) রিসোর্স, সেইসাথে প্রাসঙ্গিক সিস্টেম ইভেন্টগুলির দ্বারা শক্তির ব্যবহারের ভাঙ্গন দেখতে টাইমলাইনে একটি বারের উপরে আপনার মাউস পয়েন্টার রাখুন।
সিস্টেম ইভেন্টগুলি যেগুলি শক্তির ব্যবহারকে প্রভাবিত করে সেগুলি শক্তি টাইমলাইনের নীচে সিস্টেম টাইমলাইনে নির্দেশিত হয়৷ নির্দিষ্ট সময় সীমার মধ্যে সিস্টেম ইভেন্টের বিশদ বিবরণ ইভেন্ট ফলকে দেখানো হয় যখন আপনি এনার্জি টাইমলাইনে একটি সময় সীমা নির্বাচন করেন।
একটি সিস্টেম ইভেন্টের জন্য কল স্ট্যাক এবং অন্যান্য বিবরণ দেখতে, যেমন একটি wakelock, ইভেন্ট ফলকে এটি নির্বাচন করুন। একটি সিস্টেম ইভেন্টের জন্য দায়ী কোডে যেতে, কল স্ট্যাকের এন্ট্রিতে ডাবল-ক্লিক করুন।
লিন্ট চেকিং
অ্যান্ড্রয়েড স্টুডিও 3.2 লিন্ট চেকিংয়ের জন্য অনেক নতুন এবং উন্নত বৈশিষ্ট্য অন্তর্ভুক্ত করে।
নতুন লিন্ট চেকগুলি আপনাকে সাধারণ কোড সমস্যাগুলি খুঁজে পেতে এবং সনাক্ত করতে সাহায্য করে, সম্ভাব্য ব্যবহারযোগ্যতা সমস্যা সম্পর্কে সতর্কতা থেকে শুরু করে সম্ভাব্য নিরাপত্তা দুর্বলতা সম্পর্কিত উচ্চ-অগ্রাধিকার ত্রুটিগুলি।
লিন্ট জাভা/কোটলিন ইন্টারঅপারেবিলিটি পরীক্ষা করে
আপনার জাভা কোড আপনার Kotlin কোডের সাথে ভালভাবে ইন্টারঅপারেটিং করে তা নিশ্চিত করতে, নতুন লিন্ট চেকগুলি Kotlin Interop গাইডে বর্ণিত সর্বোত্তম অনুশীলনগুলি প্রয়োগ করে৷ এই চেকগুলির উদাহরণগুলির মধ্যে রয়েছে শূন্যতা টীকাগুলির উপস্থিতি সন্ধান করা, কোটলিন হার্ড কীওয়ার্ডগুলির ব্যবহার এবং ল্যাম্বডা প্যারামিটারগুলি শেষ করা।
এই চেকগুলি সক্ষম করতে, সেটিংস ডায়ালগ খুলতে ফাইল > সেটিংস ( অ্যান্ড্রয়েড স্টুডিও > ম্যাকের পছন্দ ) এ ক্লিক করুন, সম্পাদক > পরিদর্শন > অ্যান্ড্রয়েড > লিন্ট > ইন্টারঅপারেবিলিটি > কোটলিন ইন্টারঅপারেবিলিটি বিভাগে নেভিগেট করুন এবং আপনি যে নিয়মগুলি সক্ষম করতে চান তা নির্বাচন করুন৷
কমান্ড-লাইন বিল্ডগুলির জন্য এই চেকগুলি সক্ষম করতে, আপনার build.gradle
ফাইলে নিম্নলিখিতগুলি যুক্ত করুন:
android {
lintOptions {
check 'Interoperability'
}
}
স্লাইস জন্য লিন্ট চেক
স্লাইসের জন্য নতুন লিন্ট চেক আপনি সঠিকভাবে স্লাইস নির্মাণ করছেন তা নিশ্চিত করতে সাহায্য করে। উদাহরণস্বরূপ, লিন্ট চেক আপনাকে সতর্ক করে যদি আপনি একটি স্লাইসে প্রাথমিক অ্যাকশন বরাদ্দ না করেন।
নতুন গ্রেডল লক্ষ্য
সোর্স কোডে সরাসরি লিন্ট চেক দ্বারা প্রস্তাবিত সমস্ত নিরাপদ ফিক্স প্রয়োগ করতে নতুন lintFix
Gradle টাস্কটি ব্যবহার করুন৷ একটি লিন্ট চেকের একটি উদাহরণ যা প্রয়োগ করার জন্য একটি নিরাপদ সমাধানের পরামর্শ দেয় তা হল SyntheticAccessor
।
মেটাডেটা আপডেট
Android 9 (API স্তর 28) এর সাথে কাজ করার জন্য লিন্ট চেকের জন্য বিভিন্ন মেটাডেটা, যেমন পরিষেবা কাস্ট চেক আপডেট করা হয়েছে।
একটি নতুন ভেরিয়েন্টে লিন্ট চালানো হলে সতর্কতা
লিন্ট এখন রেকর্ড করে যে কোন বৈকল্পিক এবং সংস্করণটি একটি বেসলাইনের সাথে রেকর্ড করা হয়েছে এবং লিন্ট আপনাকে সতর্ক করে যদি আপনি এটিকে বেসলাইন তৈরি করা হয়েছে তার থেকে ভিন্ন ভিন্ন সংস্করণে চালান।
বিদ্যমান লিন্ট চেকগুলির উন্নতি
অ্যান্ড্রয়েড স্টুডিও 3.2-এ বিদ্যমান লিন্ট চেকের অনেক উন্নতি রয়েছে। উদাহরণ স্বরূপ, রিসোর্স সাইকেল চেক এখন অতিরিক্ত রিসোর্স প্রকারের জন্য প্রযোজ্য, এবং অনুবাদ ডিটেক্টর এডিটরে অনুপস্থিত অনুবাদ খুঁজে পেতে পারে।
ইস্যু আইডি আরও আবিষ্কারযোগ্য
ইস্যু আইডিগুলি এখন পরিদর্শন ফলাফল উইন্ডো সহ আরও জায়গায় দেখানো হয়েছে। এটি আপনাকে build.gradle
এ lintOptions
মাধ্যমে নির্দিষ্ট চেক সক্রিয় বা নিষ্ক্রিয় করতে প্রয়োজনীয় তথ্য খুঁজে পাওয়া সহজ করে তোলে।
আরও তথ্যের জন্য, Gradle এর সাথে লিন্ট বিকল্পগুলি কনফিগার করুন দেখুন।
ডেটা বাইন্ডিং V2
ডেটা বাইন্ডিং V2 এখন ডিফল্টরূপে সক্ষম এবং V1 এর সাথে সামঞ্জস্যপূর্ণ। এর মানে হল, যদি আপনার লাইব্রেরি নির্ভরতা থাকে যা আপনি V1 এর সাথে কম্পাইল করেছেন, আপনি সেগুলি ডেটা বাইন্ডিং V2 ব্যবহার করে প্রকল্পগুলির সাথে ব্যবহার করতে পারেন। যাইহোক, মনে রাখবেন যে V1 ব্যবহার করা প্রকল্পগুলি V2 এর সাথে কম্পাইল করা নির্ভরতা ব্যবহার করতে পারে না।
ডি 8 ডিসুগারিং
অ্যান্ড্রয়েড স্টুডিও 3.1-এ, আমরা ডিসুগারিং ধাপটিকে একটি পরীক্ষামূলক বৈশিষ্ট্য হিসাবে D8 টুলে একীভূত করেছি, যা সামগ্রিক বিল্ড টাইম কমিয়েছে। অ্যান্ড্রয়েড স্টুডিও 3.2-এ, ডি 8 এর সাথে ডিসুগারিং ডিফল্টরূপে চালু থাকে।
নতুন কোড সঙ্কুচিত
R8 কোড সঙ্কুচিত এবং অস্পষ্ট করার জন্য একটি নতুন টুল যা ProGuard প্রতিস্থাপন করে। আপনি আপনার প্রকল্পের gradle.properties
ফাইলে নিম্নলিখিতগুলি অন্তর্ভুক্ত করে R8 এর পূর্বরূপ সংস্করণ ব্যবহার শুরু করতে পারেন:
android.enableR8 = true
মাল্টি-এপিকেগুলির জন্য ডিফল্ট ABI গুলি পরিবর্তন করা হয়েছে৷
একাধিক APK তৈরি করার সময় যেগুলি প্রতিটি আলাদা ABI কে লক্ষ্য করে, প্লাগইনটি আর ডিফল্টরূপে নিম্নলিখিত ABI-এর জন্য APK তৈরি করে না: mips
, mips64
, এবং armeabi
.
আপনি যদি এই ABI গুলিকে টার্গেট করে এমন APK তৈরি করতে চান, তাহলে আপনাকে অবশ্যই NDK r16b বা তার কম ব্যবহার করতে হবে এবং আপনার build.gradle
ফাইলে ABIs উল্লেখ করতে হবে, যেমনটি নীচে দেখানো হয়েছে:
splits { abi { include 'armeabi', 'mips', 'mips64' ... } }
splits { abi { include("armeabi", "mips", "mips64") ... } }
দ্রষ্টব্য: এই আচরণ পরিবর্তনটি অ্যান্ড্রয়েড স্টুডিও 3.1 RC1 এবং উচ্চতর তেও অন্তর্ভুক্ত করা হয়েছে।
CMake বিল্ড ফাইলের জন্য উন্নত সম্পাদক বৈশিষ্ট্য
আপনি যদি আপনার প্রকল্পে C এবং C++ কোড যোগ করার জন্য CMake ব্যবহার করেন, তাহলে Android স্টুডিওতে এখন আপনার CMake বিল্ড স্ক্রিপ্টগুলি সম্পাদনা করতে আপনাকে সাহায্য করার জন্য উন্নত সম্পাদক বৈশিষ্ট্যগুলি অন্তর্ভুক্ত রয়েছে, যেমন নিম্নলিখিত:
- সিনট্যাক্স হাইলাইটিং এবং কোড সমাপ্তি: IDE এখন হাইলাইট করে এবং সাধারণ CMake কমান্ডের জন্য কোড সমাপ্তির পরামর্শ দেয়। অতিরিক্তভাবে, আপনি কন্ট্রোল কী (কমান্ড অন ম্যাক) টিপে এটিতে ক্লিক করে একটি ফাইলে নেভিগেট করতে পারেন।
- কোড রিফরম্যাটিং: আপনি এখন আপনার CMake বিল্ড স্ক্রিপ্টগুলিতে কোড শৈলী প্রয়োগ করতে IntelliJ এর কোড রিফরম্যাট বিকল্পটি ব্যবহার করতে পারেন।
- নিরাপদ রিফ্যাক্টরিং: IDE-এর অন্তর্নির্মিত রিফ্যাক্টরিং সরঞ্জামগুলি এখন পরীক্ষা করে যে আপনি আপনার CMake বিল্ড স্ক্রিপ্টগুলিতে উল্লেখ করা ফাইলগুলির নাম পরিবর্তন করছেন বা মুছে ফেলছেন কিনা।
বহিরাগত হেডার ফাইল নেভিগেট করুন
অ্যান্ড্রয়েড স্টুডিওর পূর্ববর্তী সংস্করণগুলিতে প্রজেক্ট উইন্ডো ব্যবহার করার সময়, আপনি স্থানীয় প্রকল্প থেকে তৈরি করা লাইব্রেরির অন্তর্গত শুধুমাত্র হেডার ফাইলগুলি নেভিগেট করতে এবং পরিদর্শন করতে পারেন। এই প্রকাশের সাথে, আপনি এখন আপনার অ্যাপ প্রকল্পে আমদানি করা বাহ্যিক C/C++ লাইব্রেরি নির্ভরতার সাথে অন্তর্ভুক্ত শিরোনাম ফাইলগুলি দেখতে এবং পরিদর্শন করতে পারেন।
আপনি যদি ইতিমধ্যেই আপনার প্রকল্পে C/C++ কোড এবং লাইব্রেরি অন্তর্ভুক্ত করে থাকেন , তাহলে প্রধান মেনু থেকে View > Tool Windows > Project নির্বাচন করে IDE-এর বাম দিকে প্রজেক্ট উইন্ডো খুলুন এবং ড্রপ-ডাউন মেনু থেকে Android নির্বাচন করুন। cpp ডিরেক্টরিতে, আপনার অ্যাপ প্রকল্পের সুযোগের মধ্যে থাকা সমস্ত শিরোনামগুলি আপনার প্রতিটি স্থানীয় C/C++ লাইব্রেরি নির্ভরতার জন্য অন্তর্ভুক্ত নোডের অধীনে সংগঠিত হয়, যেমনটি নীচে দেখানো হয়েছে।
নেটিভ মাল্টিডেক্স ডিফল্টরূপে সক্রিয়
অ্যান্ড্রয়েড স্টুডিওর পূর্ববর্তী সংস্করণগুলি Android API স্তর 21 বা উচ্চতর চলমান ডিভাইসে একটি অ্যাপের ডিবাগ সংস্করণ স্থাপন করার সময় নেটিভ মাল্টিডেক্স সক্ষম করে। এখন, আপনি একটি ডিভাইসে স্থাপন করছেন বা মুক্তির জন্য একটি APK তৈরি করছেন, Gradle-এর জন্য Android প্লাগইন minSdkVersion=21
বা উচ্চতর সেট করা সমস্ত মডিউলের জন্য নেটিভ মাল্টিডেক্স সক্ষম করে।
AAPT2 Google এর Maven সংগ্রহস্থলে সরানো হয়েছে
অ্যান্ড্রয়েড স্টুডিও 3.2 থেকে শুরু করে, AAPT2 (Android Asset Packaging Tool 2) এর উৎস হল Google এর Maven সংগ্রহস্থল।
AAPT2 ব্যবহার করতে, নিশ্চিত করুন যে আপনার build.gradle
ফাইলে একটি google()
নির্ভরতা আছে, যেমনটি এখানে দেখানো হয়েছে:
buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() } }
buildscript { repositories { google() // here jcenter() } dependencies { classpath("com.android.tools.build:gradle:3.2.0") } } allprojects { repositories { google() // and here jcenter() } }
AAPT2-এর নতুন সংস্করণ Windows-এ নন-ASCII অক্ষরগুলির উন্নত হ্যান্ডলিং সহ অনেক সমস্যার সমাধান করে।
চাহিদা অনুযায়ী কনফিগারেশন অপসারণ
অ্যান্ড্রয়েড স্টুডিও থেকে কনফিগার অন ডিমান্ড প্রেফারেন্স মুছে ফেলা হয়েছে।
অ্যান্ড্রয়েড স্টুডিও আর গ্রেডলে --configure-on-demand
আর্গুমেন্ট পাস করে না।
এডিবি সংযোগ সহকারী
নতুন ADB সংযোগ সহকারী আপনাকে Android ডিবাগ ব্রিজ (ADB) সংযোগের মাধ্যমে একটি ডিভাইস সেট আপ করতে এবং ব্যবহার করতে সহায়তা করার জন্য ধাপে ধাপে নির্দেশাবলী প্রদান করে৷
সহকারী শুরু করতে, টুলস > সংযোগ সহকারী নির্বাচন করুন।
ADB কানেকশন অ্যাসিস্ট্যান্ট নির্দেশাবলী, ইন-কনটেক্সট কন্ট্রোল এবং অ্যাসিস্ট্যান্ট প্যানেলে একাধিক পৃষ্ঠায় সংযুক্ত ডিভাইসের তালিকা প্রদান করে।
এমুলেটর উন্নতি
আপনি এখন অ্যান্ড্রয়েড এমুলেটরে যেকোনো সময় একটি AVD (Android ভার্চুয়াল ডিভাইস) এর স্ন্যাপশট সংরক্ষণ এবং লোড করতে পারেন, এটি দ্রুত এবং সহজে একটি ইমুলেটেড ডিভাইসকে পরীক্ষার জন্য পরিচিত অবস্থায় ফেরত দিতে পারে৷ আপনি যখন AVD ম্যানেজার ব্যবহার করে একটি AVD সম্পাদনা করেন, তখন AVD শুরু হলে কোন AVD স্ন্যাপশট লোড হবে তা আপনি নির্দিষ্ট করতে পারেন৷
AVD স্ন্যাপশটগুলি সংরক্ষণ, লোড করা এবং পরিচালনার জন্য নিয়ন্ত্রণগুলি এখন এমুলেটরের বর্ধিত নিয়ন্ত্রণ উইন্ডোতে স্ন্যাপশট ট্যাবে রয়েছে৷
বিস্তারিত জানার জন্য, স্ন্যাপশট দেখুন।
এমুলেটরে কি নতুন এবং পরিবর্তিত হয়েছে সে সম্পর্কে অতিরিক্ত তথ্যের জন্য, এমুলেটর রিলিজ নোটগুলি দেখুন।
,অ্যান্ড্রয়েড স্টুডিও 3.2 (সেপ্টেম্বর 2018)
অ্যান্ড্রয়েড স্টুডিও 3.2 একটি বড় রিলিজ যাতে বিভিন্ন ধরনের নতুন বৈশিষ্ট্য এবং উন্নতি রয়েছে।
3.2.1 (অক্টোবর 2018)
অ্যান্ড্রয়েড স্টুডিও 3.2-এর এই আপডেটে নিম্নলিখিত পরিবর্তন এবং সংশোধনগুলি অন্তর্ভুক্ত রয়েছে:
- বান্ডিল কোটলিন সংস্করণ এখন 1.2.71।
- ডিফল্ট বিল্ড টুল সংস্করণ এখন 28.0.3।
- নেভিগেশন লাইব্রেরিতে, আর্গুমেন্টের প্রকারগুলিকে
type
থেকেargType
এ নামকরণ করা হয়েছে। - নিম্নলিখিত বাগ সংশোধন করা হয়েছে:
- ডেটা বাইন্ডিং লাইব্রেরি ব্যবহার করার সময়, আন্ডারস্কোর সহ ভেরিয়েবল নামগুলি সংকলন ত্রুটির কারণ ছিল।
- CMake IntelliSense এবং অন্যান্য CLion বৈশিষ্ট্যগুলিকে ব্যর্থ করে দিয়েছিল।
- একটি
SliceProvider
যোগ করার ফলেandroidx.*
লাইব্রেরি ব্যবহার করা হয়নি এমন প্রজেক্টে সংকলন ত্রুটি ঘটছে। - কিছু কোটলিন ইউনিট পরীক্ষা চালানো হচ্ছে না.
- ডেটা বাইন্ডিংয়ের সাথে একটি সমস্যা একটি
PsiInvalidElementAccessException
সৃষ্টি করেছিল। -
<merge>
উপাদানগুলি মাঝে মাঝে লেআউট এডিটরকে ক্র্যাশ করে দেয়।
3.2.0 পরিচিত সমস্যা
দ্রষ্টব্য: এই সমস্যাগুলি অ্যান্ড্রয়েড স্টুডিও 3.2.1 এ সমাধান করা হয়েছে
আমরা দৃঢ়ভাবে কোটলিন সংস্করণ 1.2.70 ব্যবহার করার বিরুদ্ধে সুপারিশ করি।
Kotlin সংস্করণ 1.2.61 একটি বাগ সংশোধন করে যা Android স্টুডিওকে হ্যাং করতে পারে, কিন্তু Kotlin 1.2.70 এই সমাধানটি অন্তর্ভুক্ত করে না ।
Kotlin সংস্করণ 1.2.71 এবং পরবর্তী, যাইহোক, এই সংশোধন অন্তর্ভুক্ত করে।
যদিও আপনাকে সাধারণত বিল্ড টুল সংস্করণ নির্দিষ্ট করার প্রয়োজন হয় না, Android Gradle প্লাগইন 3.2.0 ব্যবহার করার সময়
renderscriptSupportModeEnabled
এর সাথেtrue
সেট করা হয়, আপনাকে প্রতিটি মডিউলেরbuild.gradle
ফাইলে নিম্নলিখিতগুলি অন্তর্ভুক্ত করতে হবে:android.buildToolsVersion "28.0.3"
নতুন সহকারী কি
একটি নতুন সহকারী আপনাকে Android স্টুডিওতে সাম্প্রতিক পরিবর্তনগুলি সম্পর্কে অবহিত করবে৷
একটি নতুন ইনস্টলেশন বা আপডেটের পরে যখন আপনি Android স্টুডিও শুরু করেন তখন সহকারীটি খোলে যদি এটি সনাক্ত করে যে দেখানোর জন্য নতুন তথ্য রয়েছে। আপনি Android স্টুডিওতে সহায়তা > নতুন কী আছে বেছে নিয়ে সহকারী খুলতে পারেন।
অ্যান্ড্রয়েড জেটপ্যাক
অ্যান্ড্রয়েড জেটপ্যাক উপাদান, সরঞ্জাম এবং নির্দেশিকা সহ Android বিকাশকে ত্বরান্বিত করতে সহায়তা করে যা পুনরাবৃত্তিমূলক কাজগুলি দূর করে এবং আপনাকে আরও দ্রুত এবং সহজে উচ্চ-মানের, পরীক্ষাযোগ্য অ্যাপ তৈরি করতে সক্ষম করে। অ্যান্ড্রয়েড স্টুডিওতে জেটপ্যাক সমর্থন করার জন্য নিম্নলিখিত আপডেটগুলি অন্তর্ভুক্ত রয়েছে। আরও তথ্যের জন্য, জেটপ্যাক ডকুমেন্টেশন দেখুন।
নেভিগেশন এডিটর
নতুন ন্যাভিগেশন এডিটর আপনার অ্যাপের নেভিগেশন কাঠামো তৈরি করার জন্য একটি গ্রাফিকাল ভিউ প্রদান করতে Android Jetpack-এর নেভিগেশন উপাদানগুলির সাথে একীভূত হয়। নেভিগেশন এডিটর অ্যাপ-মধ্যস্থ গন্তব্যগুলির মধ্যে নেভিগেশনের নকশা এবং বাস্তবায়নকে সহজ করে।
অ্যান্ড্রয়েড স্টুডিও 3.2-এ, নেভিগেশন এডিটর একটি পরীক্ষামূলক বৈশিষ্ট্য। ন্যাভিগেশন এডিটর সক্ষম করতে, ফাইল > সেটিংস ( অ্যান্ড্রয়েড স্টুডিও > ম্যাকের পছন্দগুলি ) ক্লিক করুন, বাম ফলকে পরীক্ষামূলক বিভাগ নির্বাচন করুন, নেভিগেশন সম্পাদক সক্ষম করুন এর পাশের বাক্সটি চেক করুন এবং অ্যান্ড্রয়েড স্টুডিও পুনরায় চালু করুন।
আরও জানতে, নেভিগেশন এডিটর ডকুমেন্টেশন পড়ুন।
AndroidX মাইগ্রেশন
জেটপ্যাকের অংশ হিসেবে, আমরা অ্যান্ড্রয়েড সাপোর্ট লাইব্রেরিগুলিকে androidx
নেমস্পেস ব্যবহার করে একটি নতুন অ্যান্ড্রয়েড এক্সটেনশন লাইব্রেরিতে স্থানান্তরিত করছি। আরও তথ্যের জন্য, AndroidX ওভারভিউ দেখুন।
অ্যান্ড্রয়েড স্টুডিও 3.2 আপনাকে একটি নতুন মাইগ্রেশন বৈশিষ্ট্য সহ এই প্রক্রিয়াটির মাধ্যমে সাহায্য করে।
একটি বিদ্যমান প্রজেক্টকে AndroidX-এ স্থানান্তর করতে, Refactor > AndroidX-এ মাইগ্রেট করুন বেছে নিন। আপনার যদি এমন কোনো Maven নির্ভরতা থাকে যেগুলি AndroidX নামস্থানে স্থানান্তরিত না হয়, তাহলে Android Studio বিল্ড সিস্টেম স্বয়ংক্রিয়ভাবে সেই প্রকল্প নির্ভরতাগুলিকে রূপান্তর করে।
অ্যান্ড্রয়েড গ্রেডল প্লাগইন নিম্নলিখিত গ্লোবাল পতাকা প্রদান করে যা আপনি আপনার gradle.properties
ফাইলে সেট করতে পারেন:
-
android.useAndroidX
:true
সেট করা হলে, এই পতাকাটি নির্দেশ করে যে আপনি এখন থেকে AndroidX ব্যবহার শুরু করতে চান৷ পতাকাটি অনুপস্থিত থাকলে, Android স্টুডিও এমন আচরণ করে যেন পতাকাটিfalse
সেট করা হয়েছে। -
android.enableJetifier
:true
সেট করা হলে, এই পতাকাটি নির্দেশ করে যে আপনি বিদ্যমান তৃতীয় পক্ষের লাইব্রেরিগুলিকে স্বয়ংক্রিয়ভাবে রূপান্তর করতে টুল সমর্থন (Android Gradle প্লাগইন থেকে) পেতে চান যেন সেগুলি AndroidX-এর জন্য লেখা হয়েছে৷ পতাকাটি অনুপস্থিত থাকলে, Android স্টুডিও এমন আচরণ করে যেন পতাকাটিfalse
সেট করা হয়েছে।
আপনি যখন AndroidX-এ মাইগ্রেট কমান্ড ব্যবহার করেন তখন উভয় পতাকা true
হিসাবে সেট করা হয়।
আপনি যদি অবিলম্বে AndroidX লাইব্রেরি ব্যবহার শুরু করতে চান এবং বিদ্যমান তৃতীয় পক্ষের লাইব্রেরিগুলিকে রূপান্তর করতে না চান, তাহলে আপনি android.useAndroidX
পতাকাটিকে true
এবং android.enableJetifier
পতাকাটিকে false
সেট করতে পারেন৷
অ্যান্ড্রয়েড অ্যাপ বান্ডেল
অ্যান্ড্রয়েড অ্যাপ বান্ডেল হল একটি নতুন আপলোড ফর্ম্যাট যাতে আপনার অ্যাপের সংকলিত কোড এবং সংস্থানগুলি অন্তর্ভুক্ত থাকে, তবে APK তৈরি করা এবং Google Play স্টোরে সাইন করাকে পিছিয়ে দেয়৷
Google Play-এর নতুন অ্যাপ সার্ভিং মডেল তারপরে প্রতিটি ব্যবহারকারীর ডিভাইস কনফিগারেশনের জন্য অপ্টিমাইজ করা APK তৈরি এবং পরিবেশন করতে আপনার অ্যাপ বান্ডেল ব্যবহার করে, তাই প্রতিটি ব্যবহারকারী আপনার অ্যাপ চালানোর জন্য তাদের প্রয়োজনীয় কোড এবং সংস্থানগুলি ডাউনলোড করে। আপনাকে আর একাধিক APK তৈরি করতে, সাইন করতে এবং পরিচালনা করতে হবে না এবং ব্যবহারকারীরা আরও ছোট, আরও অপ্টিমাইজ করা ডাউনলোড পাবেন।
উপরন্তু, আপনি আপনার অ্যাপ প্রকল্পে বৈশিষ্ট্য মডিউল যোগ করতে পারেন এবং আপনার অ্যাপ বান্ডেলে অন্তর্ভুক্ত করতে পারেন। আপনার ব্যবহারকারীরা চাহিদা অনুযায়ী আপনার অ্যাপের বৈশিষ্ট্যগুলি ডাউনলোড এবং ইনস্টল করতে পারবেন।
একটি বান্ডেল তৈরি করতে, Build > Build Bundle(s) / APK(s) > Build Bundle(s) বেছে নিন।
একটি Android অ্যাপ বান্ডেল তৈরি এবং বিশ্লেষণ করার নির্দেশাবলী সহ আরও তথ্যের জন্য, Android অ্যাপ বান্ডেল দেখুন।
লেআউট এডিটরে নমুনা ডেটা
অনেক অ্যান্ড্রয়েড লেআউটে রানটাইম ডেটা থাকে যা অ্যাপ ডেভেলপমেন্টের ডিজাইন পর্যায়ে একটি লেআউটের চেহারা এবং অনুভূতি কল্পনা করা কঠিন করে তোলে। আপনি এখন নমুনা ডেটা দিয়ে ভরা লেআউট সম্পাদকে আপনার দৃশ্যের একটি পূর্বরূপ দেখতে পারেন। যখন আপনি একটি ভিউ, একটি বোতাম যোগ করুন ডিজাইন উইন্ডোতে ভিউয়ের নিচে প্রদর্শিত হবে। ডিজাইন-টাইম ভিউ অ্যাট্রিবিউট সেট করতে এই বোতামে ক্লিক করুন। আপনি বিভিন্ন নমুনা ডেটা টেমপ্লেট থেকে চয়ন করতে পারেন এবং নমুনা আইটেমের সংখ্যা নির্দিষ্ট করতে পারেন যার সাথে ভিউটি পূরণ করতে হবে।
নমুনা ডেটা ব্যবহার করার চেষ্টা করতে, একটি নতুন লেআউটে একটি RecyclerView
যোগ করুন, ডিজাইন-টাইম বৈশিষ্ট্য বোতামে ক্লিক করুন দৃশ্যের নীচে, এবং নমুনা ডেটা টেমপ্লেটগুলির ক্যারোজেল থেকে একটি নির্বাচন চয়ন করুন৷
স্লাইস
স্লাইসগুলি অ্যান্ড্রয়েডে অন্যান্য ব্যবহারকারী ইন্টারফেস পৃষ্ঠগুলিতে আপনার অ্যাপের কার্যকারিতার অংশগুলি এম্বেড করার একটি নতুন উপায় সরবরাহ করে। উদাহরণস্বরূপ, স্লাইসগুলি Google অনুসন্ধান পরামর্শগুলিতে অ্যাপ কার্যকারিতা এবং সামগ্রী দেখানো সম্ভব করে।
অ্যান্ড্রয়েড স্টুডিও 3.2-এ একটি অন্তর্নির্মিত টেমপ্লেট রয়েছে যা আপনাকে নতুন স্লাইস প্রোভাইডার API-এর সাথে আপনার অ্যাপটি প্রসারিত করতে সাহায্য করে, সেইসাথে নতুন লিন্ট চেকগুলি নিশ্চিত করতে যে আপনি স্লাইসগুলি তৈরি করার সময় সর্বোত্তম অনুশীলনগুলি অনুসরণ করছেন।
শুরু করতে একটি প্রকল্প ফোল্ডারে ডান-ক্লিক করুন এবং নতুন > অন্যান্য > স্লাইস প্রদানকারী নির্বাচন করুন।
আপনার স্লাইস ইন্টারঅ্যাকশনগুলি কীভাবে পরীক্ষা করবেন তা সহ আরও জানতে, স্লাইস শুরু করার নির্দেশিকা পড়ুন।
কোটলিন 1.2.61
অ্যান্ড্রয়েড স্টুডিও 3.2 কোটলিন 1.2.61 বান্ডেল করে এবং নতুন অ্যান্ড্রয়েড SDK কোটলিনের সাথে আরও ভালভাবে সংহত করে। আরও তথ্যের জন্য, অ্যান্ড্রয়েড বিকাশকারী ব্লগ দেখুন।
IntelliJ IDEA 2018.1.6
মূল অ্যান্ড্রয়েড স্টুডিও আইডিই 2018.1.6 রিলিজের মাধ্যমে IntelliJ IDEA থেকে উন্নতির সাথে আপডেট করা হয়েছে।
অ্যান্ড্রয়েড প্রোফাইলার
অ্যান্ড্রয়েড স্টুডিও 3.2-এ নিম্নলিখিত নতুন অ্যান্ড্রয়েড প্রোফাইলার বৈশিষ্ট্যগুলি ব্যবহার করে দেখুন।
সেশন
আপনি এখন প্রোফাইলার ডেটা সেশন হিসাবে সংরক্ষণ করতে পারেন এবং পরে পরিদর্শন করতে পারেন৷ আপনি IDE রিস্টার্ট না করা পর্যন্ত প্রোফাইলার আপনার সেশনের ডেটা রাখে।
আপনি যখন একটি পদ্ধতির ট্রেস রেকর্ড করেন বা একটি হিপ ডাম্প ক্যাপচার করেন , তখন IDE বর্তমান সেশনে একটি পৃথক এন্ট্রি হিসাবে সেই ডেটা (আপনার অ্যাপের নেটওয়ার্ক কার্যকলাপ সহ) যোগ করে এবং ডেটা তুলনা করার জন্য আপনি সহজেই রেকর্ডিংগুলির মধ্যে সুইচ করতে পারেন৷
সিস্টেম ট্রেস
CPU প্রোফাইলারে , আপনার ডিভাইসের সিস্টেম CPU এবং থ্রেড কার্যকলাপ পরিদর্শন করতে নতুন সিস্টেম ট্রেস কনফিগারেশন নির্বাচন করুন। এই ট্রেস কনফিগারেশনটি systrace
উপর নির্মিত এবং এটি ইউআই জ্যাঙ্কের মতো সিস্টেম-স্তরের সমস্যাগুলির তদন্তের জন্য দরকারী।
এই ট্রেস কনফিগারেশনটি ব্যবহার করার সময়, আপনি আপনার C/C++ কোডটি নেটিভ ট্রেসিং API বা Trace
ক্লাসের সাথে আপনার জাভা কোডের সাহায্যে প্রোফাইলার টাইমলাইনে গুরুত্বপূর্ণ কোড রুটিনগুলিকে দৃশ্যত চিহ্নিত করতে পারেন।
মেমরি প্রোফাইলারে JNI রেফারেন্সগুলি পরিদর্শন করুন
আপনি যদি Android 8.0 (API লেভেল 26) বা উচ্চতর চলমান কোনো ডিভাইসে আপনার অ্যাপ স্থাপন করেন, তাহলে আপনি এখন মেমরি প্রোফাইলার ব্যবহার করে আপনার অ্যাপের JNI কোডের জন্য মেমরি বরাদ্দ পরীক্ষা করতে পারেন।
আপনার অ্যাপটি চলাকালীন, টাইমলাইনের একটি অংশ নির্বাচন করুন যা আপনি পরিদর্শন করতে চান এবং নীচে দেখানো শ্রেণী তালিকার উপরে ড্রপ-ডাউন মেনু থেকে JNI হিপ নির্বাচন করুন। তারপরে আপনি সাধারণত আপনার মতো করে হিপে অবজেক্টগুলি পরিদর্শন করতে পারেন এবং আপনার কোডে JNI রেফারেন্সগুলি কোথায় বরাদ্দ এবং প্রকাশ করা হয়েছে তা দেখতে বরাদ্দ কল স্ট্যাক ট্যাবে অবজেক্টগুলিতে ডাবল ক্লিক করুন৷
মেমরি হিপ ডাম্প ফাইল আমদানি, রপ্তানি এবং পরিদর্শন করুন
আপনি এখন মেমরি প্রোফাইলার দিয়ে তৈরি .hprof
মেমরি হিপ ডাম্প ফাইল আমদানি, রপ্তানি এবং পরিদর্শন করতে পারেন।
নতুন প্রোফাইলার সেশন শুরু করুন ক্লিক করে আপনার .hprof
ফাইল আমদানি করুন৷ প্রোফাইলারের সেশন ফলকে এবং তারপর ফাইল থেকে লোড নির্বাচন করুন। তারপরে আপনি মেমরি প্রোফাইলারে এর ডেটা পরিদর্শন করতে পারেন যেমন আপনি অন্য কোনও হিপ ডাম্প করবেন।
পরে পর্যালোচনা করার জন্য হিপ ডাম্প ডেটা সংরক্ষণ করতে, সেশন ফলকে হিপ ডাম্প এন্ট্রির ডানদিকে এক্সপোর্ট হিপ ডাম্প বোতামটি ব্যবহার করুন৷ এক্সপোর্ট অ্যাজ ডায়ালগে প্রদর্শিত .hprof
ফাইলের নাম এক্সটেনশন দিয়ে ফাইলটি সংরক্ষণ করুন৷
অ্যাপ স্টার্টআপের সময় CPU কার্যকলাপ রেকর্ড করুন
আপনি এখন আপনার অ্যাপের স্টার্টআপের সময় CPU কার্যকলাপ রেকর্ড করতে পারেন, নিম্নরূপ:
- প্রধান মেনু থেকে রান > কনফিগারেশন সম্পাদনা নির্বাচন করুন।
- আপনার কাঙ্খিত রান কনফিগারেশনের প্রোফাইলিং ট্যাবের অধীনে, স্টার্টআপে একটি পদ্ধতি ট্রেস রেকর্ড করা শুরু করুন এর পাশের বাক্সটি চেক করুন।
- ড্রপডাউন মেনু থেকে ব্যবহার করার জন্য একটি CPU রেকর্ডিং কনফিগারেশন নির্বাচন করুন।
- রান > প্রোফাইল নির্বাচন করে Android 8.0 (API লেভেল 26) বা উচ্চতর চলমান ডিভাইসে আপনার অ্যাপ স্থাপন করুন।
CPU ট্রেস রপ্তানি করুন
আপনি CPU প্রোফাইলারের সাথে CPU কার্যকলাপ রেকর্ড করার পরে, আপনি অন্যদের সাথে ভাগ করতে বা পরে পরিদর্শন করার জন্য একটি .trace
ফাইল হিসাবে ডেটা রপ্তানি করতে পারেন।
আপনি CPU কার্যকলাপ রেকর্ড করার পরে একটি ট্রেস রপ্তানি করতে, নিম্নলিখিতগুলি করুন:
- সিপিইউ টাইমলাইন থেকে আপনি যে রেকর্ডিংটি রপ্তানি করতে চান তাতে ডান-ক্লিক করুন।
- ড্রপডাউন মেনু থেকে এক্সপোর্ট ট্রেস নির্বাচন করুন।
- আপনি যেখানে ফাইলটি সংরক্ষণ করতে চান সেখানে নেভিগেট করুন এবং সংরক্ষণ করুন ক্লিক করুন।
সিপিইউ ট্রেস ফাইল আমদানি এবং পরিদর্শন করুন
আপনি এখন ডিবাগ API বা CPU প্রোফাইলার দিয়ে তৈরি .trace
ফাইলগুলি আমদানি এবং পরিদর্শন করতে পারেন৷ (বর্তমানে, আপনি সিস্টেম ট্রেস রেকর্ডিং আমদানি করতে পারবেন না।)
নতুন প্রোফাইলার সেশন শুরু করুন ক্লিক করে আপনার ট্রেস ফাইল আমদানি করুন প্রোফাইলারের সেশন ফলকে এবং তারপর ফাইল থেকে লোড নির্বাচন করুন। তারপরে আপনি নিম্নলিখিত ব্যতিক্রমগুলি সহ, আপনি সাধারণত যেভাবে করেন তার অনুরূপ CPU প্রোফাইলারে এর ডেটা পরিদর্শন করতে পারেন:
- CPU কার্যকলাপ CPU টাইমলাইনে উপস্থাপন করা হয় না।
- থ্রেড অ্যাক্টিভিটি টাইমলাইন নির্দেশ করে যেখানে প্রতিটি থ্রেডের জন্য ট্রেস ডেটা পাওয়া যায় এবং প্রকৃত থ্রেডের অবস্থা (যেমন দৌড়ানো, অপেক্ষা করা বা ঘুমানো) নয়।
ডিবাগ API ব্যবহার করে CPU কার্যকলাপ রেকর্ড করুন
আপনি এখন ডিবাগ এপিআই-এর সাথে আপনার অ্যাপটিকে ইনস্ট্রুমেন্ট করে CPU প্রোফাইলারে CPU কার্যকলাপ রেকর্ড করা শুরু এবং বন্ধ করতে পারেন। আপনি একটি ডিভাইসে আপনার অ্যাপ স্থাপন করার পরে, যখন আপনার অ্যাপ startMethodTracing(String tracePath)
কল করে তখন প্রোফাইলার স্বয়ংক্রিয়ভাবে CPU কার্যকলাপ রেকর্ড করা শুরু করে এবং যখন আপনার অ্যাপ stopMethodTracing()
কল করে তখন প্রোফাইলার রেকর্ডিং বন্ধ করে দেয়। এই API ব্যবহার করে ট্রিগার হওয়া CPU কার্যকলাপ রেকর্ড করার সময়, CPU প্রোফাইলার নির্বাচিত CPU রেকর্ডিং কনফিগারেশন হিসাবে ডিবাগ API দেখায়।
এনার্জি প্রোফাইলার
এনার্জি প্রোফাইলার আপনার অ্যাপের আনুমানিক শক্তি ব্যবহারের একটি ভিজ্যুয়ালাইজেশন প্রদর্শন করে, সেইসাথে সিস্টেম ইভেন্টগুলি যা শক্তির ব্যবহারকে প্রভাবিত করে, যেমন ওয়েকলক, অ্যালার্ম এবং চাকরি।
যখন আপনি একটি সংযুক্ত ডিভাইসে বা Android 8.0 (API 26) বা উচ্চতর সংস্করণে চালিত Android Emulator-এ আপনার অ্যাপ চালান তখন প্রোফাইলার উইন্ডোর নীচে একটি নতুন সারি হিসাবে এনার্জি প্রোফাইলার প্রদর্শিত হয়৷
এনার্জি প্রোফাইলার ভিউকে সর্বাধিক করতে এনার্জি সারিতে ক্লিক করুন। CPU, নেটওয়ার্ক এবং লোকেশন (GPS) রিসোর্স, সেইসাথে প্রাসঙ্গিক সিস্টেম ইভেন্টগুলির দ্বারা শক্তির ব্যবহারের ভাঙ্গন দেখতে টাইমলাইনে একটি বারের উপরে আপনার মাউস পয়েন্টার রাখুন।
সিস্টেম ইভেন্টগুলি যেগুলি শক্তির ব্যবহারকে প্রভাবিত করে সেগুলি শক্তি টাইমলাইনের নীচে সিস্টেম টাইমলাইনে নির্দেশিত হয়৷ নির্দিষ্ট সময় সীমার মধ্যে সিস্টেম ইভেন্টের বিশদ বিবরণ ইভেন্ট ফলকে দেখানো হয় যখন আপনি এনার্জি টাইমলাইনে একটি সময় সীমা নির্বাচন করেন।
একটি সিস্টেম ইভেন্টের জন্য কল স্ট্যাক এবং অন্যান্য বিবরণ দেখতে, যেমন একটি wakelock, ইভেন্ট ফলকে এটি নির্বাচন করুন। একটি সিস্টেম ইভেন্টের জন্য দায়ী কোডে যেতে, কল স্ট্যাকের এন্ট্রিতে ডাবল-ক্লিক করুন।
লিন্ট চেকিং
অ্যান্ড্রয়েড স্টুডিও 3.2 লিন্ট চেকিংয়ের জন্য অনেক নতুন এবং উন্নত বৈশিষ্ট্য অন্তর্ভুক্ত করে।
নতুন লিন্ট চেকগুলি আপনাকে সাধারণ কোড সমস্যাগুলি খুঁজে পেতে এবং সনাক্ত করতে সাহায্য করে, সম্ভাব্য ব্যবহারযোগ্যতা সমস্যা সম্পর্কে সতর্কতা থেকে শুরু করে সম্ভাব্য নিরাপত্তা দুর্বলতা সম্পর্কিত উচ্চ-অগ্রাধিকার ত্রুটিগুলি।
লিন্ট জাভা/কোটলিন ইন্টারঅপারেবিলিটি পরীক্ষা করে
আপনার জাভা কোড আপনার Kotlin কোডের সাথে ভালভাবে ইন্টারঅপারেটিং করে তা নিশ্চিত করতে, নতুন লিন্ট চেকগুলি Kotlin Interop গাইডে বর্ণিত সর্বোত্তম অনুশীলনগুলি প্রয়োগ করে৷ এই চেকগুলির উদাহরণগুলির মধ্যে রয়েছে শূন্যতা টীকাগুলির উপস্থিতি সন্ধান করা, কোটলিন হার্ড কীওয়ার্ডগুলির ব্যবহার এবং ল্যাম্বডা প্যারামিটারগুলি শেষ করা।
এই চেকগুলি সক্ষম করতে, সেটিংস ডায়ালগ খুলতে ফাইল > সেটিংস ( অ্যান্ড্রয়েড স্টুডিও > ম্যাকের পছন্দ ) এ ক্লিক করুন, সম্পাদক > পরিদর্শন > অ্যান্ড্রয়েড > লিন্ট > ইন্টারঅপারেবিলিটি > কোটলিন ইন্টারঅপারেবিলিটি বিভাগে নেভিগেট করুন এবং আপনি যে নিয়মগুলি সক্ষম করতে চান তা নির্বাচন করুন৷
কমান্ড-লাইন বিল্ডগুলির জন্য এই চেকগুলি সক্ষম করতে, আপনার build.gradle
ফাইলে নিম্নলিখিতগুলি যুক্ত করুন:
android {
lintOptions {
check 'Interoperability'
}
}
স্লাইস জন্য লিন্ট চেক
স্লাইসের জন্য নতুন লিন্ট চেক আপনি সঠিকভাবে স্লাইস নির্মাণ করছেন তা নিশ্চিত করতে সাহায্য করে। উদাহরণস্বরূপ, লিন্ট চেক আপনাকে সতর্ক করে যদি আপনি একটি স্লাইসে প্রাথমিক অ্যাকশন বরাদ্দ না করেন।
নতুন গ্রেডল লক্ষ্য
সোর্স কোডে সরাসরি লিন্ট চেক দ্বারা প্রস্তাবিত সমস্ত নিরাপদ ফিক্স প্রয়োগ করতে নতুন lintFix
Gradle টাস্কটি ব্যবহার করুন৷ একটি লিন্ট চেকের একটি উদাহরণ যা প্রয়োগ করার জন্য একটি নিরাপদ সমাধানের পরামর্শ দেয় তা হল SyntheticAccessor
।
মেটাডেটা আপডেট
Android 9 (API স্তর 28) এর সাথে কাজ করার জন্য লিন্ট চেকের জন্য বিভিন্ন মেটাডেটা, যেমন পরিষেবা কাস্ট চেক আপডেট করা হয়েছে।
একটি নতুন ভেরিয়েন্টে লিন্ট চালানো হলে সতর্কতা
লিন্ট এখন রেকর্ড করে যে কোন বৈকল্পিক এবং সংস্করণটি একটি বেসলাইনের সাথে রেকর্ড করা হয়েছে এবং লিন্ট আপনাকে সতর্ক করে যদি আপনি এটিকে বেসলাইন তৈরি করা হয়েছে তার থেকে ভিন্ন ভিন্ন সংস্করণে চালান।
বিদ্যমান লিন্ট চেকগুলির উন্নতি
অ্যান্ড্রয়েড স্টুডিও 3.2-এ বিদ্যমান লিন্ট চেকের অনেক উন্নতি রয়েছে। উদাহরণ স্বরূপ, রিসোর্স সাইকেল চেক এখন অতিরিক্ত রিসোর্স প্রকারের জন্য প্রযোজ্য, এবং অনুবাদ ডিটেক্টর এডিটরে অনুপস্থিত অনুবাদ খুঁজে পেতে পারে।
ইস্যু আইডি আরও আবিষ্কারযোগ্য
ইস্যু আইডিগুলি এখন পরিদর্শন ফলাফল উইন্ডো সহ আরও জায়গায় দেখানো হয়েছে। এটি আপনাকে build.gradle
এ lintOptions
মাধ্যমে নির্দিষ্ট চেক সক্রিয় বা নিষ্ক্রিয় করতে প্রয়োজনীয় তথ্য খুঁজে পাওয়া সহজ করে তোলে।
আরও তথ্যের জন্য, Gradle এর সাথে লিন্ট বিকল্পগুলি কনফিগার করুন দেখুন।
ডেটা বাইন্ডিং V2
ডেটা বাইন্ডিং V2 এখন ডিফল্টরূপে সক্ষম এবং V1 এর সাথে সামঞ্জস্যপূর্ণ। এর মানে হল, যদি আপনার লাইব্রেরি নির্ভরতা থাকে যা আপনি V1 এর সাথে কম্পাইল করেছেন, আপনি সেগুলি ডেটা বাইন্ডিং V2 ব্যবহার করে প্রকল্পগুলির সাথে ব্যবহার করতে পারেন। যাইহোক, মনে রাখবেন যে V1 ব্যবহার করা প্রকল্পগুলি V2 এর সাথে কম্পাইল করা নির্ভরতা ব্যবহার করতে পারে না।
ডি 8 ডিসুগারিং
অ্যান্ড্রয়েড স্টুডিও 3.1-এ, আমরা ডিসুগারিং ধাপটিকে একটি পরীক্ষামূলক বৈশিষ্ট্য হিসাবে D8 টুলে একীভূত করেছি, যা সামগ্রিক বিল্ড টাইম কমিয়েছে। অ্যান্ড্রয়েড স্টুডিও 3.2-এ, ডি 8 এর সাথে ডিসুগারিং ডিফল্টরূপে চালু থাকে।
নতুন কোড সঙ্কুচিত
R8 কোড সঙ্কুচিত এবং অস্পষ্ট করার জন্য একটি নতুন টুল যা ProGuard প্রতিস্থাপন করে। আপনি আপনার প্রকল্পের gradle.properties
ফাইলে নিম্নলিখিতগুলি অন্তর্ভুক্ত করে R8 এর পূর্বরূপ সংস্করণ ব্যবহার শুরু করতে পারেন:
android.enableR8 = true
মাল্টি-এপিকেগুলির জন্য ডিফল্ট ABI গুলি পরিবর্তন করা হয়েছে৷
একাধিক APK তৈরি করার সময় যেগুলি প্রতিটি আলাদা ABI কে লক্ষ্য করে, প্লাগইনটি আর ডিফল্টরূপে নিম্নলিখিত ABI-এর জন্য APK তৈরি করে না: mips
, mips64
, এবং armeabi
.
আপনি যদি এই ABI গুলিকে টার্গেট করে এমন APK তৈরি করতে চান, তাহলে আপনাকে অবশ্যই NDK r16b বা তার কম ব্যবহার করতে হবে এবং আপনার build.gradle
ফাইলে ABIs উল্লেখ করতে হবে, যেমনটি নীচে দেখানো হয়েছে:
splits { abi { include 'armeabi', 'mips', 'mips64' ... } }
splits { abi { include("armeabi", "mips", "mips64") ... } }
দ্রষ্টব্য: এই আচরণ পরিবর্তনটি অ্যান্ড্রয়েড স্টুডিও 3.1 RC1 এবং উচ্চতর তেও অন্তর্ভুক্ত করা হয়েছে।
CMake বিল্ড ফাইলের জন্য উন্নত সম্পাদক বৈশিষ্ট্য
আপনি যদি আপনার প্রকল্পে C এবং C++ কোড যোগ করার জন্য CMake ব্যবহার করেন, তাহলে Android স্টুডিওতে এখন আপনার CMake বিল্ড স্ক্রিপ্টগুলি সম্পাদনা করতে আপনাকে সাহায্য করার জন্য উন্নত সম্পাদক বৈশিষ্ট্যগুলি অন্তর্ভুক্ত রয়েছে, যেমন নিম্নলিখিত:
- সিনট্যাক্স হাইলাইটিং এবং কোড সমাপ্তি: IDE এখন হাইলাইট করে এবং সাধারণ CMake কমান্ডের জন্য কোড সমাপ্তির পরামর্শ দেয়। অতিরিক্তভাবে, আপনি কন্ট্রোল কী (কমান্ড অন ম্যাক) টিপে এটিতে ক্লিক করে একটি ফাইলে নেভিগেট করতে পারেন।
- কোড রিফরম্যাটিং: আপনি এখন আপনার CMake বিল্ড স্ক্রিপ্টগুলিতে কোড শৈলী প্রয়োগ করতে IntelliJ এর কোড রিফরম্যাট বিকল্পটি ব্যবহার করতে পারেন।
- নিরাপদ রিফ্যাক্টরিং: IDE-এর অন্তর্নির্মিত রিফ্যাক্টরিং সরঞ্জামগুলি এখন পরীক্ষা করে যে আপনি আপনার CMake বিল্ড স্ক্রিপ্টগুলিতে উল্লেখ করা ফাইলগুলির নাম পরিবর্তন করছেন বা মুছে ফেলছেন কিনা।
বহিরাগত হেডার ফাইল নেভিগেট করুন
অ্যান্ড্রয়েড স্টুডিওর পূর্ববর্তী সংস্করণগুলিতে প্রজেক্ট উইন্ডো ব্যবহার করার সময়, আপনি স্থানীয় প্রকল্প থেকে তৈরি করা লাইব্রেরির অন্তর্গত শুধুমাত্র হেডার ফাইলগুলি নেভিগেট করতে এবং পরিদর্শন করতে পারেন। এই প্রকাশের সাথে, আপনি এখন আপনার অ্যাপ প্রকল্পে আমদানি করা বাহ্যিক C/C++ লাইব্রেরি নির্ভরতার সাথে অন্তর্ভুক্ত শিরোনাম ফাইলগুলি দেখতে এবং পরিদর্শন করতে পারেন।
আপনি যদি ইতিমধ্যেই আপনার প্রকল্পে C/C++ কোড এবং লাইব্রেরি অন্তর্ভুক্ত করে থাকেন , তাহলে প্রধান মেনু থেকে View > Tool Windows > Project নির্বাচন করে IDE-এর বাম দিকে প্রজেক্ট উইন্ডো খুলুন এবং ড্রপ-ডাউন মেনু থেকে Android নির্বাচন করুন। cpp ডিরেক্টরিতে, আপনার অ্যাপ প্রকল্পের সুযোগের মধ্যে থাকা সমস্ত শিরোনামগুলি আপনার প্রতিটি স্থানীয় C/C++ লাইব্রেরি নির্ভরতার জন্য অন্তর্ভুক্ত নোডের অধীনে সংগঠিত হয়, যেমনটি নীচে দেখানো হয়েছে।
নেটিভ মাল্টিডেক্স ডিফল্টরূপে সক্রিয়
অ্যান্ড্রয়েড স্টুডিওর পূর্ববর্তী সংস্করণগুলি Android API স্তর 21 বা উচ্চতর চলমান ডিভাইসে একটি অ্যাপের ডিবাগ সংস্করণ স্থাপন করার সময় নেটিভ মাল্টিডেক্স সক্ষম করে। এখন, আপনি একটি ডিভাইসে স্থাপন করছেন বা মুক্তির জন্য একটি APK তৈরি করছেন, Gradle-এর জন্য Android প্লাগইন minSdkVersion=21
বা উচ্চতর সেট করা সমস্ত মডিউলের জন্য নেটিভ মাল্টিডেক্স সক্ষম করে।
AAPT2 Google এর Maven সংগ্রহস্থলে সরানো হয়েছে
অ্যান্ড্রয়েড স্টুডিও 3.2 থেকে শুরু করে, AAPT2 (Android Asset Packaging Tool 2) এর উৎস হল Google এর Maven সংগ্রহস্থল।
AAPT2 ব্যবহার করতে, নিশ্চিত করুন যে আপনার build.gradle
ফাইলে একটি google()
নির্ভরতা আছে, যেমনটি এখানে দেখানো হয়েছে:
buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() } }
buildscript { repositories { google() // here jcenter() } dependencies { classpath("com.android.tools.build:gradle:3.2.0") } } allprojects { repositories { google() // and here jcenter() } }
AAPT2-এর নতুন সংস্করণ Windows-এ নন-ASCII অক্ষরগুলির উন্নত হ্যান্ডলিং সহ অনেক সমস্যার সমাধান করে।
চাহিদা অনুযায়ী কনফিগারেশন অপসারণ
অ্যান্ড্রয়েড স্টুডিও থেকে কনফিগার অন ডিমান্ড প্রেফারেন্স মুছে ফেলা হয়েছে।
অ্যান্ড্রয়েড স্টুডিও আর গ্রেডলে --configure-on-demand
আর্গুমেন্ট পাস করে না।
এডিবি সংযোগ সহকারী
নতুন ADB সংযোগ সহকারী আপনাকে Android ডিবাগ ব্রিজ (ADB) সংযোগের মাধ্যমে একটি ডিভাইস সেট আপ করতে এবং ব্যবহার করতে সহায়তা করার জন্য ধাপে ধাপে নির্দেশাবলী প্রদান করে৷
সহকারী শুরু করতে, টুলস > সংযোগ সহকারী নির্বাচন করুন।
ADB কানেকশন অ্যাসিস্ট্যান্ট নির্দেশাবলী, ইন-কনটেক্সট কন্ট্রোল এবং অ্যাসিস্ট্যান্ট প্যানেলে একাধিক পৃষ্ঠায় সংযুক্ত ডিভাইসের তালিকা প্রদান করে।
এমুলেটর উন্নতি
আপনি এখন অ্যান্ড্রয়েড এমুলেটরে যেকোনো সময় একটি AVD (Android ভার্চুয়াল ডিভাইস) এর স্ন্যাপশট সংরক্ষণ এবং লোড করতে পারেন, এটি দ্রুত এবং সহজে একটি ইমুলেটেড ডিভাইসকে পরীক্ষার জন্য পরিচিত অবস্থায় ফেরত দিতে পারে৷ আপনি যখন AVD ম্যানেজার ব্যবহার করে একটি AVD সম্পাদনা করেন, তখন AVD শুরু হলে কোন AVD স্ন্যাপশট লোড হবে তা আপনি নির্দিষ্ট করতে পারেন৷
AVD স্ন্যাপশটগুলি সংরক্ষণ, লোড করা এবং পরিচালনার জন্য নিয়ন্ত্রণগুলি এখন এমুলেটরের বর্ধিত নিয়ন্ত্রণ উইন্ডোতে স্ন্যাপশট ট্যাবে রয়েছে৷
বিস্তারিত জানার জন্য, স্ন্যাপশট দেখুন।
এমুলেটরে কি নতুন এবং পরিবর্তিত হয়েছে সে সম্পর্কে অতিরিক্ত তথ্যের জন্য, এমুলেটর রিলিজ নোটগুলি দেখুন।