Android 17 বিটা 4-এ পৌঁছে গেছে, এই রিলিজ সাইকেলের শেষ শিডিউল করা বিটা, অ্যাপের মানানসই হওয়া এবং প্ল্যাটফর্মের স্থায়িত্বের জন্য একটি গুরুত্বপূর্ণ মাইলস্টোন। আপনি অ্যাপের ব্যবহারকারীর অভিজ্ঞতা ফাইন-টিউন করছেন, মসৃণ এজ-টু-এজ রেন্ডারিং নিশ্চিত করছেন বা নতুন API-এর সুবিধা নিচ্ছেন, বিটা ভার্সন 4 আপনাকে পরীক্ষার জন্য প্রয়োজনীয় প্রায়-চূড়ান্ত পরিবেশ প্রদান করে।
আপনার অ্যাপ, লাইব্রেরি, টুল ও গেম ইঞ্জিন রেডি করুন!
আপনি Android SDK, লাইব্রেরি, টুল বা গেম ইঞ্জিন ডেভেলপ করলে, আপনার ডাউনস্ট্রিম অ্যাপ ও গেম ডেভেলপারদের কম্প্যাটিবিলিটি সংক্রান্ত সমস্যার কারণে ব্লক হওয়া থেকে আটকাতে এবং তাদের লেটেস্ট SDK ফিচার টার্গেট করার অনুমতি দিতে, এখন প্রয়োজনীয় আপডেট প্রস্তুত করা অত্যন্ত গুরুত্বপূর্ণ। Android 17-এর জন্য সম্পূর্ণ সহায়তা প্রদান করতে কোনও আপডেট প্রয়োজন হলে, আপনার ডাউনস্ট্রিম ডেভেলপারদের তা জানান।
টেস্ট করার মধ্যে রয়েছে, আপনার প্রোডাকশন অ্যাপ বা টেস্ট অ্যাপ ইনস্টল করা যা Google Play বা অন্য কোনও উপায়ে আপনার লাইব্রেরি বা ইঞ্জিন ব্যবহার করে Android 17 Beta 4-এ চলা কোনও ডিভাইস বা এমুলেটরে কাজ করে। আপনার অ্যাপের সব ফ্লো চেক করে দেখুন এবং ফাংশনাল বা UI সংক্রান্ত সমস্যা খুঁজুন। Android-এর প্রতিটি রিলিজে প্ল্যাটফর্ম সংক্রান্ত পরিবর্তন থাকে যা গোপনীয়তা, নিরাপত্তা ও সামগ্রিক ব্যবহারকারীর অভিজ্ঞতা উন্নত করে; Android 17-এ রান করা এবং টার্গেট করা অ্যাপের ক্ষেত্রে অ্যাপের আচরণে হওয়া পরিবর্তন পর্যালোচনা করুন যাতে আপনার টেস্টিংয়ে ফোকাস করতে পারেন, যার মধ্যে নিম্নলিখিত বিষয়গুলি অন্তর্ভুক্ত:
- বড় স্ক্রিনে রিসাইজ করার সুবিধা: আপনি Android 17 টার্গেট করলে, বড় স্ক্রিনে ওরিয়েন্টেশন, রিসাইজ করার সুবিধা ও অ্যাস্পেক্ট রেশিও সংক্রান্ত সীমাবদ্ধতা বজায় রাখার সুবিধা থেকে আর অপ্ট-আউট করতে পারবেন না।
- ডায়নামিক কোড লোডিং: আপনার অ্যাপ Android 17 বা তার পরবর্তী যেকোনও ভার্সনকে টার্গেট করলে, DEX ও JAR ফাইলের জন্য Android 14-এ নিয়ে আসা Safer Dynamic Code Loading (DCL) সুরক্ষা এখন নেটিভ লাইব্রেরিতেও কাজ করবে। System.load() ব্যবহার করে লোড করা সব নেটিভ ফাইলকে 'শুধু পড়া যাবে' হিসেবে চিহ্নিত করতে হবে। অন্যথায়, সিস্টেম UnsatisfiedLinkError দেখায়।
- ডিফল্ট হিসেবে CT চালু করুন: সার্টিফিকেট ট্রান্সপারেন্সি (CT) ডিফল্ট হিসেবে চালু করা থাকে। (Android 16-এ, CT উপলভ্য কিন্তু অ্যাপকে চালু করতে হবে।)
- লোকাল নেটওয়ার্ক সুরক্ষা: Android 17 বা তার পরবর্তী যেকোনও ভার্সন টার্গেট করা অ্যাপের ক্ষেত্রে ডিফল্ট হিসেবে লোকাল নেটওয়ার্ক অ্যাক্সেস ব্লক করা থাকে। সম্ভব হলে গোপনীয়তা সুরক্ষিত রাখে এমন পিকার ব্যবহার করুন এবং বিস্তারিত, স্থায়ী অ্যাক্সেসের জন্য নতুন ACCESS_LOCAL_NETWORK অনুমতি ব্যবহার করুন।
- ব্যাকগ্রাউন্ড অডিও হার্ডেনিং: Android 17 থেকে শুরু করে, অডিও ফ্রেমওয়ার্ক ব্যাকগ্রাউন্ড অডিও ইন্টার্যাকশনের উপর বিধিনিষেধ আরোপ করে, যার মধ্যে অডিও প্লেব্যাক, অডিও ফোকাস সংক্রান্ত অনুরোধ এবং ভলিউম পরিবর্তন API অন্তর্ভুক্ত। আপনার মতামতের ভিত্তিতে, বিটা ২ ভার্সন থেকে আমরা কিছু পরিবর্তন করেছি, যার মধ্যে রয়েছে targetSDK গেটিং, ব্যবহার করার সময় FGS এনফোর্সমেন্ট এবং অ্যালার্ম অডিওকে ছাড় দেওয়া। সম্পূর্ণ বিবরণ আপডেট করা নির্দেশিকায় উপলভ্য।
অ্যাপ মেমরি সীমা
আপনার অ্যাপ্লিকেশন ও 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 ক্রিপ্টোগ্রাফিক আর্কিটেকচার 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 Emulator-এর সাথে ৬৪-বিট সিস্টেম ইমেজ ব্যবহার করতে পারবেন।
আপনি বর্তমানে Android বিটা প্রোগ্রামে থাকলে, আপনাকে বিটা ৪-এ ওভার-দ্য-এয়ার আপডেট অফার করা হবে।
মতামত পৃষ্ঠায় সমস্যার ব্যাপারে অভিযোগ জানানো এবং ফিচার রিকোয়েস্ট জমা দেওয়া চালিয়ে যান। আমরা যত তাড়াতাড়ি আপনার মতামত পাব, তত বেশি আমরা চূড়ান্ত রিলিজে আমাদের কাজে অন্তর্ভুক্ত করতে পারব।
Android 17-এর সাথে সেরা ডেভেলপমেন্ট অভিজ্ঞতা পেতে, আমরা সাজেস্ট করি যে আপনি Android Studio (Panda)-এর লেটেস্ট প্রিভিউ ব্যবহার করুন। সেট-আপ করা হয়ে গেলে, আপনাকে এইসব কাজ করতে হবে:
- নতুন SDK-এর সাথে কম্পাইল করুন, CI এনভায়রনমেন্টে পরীক্ষা করুন এবং আমাদের ট্র্যাকারে কোনও সমস্যা থাকলে তা মতামত পৃষ্ঠায় জানান।
- মানানসই কিনা তা দেখার জন্য আপনার বর্তমান অ্যাপ পরীক্ষা করুন, Android 17-এ পরিবর্তনের ফলে আপনার অ্যাপ প্রভাবিত হয়েছে কিনা তা জানুন এবং Android 17 চলছে এমন ডিভাইস বা এমুলেটরে আপনার অ্যাপ ইনস্টল করুন এবং এটি ব্যাপকভাবে পরীক্ষা করুন।
Android 17 রিলিজ সাইকেল চলাকালীন আমরা নিয়মিত প্রিভিউ/বিটা সিস্টেম ইমেজ এবং SDK আপডেট করব। আপনি বিটা বিল্ড ইনস্টল করার পরে, পরবর্তী সব প্রিভিউ ও বিটার জন্য অটোমেটিক ওভার-দ্য-এয়ার আপডেট পাবেন।
সম্পূর্ণ তথ্যের জন্য, Android 17 ডেভেলপার সাইট দেখুন।
কথোপকথনে যোগ দিন
আপনার মতামত আমাদের কাছে সবচেয়ে মূল্যবান। আপনি Canary চ্যানেলে প্রথম থেকেই ব্যবহার করতে শুরু করা ব্যক্তি অথবা Beta 4-এ টেস্টিং করা অ্যাপ ডেভেলপার যাই হোন না কেন, আমাদের কমিউনিটিতে যোগ দেওয়ার এবং মতামত জানানোর কথা বিবেচনা করুন। আপনার পছন্দের ব্যাপারে জানতে, আমরা শুনছি।
-
প্রোডাক্ট সংক্রান্ত খবরএজেন্টিক ডেভেলপমেন্টের গতি বাড়ার সাথে সাথে, Android ইঞ্জিনিয়ারিং একটি নতুন দিগন্তে পৌঁছে যাচ্ছে: সহায়ক কোড সম্পূর্ণ করা থেকে শুরু করে আপনার নির্দেশনায় এন্ড-টু-এন্ড কাজ করা এজেন্ট পর্যন্ত। আপনি যে মডেল ও এজেন্ট ব্যবহার করেন, তার উপর আপনার সম্পূর্ণ নিয়ন্ত্রণ ও নমনীয়তা থাকে।
Jason Buchel • ৩ মিনিট রিডিং -
প্রোডাক্ট সংক্রান্ত খবরআজ আমরা শেয়ার করেছি যে কীভাবে আমরা আমাদের "স্টোরের চেয়েও বেশি কিছু" ভিশনকে পরবর্তী অধ্যায়ে নিয়ে যাচ্ছি। 'অ্যাকাউন্ট' ট্যাব থেকে, এখন ২৫০ মিলিয়নেরও বেশি মাসিক অ্যাক্টিভ ব্যবহারকারীর জন্য ব্যক্তিগত হোম বেস, আমাদের ইউনিফায়েড গেমিং প্ল্যাটফর্ম ৭০০ মিলিয়নেরও বেশি গেমার প্রোফাইলকে কানেক্ট করছে, Google Play ব্যবহারকারীদের যেখানেই থাকুক না কেন তাদের সাথে কানেক্ট করছে।
Paul Feng • ৩ মিনিট রিডিং -
প্রোডাক্ট সংক্রান্ত খবরGooglebook-এর মাধ্যমে, ব্যবহারকারীদের নিজেদের প্রকাশ করতে এবং এইসব টুলে অ্যাক্সেস পেতে সাহায্য করতে পেরে আমরা আনন্দিত।
Cyrus Stoller • পড়তে ২ মিনিট লাগবে
আপনার ইনবক্সে প্রতি সপ্তাহে Android ডেভেলপমেন্ট সংক্রান্ত লেটেস্ট ইনসাইট পান।