Android 17 বিটা 4-এ পৌঁছে গেছে, এটি এই রিলিজ সাইকেলের শেষ শিডিউল করা বিটা ভার্সন, অ্যাপ মানানসই হওয়া ও প্ল্যাটফর্মের স্থিতিশীলতার জন্য এটি একটি গুরুত্বপূর্ণ মাইলস্টোন। আপনি অ্যাপের ব্যবহারকারীর অভিজ্ঞতা ফাইন-টিউন করুন, এজের পর এজ মসৃণ রেন্ডারিং নিশ্চিত করুন অথবা লেটেস্ট API ব্যবহার করুন, বিটা ভার্সন ৪ আপনাকে প্রায় চূড়ান্ত এনভায়রনমেন্ট প্রদান করে যা আপনার পরীক্ষার জন্য প্রয়োজন।
আপনার অ্যাপ, লাইব্রেরি, টুল ও গেম ইঞ্জিন রেডি করুন!
আপনি Android SDK, লাইব্রেরি, টুল বা গেম ইঞ্জিন ডেভেলপ করলে, আপনার ডাউনস্ট্রিম অ্যাপ ও গেম ডেভেলপারদের যাতে কম্প্যাটিবিলিটি সংক্রান্ত সমস্যার কারণে ব্লক করা না হয় এবং তারা যাতে লেটেস্ট SDK ফিচার টার্গেট করতে পারেন, সেই জন্য এখন থেকেই প্রয়োজনীয় আপডেট প্রস্তুত করা অত্যন্ত গুরুত্বপূর্ণ। Android 17-এর সম্পূর্ণ সাপোর্ট পেতে আপডেট প্রয়োজন হলে, আপনার ডাউনস্ট্রিম ডেভেলপারদের তা জানিয়ে দিন।
টেস্টিংয়ের মধ্যে আপনার প্রোডাকশন অ্যাপ বা টেস্ট অ্যাপ ইনস্টল করা অন্তর্ভুক্ত। এই অ্যাপ আপনার লাইব্রেরি বা ইঞ্জিন ব্যবহার করে এবং Google Play বা অন্য কোনও উপায়ে Android 17 Beta 4 ভার্সন চলছে এমন কোনও ডিভাইস বা এমুলেটরে ইনস্টল করা হয়। আপনার অ্যাপের সব ফ্লো চেক করে দেখুন এবং ফাংশনাল বা UI সংক্রান্ত সমস্যা আছে কিনা দেখুন। Android-এর প্রতিটি রিলিজেই এমন প্ল্যাটফর্ম পরিবর্তন থাকে যা গোপনীয়তা, নিরাপত্তা ও সামগ্রিক ব্যবহারকারীর অভিজ্ঞতা উন্নত করে; আপনার টেস্টিংয়ের উপর ফোকাস করতে, যেসব অ্যাপ চলছে এবং Android 17-কে টার্গেট করছে সেইসব অ্যাপের ক্ষেত্রে আচরণগত পরিবর্তনের প্রভাব পর্যালোচনা করুন, এর মধ্যে নিম্নলিখিত বিষয়গুলি অন্তর্ভুক্ত:
- বড় স্ক্রিনে রিসাইজ করার সুবিধা: Android 17 টার্গেট করার পরে, আপনি আর বড় স্ক্রিনে ওরিয়েন্টেশন, রিসাইজ করার সুবিধা ও অ্যাস্পেক্ট রেশিও সংক্রান্ত বিধিনিষেধ বজায় রাখা থেকে অপ্ট-আউট করতে পারবেন না।
- ডায়নামিক কোড লোডিং: আপনার অ্যাপ Android 17 বা তার পরবর্তী যেকোনও ভার্সনকে টার্গেট করলে, DEX ও JAR ফাইলের জন্য Android 14-এ চালু করা নিরাপদ ডায়নামিক কোড লোডিং (DCL) সুরক্ষা এখন নেটিভ লাইব্রেরিতেও প্রযোজ্য হবে। System.load() ব্যবহার করে লোড করা সব নেটিভ ফাইলকে অবশ্যই 'শুধু-পঠনযোগ্য' হিসেবে চিহ্নিত করতে হবে। অন্যথায়, সিস্টেম UnsatisfiedLinkError দেখায়।
- ডিফল্ট হিসেবে CT চালু করুন: সার্টিফিকেট ট্রান্সপারেন্সি (CT) ডিফল্ট হিসেবে চালু করা থাকে। (Android 16-এ, CT উপলভ্য থাকলেও অ্যাপগুলিকে অপ্ট-ইন করতে হবে।)
- লোকাল নেটওয়ার্ক সুরক্ষা: Android 17 বা তার পরবর্তী যেকোনও ভার্সনকে টার্গেট করা অ্যাপে ডিফল্ট হিসেবে লোকাল নেটওয়ার্ক অ্যাক্সেস ব্লক করা থাকে। সম্ভব হলে, গোপনীয়তা রক্ষা করে এমন পিকার ব্যবহার করুন এবং ব্যাপক, অবিরাম অ্যাক্সেসের জন্য নতুন ACCESS_LOCAL_NETWORK অনুমতি ব্যবহার করুন।
- ব্যাকগ্রাউন্ড অডিও হার্ডেনিং: Android 17 থেকে শুরু করে, অডিও ফ্রেমওয়ার্ক ব্যাকগ্রাউন্ড অডিও ইন্টার্যাকশনের উপর বিধিনিষেধ আরোপ করে, যার মধ্যে অডিও প্লেব্যাক, অডিও ফোকাস সংক্রান্ত অনুরোধ এবং ভলিউম পরিবর্তন সংক্রান্ত API অন্তর্ভুক্ত। আপনার মতামতের ভিত্তিতে, আমরা বিটা ২ থেকে কিছু পরিবর্তন করেছি, যার মধ্যে রয়েছে ইন-ইউজ FGS এনফোর্সমেন্ট চলাকালীন টার্গেট SDK গেটিং এবং অ্যালার্ম অডিওতে ছাড় দেওয়া। আপডেট করা নির্দেশিকায় সম্পূর্ণ বিবরণ দেওয়া আছে।
অ্যাপ মেমরি সীমা
আপনার অ্যাপ্লিকেশন ও Android ব্যবহারকারীদের জন্য আরও স্থিতিশীল ও ডিটারমিনিস্টিক এনভায়রনমেন্ট তৈরি করতে, Android ডিভাইসের মোট RAM-এর উপর ভিত্তি করে অ্যাপ মেমরি সীমা প্রবর্তন করছে। Android 17-এ, সিস্টেম বেসলাইন তৈরি করার জন্য রক্ষণশীলভাবে সীমা সেট করা হয়, যার লক্ষ্য হল চরম মেমরি লিক এবং অন্যান্য আউটলায়ারকে টার্গেট করা যাতে সেগুলি সিস্টেম-ব্যাপী অস্থিরতা ট্রিগার করতে না পারে। এর ফলে UI স্টাটারিং, ব্যাটারি দ্রুত শেষ হয়ে যাওয়া এবং অ্যাপ বন্ধ হয়ে যাওয়া রোধ করা যায়। আমরা আশা করি যে অ্যাপ সেশনের বিশাল সংখ্যাগরিষ্ঠ অংশের উপর ন্যূনতম প্রভাব পড়বে, তবে আমরা মেমরির জন্য একটি বেসলাইন তৈরি করা সহ নিম্নলিখিত মেমরি সংক্রান্ত পেশাদার পদ্ধতি অনুসরণ করার পরামর্শ দিই।
বর্তমান প্রয়োগে, ApplicationExitInfo-এর মধ্যে getDescription-এ "MemoryLimiter" স্ট্রিং থাকবে, যদি আপনার অ্যাপ প্রভাবিত হয়ে থাকে। এছাড়াও, মেমরি সংক্রান্ত সীমা পৌঁছে গেলে সংগ্রহ করা হিপ ডাম্প পেতে, আপনি TRIGGER_TYPE_ANOMALY সহ ট্রিগার-ভিত্তিক প্রোফাইলিং ব্যবহার করতে পারেন।
মেমরি লিক খুঁজে পেতে সাহায্য করার জন্য, Android Studio Panda সরাসরি Android Studio Profiler-এ একটি ডেডিকেটেড টাস্ক হিসেবে LeakCanary ইন্টিগ্রেশন যোগ করে। এটি IDE-এর মধ্যে প্রাসঙ্গিক এবং আপনার সোর্স কোডের সাথে সম্পূর্ণভাবে ইন্টিগ্রেট করা হয়।
কম মেমরি ব্যবহার করার অর্থ হল আরও মসৃণ পারফর্ম্যান্স, ব্যাটারির আয়ু বেশি হওয়া এবং সব ধরনের ফর্ম ফ্যাক্টর জুড়ে প্রিমিয়াম অভিজ্ঞতা। আসুন, আমরা একসাথে Android ইকোসিস্টেমের জন্য আরও দ্রুত, আরও নির্ভরযোগ্য ভবিষ্যৎ গড়ে তুলি!
অ্যাপে হওয়া অস্বাভাবিকতা প্রোফাইলিং করার ট্রিগার
Android একটি অন-ডিভাইস অসঙ্গতি শনাক্তকরণ পরিষেবা চালু করেছে যা রিসোর্স-ইনটেনসিভ আচরণ এবং সম্ভাব্য কম্প্যাটিবিলিটি রিগ্রেশন মনিটর করে। ProfilingManager-এর সাথে ইন্টিগ্রেট করা, এই পরিষেবা আপনার অ্যাপকে নির্দিষ্ট সিস্টেম-ডিটেক্ট করা ইভেন্ট দ্বারা ট্রিগার করা প্রোফাইলিং আর্টিফ্যাক্ট গ্রহণ করতে দেয়।
অতিরিক্ত বাইন্ডার কল ও অতিরিক্ত মেমরি ব্যবহারের মতো সিস্টেম পারফর্ম্যান্স সংক্রান্ত সমস্যা শনাক্ত করতে TRIGGER_TYPE_ANOMALY ট্রিগার ব্যবহার করুন। কোনও অ্যাপ OS-এর নির্ধারিত মেমরি সীমা লঙ্ঘন করলে, অ্যানোমালি ট্রিগার ডেভেলপারদের অ্যাপ-নির্দিষ্ট হিপ ডাম্প পেতে দেয় যাতে তারা মেমরি সংক্রান্ত সমস্যা শনাক্ত করে সমাধান করতে পারে। এছাড়াও, অতিরিক্ত বাইন্ডার স্প্যামের জন্য, অসঙ্গতি ট্রিগার বাইন্ডার ট্রানজ্যাকশনের উপর একটি স্ট্যাক স্যাম্পেলিং প্রোফাইল প্রদান করে।
সিস্টেমের মাধ্যমে প্রয়োগ করা এনফোর্সমেন্টের আগে এই API কলব্যাক হয়। যেমন, মেমরি সীমা অতিক্রম করার কারণে সিস্টেম অ্যাপ বন্ধ করে দেওয়ার আগে এটি ডেভেলপারদের ডিবাগ ডেটা সংগ্রহ করতে সাহায্য করতে পারে। ট্রিগার কীভাবে ব্যবহার করতে হয় তা বুঝতে, ট্রিগার ভিত্তিক প্রোফাইলিং সংক্রান্ত আমাদের ডকুমেন্টেশন দেখুন।
val profilingManager = applicationContext.getSystemService(ProfilingManager::class.java) val triggers = ArrayList<ProfilingTrigger>() triggers.add(ProfilingTrigger.Builder( ProfilingTrigger.TRIGGER_TYPE_ANOMALY)) val mainExecutor: Executor = Executors.newSingleThreadExecutor() val resultCallback = Consumer<ProfilingResult> { profilingResult -> if (profilingResult.errorCode != ProfilingResult.ERROR_NONE) { // upload profile result to server for further analysis setupProfileUploadWorker(profilingResult.resultFilePath) } profilingManager.registerForAllProfilingResults(mainExecutor, resultCallback) profilingManager.addProfilingTriggers(triggers) }
Android Keystore-এ পোস্ট-কোয়ান্টাম ক্রিপ্টোগ্রাফি (PQC)
Android Keystore NIST-এর স্ট্যান্ডার্ড ML-DSA (মডিউল-ল্যাটিস-ভিত্তিক ডিজিটাল সিগনেচার অ্যালগরিদম)-এর জন্য সহায়তা যোগ করা হয়েছে। সাপোর্ট করে এমন ডিভাইসে, আপনি ML-DSA কী তৈরি করতে এবং ডিভাইসের সুরক্ষিত হার্ডওয়্যারে সম্পূর্ণভাবে কোয়ান্টাম-সেফ সিগনেচার তৈরি করতে সেগুলি ব্যবহার করতে পারবেন। Android Keystore, স্ট্যান্ডার্ড Java Cryptographic Architecture API-এর মাধ্যমে ML-DSA-65 এবং ML-DSA-87 অ্যালগরিদম ভেরিয়েন্ট প্রকাশ করে: KeyPairGenerator, KeyFactory এবং Signature. আরও বিবরণের জন্য, আমাদের ডেভেলপার ডকুমেন্টেশন দেখুন।
KeyPairGenerator generator = KeyPairGenerator.getInstance( “ML-DSA-65”, "AndroidKeyStore"); generator.initialize( new KeyGenParameterSpec.Builder( “my-key-alias”, KeyProperties.PURPOSE_SIGN | KeyProperties.PURPOSE_VERIFY) .build()); KeyPair keyPair = generator.generateKeyPair();
Android 17 ব্যবহার শুরু করা
আপনি যেকোনও কাজ করে এমন Pixel ডিভাইস এনরোল করে ওভার-দ্য-এয়ার এই ও ভবিষ্যতের Android বিটা আপডেট পেতে পারেন। আপনার কাছে Pixel ডিভাইস না থাকলে, Android Studio-তে Android এমুলেটরের সাথে ৬৪-বিট সিস্টেম ইমেজ ব্যবহার করতে পারবেন।
আপনি বর্তমানে Android বিটা প্রোগ্রামে থাকলে, আপনাকে বিটা ৪-এ ওভার-দ্য-এয়ার আপডেট অফার করা হবে।
মতামত পৃষ্ঠায় সমস্যার ব্যাপারে অভিযোগ জানানো ও ফিচারের অনুরোধ জমা দেওয়া চালিয়ে যান। আমরা যত আগে আপনার মতামত পাব, ফাইনাল রিলিজের জন্য কাজ করার সময় আমরা তত বেশি মতামত অন্তর্ভুক্ত করতে পারব।
Android 17-এর সাথে সেরা ডেভেলপমেন্ট অভিজ্ঞতা পেতে, আমরা সাজেস্ট করি যে আপনি Android Studio (Panda)-এর লেটেস্ট প্রিভিউ ব্যবহার করুন। সেট-আপ করা হয়ে গেলে, এখানে কিছু জিনিস দেওয়া হল যা আপনার করা উচিত:
- নতুন SDK-এর সাথে কম্পাইল করুন, CI এনভায়রনমেন্টে পরীক্ষা করুন এবং মতামত পৃষ্ঠায় আমাদের ট্র্যাকারে কোনও সমস্যা হলে তা জানান।
- আপনার বর্তমান অ্যাপের সাথে কম্প্যাটিবিলিটি পরীক্ষা করুন, Android 17-এ হওয়া পরিবর্তনের ফলে আপনার অ্যাপ প্রভাবিত হয়েছে কিনা তা জানুন এবং Android 17 ভার্সন চলছে এমন কোনও ডিভাইস বা এমুলেটরে আপনার অ্যাপ ইনস্টল করে সেটি ভালভাবে পরীক্ষা করুন।
Android 17 রিলিজ চক্র জুড়ে আমরা নিয়মিত প্রিভিউ/বিটা সিস্টেম ইমেজ ও SDK আপডেট করব। আপনি বিটা বিল্ড ইনস্টল করার পরে, পরবর্তী সব প্রিভিউ ও বিটার জন্য ওভার-দ্য-এয়ার আপডেট অটোমেটিক পাবেন।
সম্পূর্ণ তথ্য পেতে, Android 17 ডেভেলপার সাইট দেখুন।
কথোপকথনে যোগ দিন
আপনার মতামত আমাদের কাছে সবচেয়ে মূল্যবান। আপনি Canary চ্যানেলের একজন আর্লি অ্যাডপ্টর হন বা বিটা ৪-এ পরীক্ষা করা অ্যাপ ডেভেলপার হন, আমাদের কমিউনিটিতে যোগ দেওয়া এবং মতামত জমা দেওয়ার কথা বিবেচনা করুন। আমরা শুনছি।
-
প্রোডাক্ট সম্পর্কিত খবরAndroid ডেভেলপার হিসেবে, অ্যাপ ডেভেলপমেন্টের জন্য আপনি যেসব এজেন্ট, LLM, টুল ও কমান্ড-লাইন ইন্টারফেস (CLI) ব্যবহার করেন, সেই ব্যাপারে আপনার কাছে অনেক বিকল্প আছে। আপনি যেভাবে তৈরি করতে চান না কেন, আমাদের লক্ষ্য হল আপনাকে সুন্দর, হাই-কোয়ালিটি Android অ্যাপ তৈরি করতে সাহায্য করা।
Simona Milanovic • ৪ মিনিট রিডিং টাইম -
প্রোডাক্ট সম্পর্কিত খবরGoogle Play-তে, আমরা ক্রমাগত আমাদের সাবস্ক্রিপশন প্ল্যাটফর্মের পরিধি বাড়াচ্ছি যাতে আপনি ব্যবসা বাড়াতে, নতুন বিজনেস মডেলের সাথে মানিয়ে নিতে এবং ব্যবহারকারীদের ঠিক যেখানে প্রয়োজন সেখানে তাদের চাহিদা পূরণ করতে পারেন।
Sheenam Mittal • ৪ মিনিট রিডিং টাইম -
প্রোডাক্ট সম্পর্কিত খবরগত বছর, Android Studio যেকোনও AI মডেলের জন্য খুলে দেওয়া হয়েছে। আজ, আমরা আপনার পছন্দের কোডিং এজেন্টদের জন্য সহায়তা প্রদান করে পরবর্তী পদক্ষেপ নিচ্ছি।
Matthew Warner • ৩ মিনিট রিডিং
আপনার ইনবক্সে প্রতি সপ্তাহে Android ডেভেলপমেন্ট সংক্রান্ত লেটেস্ট ইনসাইট পান।