পণ্যের খবর

অ্যান্ড্রয়েড ১৭ এর চতুর্থ বিটা

৪ মিনিটের পাঠ
Daniel Galpin
ডেভেলপার অ্যাডভোকেট

অ্যান্ড্রয়েড ১৭ বিটা ৪-এ পৌঁছেছে, যা এই রিলিজ চক্রের শেষ নির্ধারিত বিটা এবং অ্যাপের সামঞ্জস্যতা ও প্ল্যাটফর্মের স্থিতিশীলতার জন্য একটি অত্যন্ত গুরুত্বপূর্ণ মাইলফলক। আপনি আপনার অ্যাপের ইউজার এক্সপেরিয়েন্স সূক্ষ্মভাবে উন্নত করুন, মসৃণ এজ-টু-এজ রেন্ডারিং নিশ্চিত করুন, বা নতুনতম এপিআইগুলো ব্যবহার করুন—যা-ই করুন না কেন, বিটা ৪ আপনাকে পরীক্ষার জন্য প্রয়োজনীয় প্রায়-চূড়ান্ত পরিবেশটি প্রদান করে।

আপনার অ্যাপ, লাইব্রেরি, টুল এবং গেম ইঞ্জিনগুলো প্রস্তুত করুন!

আপনি যদি কোনো অ্যান্ড্রয়েড এসডিকে, লাইব্রেরি, টুল বা গেম ইঞ্জিন তৈরি করেন, তবে আপনার ডাউনস্ট্রিম অ্যাপ এবং গেম ডেভেলপারদের সামঞ্জস্যজনিত সমস্যার কারণে বাধাগ্রস্ত হওয়া থেকে বাঁচাতে এবং তাদেরকে এসডিকে-র সর্বশেষ ফিচারগুলো ব্যবহারের সুযোগ করে দিতে, এখনই প্রয়োজনীয় আপডেটগুলো প্রস্তুত করা অত্যন্ত জরুরি। অ্যান্ড্রয়েড ১৭-কে সম্পূর্ণরূপে সমর্থন করার জন্য কোনো আপডেটের প্রয়োজন হলে, অনুগ্রহ করে আপনার ডাউনস্ট্রিম ডেভেলপারদের তা জানিয়ে দিন।

Android17_Timeline_01_V02.png

টেস্টিং-এর জন্য গুগল প্লে বা অন্য কোনো মাধ্যম ব্যবহার করে আপনার প্রোডাকশন অ্যাপ অথবা আপনার লাইব্রেরি বা ইঞ্জিন ব্যবহার করা কোনো টেস্ট অ্যাপ, অ্যান্ড্রয়েড ১৭ বিটা ৪ চালিত কোনো ডিভাইস বা এমুলেটরে ইনস্টল করতে হবে। আপনার অ্যাপের সমস্ত ফ্লো (flow) পুঙ্খানুপুঙ্খভাবে পরীক্ষা করুন এবং ফাংশনাল বা ইউআই (UI) সংক্রান্ত সমস্যাগুলো খুঁজে বের করুন। অ্যান্ড্রয়েডের প্রতিটি রিলিজে প্ল্যাটফর্মে এমন কিছু পরিবর্তন থাকে যা প্রাইভেসি, সিকিউরিটি এবং সার্বিক ইউজার এক্সপেরিয়েন্স উন্নত করে; আপনার টেস্টিং-কে নির্দিষ্ট দিকে চালিত করার জন্য অ্যান্ড্রয়েড ১৭- এ চালিত এবং সেটিকে লক্ষ্য করে তৈরি অ্যাপগুলোর আচরণগত পরিবর্তনগুলো পর্যালোচনা করুন, যার মধ্যে নিম্নলিখিত বিষয়গুলো অন্তর্ভুক্ত:

  • বড় স্ক্রিনে আকার পরিবর্তনের সুবিধা: একবার আপনি অ্যান্ড্রয়েড ১৭ ইনস্টল করলে, বড় স্ক্রিনে ওরিয়েন্টেশন, আকার পরিবর্তনের সুবিধা এবং অ্যাসপেক্ট রেশিওর সীমাবদ্ধতা বজায় রাখা থেকে আর বিরত থাকতে পারবেন না।
  • ডাইনামিক কোড লোডিং: আপনার অ্যাপটি যদি অ্যান্ড্রয়েড ১৭ বা তার উচ্চতর সংস্করণকে টার্গেট করে, তাহলে অ্যান্ড্রয়েড ১৪-এ DEX এবং JAR ফাইলের জন্য চালু হওয়া সেফার ডাইনামিক কোড লোডিং (DCL) সুরক্ষা এখন নেটিভ লাইব্রেরি পর্যন্তও বিস্তৃত হয়েছে। System.load() ব্যবহার করে লোড করা সমস্ত নেটিভ ফাইলকে অবশ্যই রিড-অনলি হিসেবে চিহ্নিত করতে হবে। অন্যথায়, সিস্টেম UnsatisfiedLinkError থ্রো করবে।
  • ডিফল্টরূপে CT সক্রিয় করুন: সার্টিফিকেট ট্রান্সপারেন্সি (CT) ডিফল্টরূপে সক্রিয় থাকে। (অ্যান্ড্রয়েড ১৬-এ CT উপলব্ধ ছিল, কিন্তু অ্যাপগুলোকে এটি চালু করার জন্য সম্মতি জানাতে হতো ।)
  • লোকাল নেটওয়ার্ক সুরক্ষা: অ্যান্ড্রয়েড ১৭ বা তার উচ্চতর সংস্করণের অ্যাপগুলিতে ডিফল্টরূপে লোকাল নেটওয়ার্ক অ্যাক্সেস ব্লক করা থাকে। সম্ভব হলে প্রাইভেসি রক্ষাকারী পিকার ব্যবহার করুন এবং ব্যাপক ও স্থায়ী অ্যাক্সেসের জন্য নতুন ACCESS_LOCAL_NETWORK পারমিশনটি ব্যবহার করুন।
  • ব্যাকগ্রাউন্ড অডিও সুরক্ষা বৃদ্ধি: অ্যান্ড্রয়েড ১৭ থেকে, অডিও ফ্রেমওয়ার্ক ব্যাকগ্রাউন্ড অডিও ইন্টারঅ্যাকশনের উপর বিধিনিষেধ আরোপ করেছে, যার মধ্যে রয়েছে অডিও প্লেব্যাক, অডিও ফোকাস রিকোয়েস্ট এবং ভলিউম পরিবর্তনের এপিআই। আপনাদের মতামতের ভিত্তিতে, আমরা বিটা ২ থেকে কিছু পরিবর্তন এনেছি, যার মধ্যে রয়েছে ব্যবহারের সময় টার্গেটএসডিকে-এর মাধ্যমে এফজিএস প্রয়োগে বাধা সৃষ্টি এবং অ্যালার্ম অডিওকে অব্যাহতি দেওয়া। সম্পূর্ণ বিবরণ আপডেট করা নির্দেশিকায় পাওয়া যাবে।

অ্যাপের মেমরি সীমা

আপনার অ্যাপ্লিকেশন এবং অ্যান্ড্রয়েড ব্যবহারকারীদের জন্য আরও স্থিতিশীল ও সুনির্দিষ্ট পরিবেশ তৈরি করতে, অ্যান্ড্রয়েড ডিভাইসের মোট র‍্যামের উপর ভিত্তি করে অ্যাপ মেমরির সীমা নির্ধারণ করছে। অ্যান্ড্রয়েড ১৭-এ, সিস্টেমের বেসলাইন স্থাপন করার জন্য এই সীমাগুলো সতর্কতার সাথে নির্ধারণ করা হয়েছে। এর লক্ষ্য হলো, চরম মেমরি লিক এবং অন্যান্য অস্বাভাবিক ঘটনাগুলো সিস্টেম-ব্যাপী অস্থিতিশীলতা সৃষ্টি করার আগেই সেগুলোকে নিয়ন্ত্রণ করা, যার ফলে UI আটকে যাওয়া, ব্যাটারির চার্জ দ্রুত শেষ হওয়া এবং অ্যাপ বন্ধ হয়ে যাওয়ার মতো সমস্যাগুলো এড়ানো যায়। যদিও আমরা আশা করছি যে বেশিরভাগ অ্যাপ সেশনের উপর এর প্রভাব ন্যূনতম হবে, তবুও আমরা মেমরির জন্য একটি বেসলাইন স্থাপন করা সহ নিম্নলিখিত সেরা অনুশীলনগুলো অনুসরণ করার পরামর্শ দিচ্ছি।

বর্তমান বাস্তবায়নে, আপনার অ্যাপটি প্রভাবিত হলে ApplicationExitInfo- এর getDescription- এ "MemoryLimiter" স্ট্রিংটি থাকবে। মেমরি লিমিট অতিক্রম করলে সংগৃহীত হিপ ডাম্প পেতে আপনি TRIGGER_TYPE_ANOMALY সহ ট্রিগার-ভিত্তিক প্রোফাইলিংও ব্যবহার করতে পারেন।

নামহীন (2).png
অ্যান্ড্রয়েড স্টুডিও প্রোফাইলারের LeakCanary টাস্ক

মেমরি লিক খুঁজে পেতে আপনাকে সাহায্য করার জন্য, অ্যান্ড্রয়েড স্টুডিও পান্ডা সরাসরি অ্যান্ড্রয়েড স্টুডিও প্রোফাইলারের মধ্যে একটি ডেডিকেটেড টাস্ক হিসেবে লিকক্যানারি ইন্টিগ্রেশন যুক্ত করে, যা IDE-এর মধ্যেই প্রাসঙ্গিক থাকে এবং আপনার সোর্স কোডের সাথে সম্পূর্ণরূপে সমন্বিত হয়।

কম মেমোরি ফুটপ্রিন্টের ফলে সরাসরি মসৃণ পারফরম্যান্স, দীর্ঘস্থায়ী ব্যাটারি লাইফ এবং সব ধরনের ডিভাইসে একটি প্রিমিয়াম অভিজ্ঞতা পাওয়া যায়। আসুন, আমরা একসাথে অ্যান্ড্রয়েড ইকোসিস্টেমের জন্য একটি দ্রুততর ও আরও নির্ভরযোগ্য ভবিষ্যৎ গড়ে তুলি!

অ্যাপের অসঙ্গতির জন্য প্রোফাইলিং ট্রিগার

অ্যান্ড্রয়েড একটি অন-ডিভাইস অ্যানোমালি ডিটেকশন সার্ভিস চালু করেছে যা রিসোর্স-ইনটেনসিভ আচরণ এবং সম্ভাব্য কম্প্যাটিবিলিটি রিগ্রেশন পর্যবেক্ষণ করে। ProfilingManager-এর সাথে ইন্টিগ্রেটেড এই সার্ভিসটি আপনার অ্যাপকে নির্দিষ্ট সিস্টেম-শনাক্ত ইভেন্টের ফলে ট্রিগার হওয়া প্রোফাইলিং আর্টিফ্যাক্ট গ্রহণ করার সুযোগ দেয়।

অতিরিক্ত বাইন্ডার কল এবং অতিরিক্ত মেমরি ব্যবহারের মতো সিস্টেম পারফরম্যান্স সমস্যা শনাক্ত করতে TRIGGER_TYPE_ANOMALY ট্রিগারটি ব্যবহার করুন। যখন কোনো অ্যাপ OS-নির্ধারিত মেমরি সীমা লঙ্ঘন করে, তখন এই অ্যানোমালি ট্রিগারটি ডেভেলপারদের অ্যাপ-নির্দিষ্ট হিপ ডাম্প পেতে সাহায্য করে, যা মেমরি সমস্যা শনাক্ত ও সমাধান করতে সহায়ক হয়। এছাড়াও, অতিরিক্ত বাইন্ডার স্প্যামের ক্ষেত্রে, এই অ্যানোমালি ট্রিগারটি বাইন্ডার ট্রানজ্যাকশনের উপর একটি স্ট্যাক স্যাম্পলিং প্রোফাইল প্রদান করে।

এই এপিআই কলব্যাকটি সিস্টেম দ্বারা আরোপিত যেকোনো বিধিনিষেধের আগে ঘটে। উদাহরণস্বরূপ, মেমরি সীমা অতিক্রম করার কারণে সিস্টেম দ্বারা অ্যাপটি বন্ধ করে দেওয়ার আগে, এটি ডেভেলপারদের ডিবাগ ডেটা সংগ্রহ করতে সাহায্য করতে পারে। ট্রিগারটি কীভাবে ব্যবহার করতে হয় তা জানতে , ট্রিগার-ভিত্তিক প্রোফাইলিং সম্পর্কিত আমাদের ডকুমেন্টেশন দেখুন।

    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)
}

অ্যান্ড্রয়েড কীস্টোরে পোস্ট-কোয়ান্টাম ক্রিপ্টোগ্রাফি (PQC)

অ্যান্ড্রয়েড কীস্টোর এখন NIST-মানসম্মত ML-DSA (মডিউল-ল্যাটিস-ভিত্তিক ডিজিটাল সিগনেচার অ্যালগরিদম)-এর জন্য সমর্থন যোগ করেছে । সমর্থিত ডিভাইসগুলিতে, আপনি ML-DSA কী তৈরি করতে এবং সেগুলি ব্যবহার করে কোয়ান্টাম-নিরাপদ সিগনেচার তৈরি করতে পারবেন, যা সম্পূর্ণরূপে ডিভাইসের সুরক্ষিত হার্ডওয়্যারের মধ্যেই সম্পন্ন হয়। অ্যান্ড্রয়েড কীস্টোর স্ট্যান্ডার্ড জাভা ক্রিপ্টোগ্রাফিক আর্কিটেকচার API— KeyPairGenerator , KeyFactory , এবং Signature— এর মাধ্যমে ML-DSA-65 এবং ML-DSA-87 অ্যালগরিদম ভ্যারিয়েন্টগুলো সরবরাহ করে। আরও বিস্তারিত জানতে, আমাদের ডেভেলপার ডকুমেন্টেশন দেখুন।

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();

অ্যান্ড্রয়েড ১৭ দিয়ে শুরু করুন

এই এবং ভবিষ্যতের অ্যান্ড্রয়েড বিটা আপডেটগুলো ওভার-দ্য-এয়ার (OTA) পদ্ধতিতে পেতে আপনি যেকোনো সমর্থিত পিক্সেল ডিভাইস নথিভুক্ত করতে পারেন। যদি আপনার পিক্সেল ডিভাইস না থাকে, তবে আপনি অ্যান্ড্রয়েড স্টুডিওতে অ্যান্ড্রয়েড এমুলেটরের সাথে ৬৪-বিট সিস্টেম ইমেজগুলো ব্যবহার করতে পারেন।

আপনি যদি বর্তমানে অ্যান্ড্রয়েড বিটা প্রোগ্রামে থাকেন, তাহলে আপনাকে বিটা ৪-এ একটি ওভার-দ্য-এয়ার আপডেটের প্রস্তাব দেওয়া হবে।

ফিডব্যাক পেজে সমস্যা জানানো এবং ফিচারের জন্য অনুরোধ জমা দেওয়া অব্যাহত রাখুন। আমরা যত আগে আপনার মতামত পাব, চূড়ান্ত সংস্করণে তত বেশি বিষয় অন্তর্ভুক্ত করতে পারব।

অ্যান্ড্রয়েড ১৭-এ সেরা ডেভেলপমেন্ট অভিজ্ঞতার জন্য, আমরা আপনাকে অ্যান্ড্রয়েড স্টুডিও-র সর্বশেষ প্রিভিউ (পান্ডা) ব্যবহার করার পরামর্শ দিই। একবার সবকিছু সেট আপ হয়ে গেলে, নিচে দেওয়া বিষয়গুলো আপনাকে করতে হবে:

  • নতুন SDK দিয়ে কম্পাইল করুন, CI এনভায়রনমেন্টে পরীক্ষা করুন এবং ফিডব্যাক পেজে আমাদের ট্র্যাকারে যেকোনো সমস্যা রিপোর্ট করুন।
  • আপনার বর্তমান অ্যাপটির সামঞ্জস্যতা পরীক্ষা করুন, অ্যান্ড্রয়েড ১৭-এর পরিবর্তনগুলির দ্বারা আপনার অ্যাপটি প্রভাবিত হচ্ছে কিনা তা জানুন, এবং অ্যান্ড্রয়েড ১৭ চালিত কোনো ডিভাইস বা এমুলেটরে আপনার অ্যাপটি ইনস্টল করে ব্যাপকভাবে পরীক্ষা করুন।

অ্যান্ড্রয়েড ১৭ রিলিজ চক্র জুড়ে আমরা প্রিভিউ/বিটা সিস্টেম ইমেজ এবং এসডিকে নিয়মিতভাবে আপডেট করব। একবার কোনো বিটা বিল্ড ইনস্টল করলে, পরবর্তী সমস্ত প্রিভিউ এবং বিটার জন্য ভবিষ্যতের আপডেটগুলো আপনি স্বয়ংক্রিয়ভাবে ওভার-দ্য-এয়ার (OTA) পদ্ধতিতে পেয়ে যাবেন।

সম্পূর্ণ তথ্যের জন্যঅ্যান্ড্রয়েড ১৭ ডেভেলপার সাইট পরিদর্শন করুন।

আলোচনায় যোগ দিন

আপনার মতামতই আমাদের সবচেয়ে মূল্যবান সম্পদ। আপনি ক্যানারি চ্যানেলের একজন প্রাথমিক ব্যবহারকারী হোন বা বিটা ৪-এ পরীক্ষাকারী কোনো অ্যাপ ডেভেলপার হোন, আমাদের কমিউনিটিতে যোগ দিয়ে আপনার মতামত জানানোর কথা বিবেচনা করুন। আমরা শুনছি।

    লিখেছেন:

    পড়তে থাকুন