অ্যান্ড্রয়েড 9 রিলিজ নোট

এই পৃষ্ঠাটি Android 9 রিলিজের প্রধান বৈশিষ্ট্যগুলিকে সংক্ষিপ্ত করে এবং অতিরিক্ত তথ্যের লিঙ্ক প্রদান করে৷ এই বৈশিষ্ট্যের সারাংশ এই সাইটে বৈশিষ্ট্যের ডকুমেন্টেশন অবস্থান অনুযায়ী সংগঠিত হয়. বিভাগ সরানো এবং পুনঃনামকরণের জন্য একটি গাইডের জন্য আগস্ট 2018 সাইট আপডেট দেখুন।

নির্মাণ করুন

জেনেরিক সিস্টেম ইমেজ (GSI)

একটি জেনেরিক সিস্টেম ইমেজ (GSI) হল Android ডিভাইসের জন্য সামঞ্জস্যপূর্ণ কনফিগারেশন সহ একটি সিস্টেম চিত্র। জেনেরিক সিস্টেম ইমেজ (GSI) Android 9 এর সাথে চালু হওয়া ডিভাইস এবং Android 9-এ আপগ্রেড করা ডিভাইসগুলির জন্য GSI-এর মধ্যে পার্থক্যের বিবরণ অন্তর্ভুক্ত করে।

স্থাপত্য

হার্ডওয়্যার বিমূর্তকরণ স্তর (HAL)

HIDL ফ্রেমওয়ার্ক পিছনের সামঞ্জস্য

HIDL ফ্রেমওয়ার্ক ব্যাকওয়ার্ড কম্প্যাটিবিলিটি ভেরিফিকেশন হল ফ্রেমওয়ার্কের পশ্চাদগামী সামঞ্জস্যতা যাচাই করার একটি পদ্ধতি।

গতিশীলভাবে উপলব্ধ HALs

গতিশীলভাবে উপলব্ধ HALগুলি যখন ব্যবহারে থাকে না বা প্রয়োজন হয় না তখন Android হার্ডওয়্যার সাবসিস্টেমগুলির গতিশীল শাটডাউন সমর্থন করে৷

এইচআইডিএল

HIDL মেমরি ব্লক

HIDL MemoryBlock হল একটি বিমূর্ত স্তর যা hidl_memory , HIDL @1.0::IAllocator এবং HIDL @1.0::IMapper এর উপর নির্মিত। এটি HIDL পরিষেবাগুলির জন্য ডিজাইন করা হয়েছে যেখানে একাধিক মেমরি ব্লক রয়েছে যা একটি একক মেমরি হিপ শেয়ার করে৷

ডিভাইস গাছ ওভারলে

সংকুচিত ওভারলে

ডিভাইস ট্রি টেবিল হেডারের সংস্করণ 1 ব্যবহার করার সময় Android 9 এবং উচ্চতর ডিভাইস ট্রি ব্লব ওভারলে (DTBO) ছবিতে সংকুচিত ওভারলেগুলির জন্য সমর্থন অন্তর্ভুক্ত করে।

DTO আপডেট

Android 9 এবং উচ্চতর ডিভাইস ট্রি ওভারলে (DTOs) এ সংজ্ঞায়িত বৈশিষ্ট্যগুলি পরিবর্তন করার আগে বুটলোডারকে ইউনিফাইড ডিভাইস ট্রি ব্লবকে কার্নেলে পাস করতে হবে।

DTBO ইমেজ হেডার সংস্করণ

Android 9 এবং উচ্চতর DTBO ইমেজ হেডারে একটি সংস্করণ ক্ষেত্র অন্তর্ভুক্ত করে।

DTBO যাচাইকরণ

Android 9 এবং উচ্চতর একটি DTBO পার্টিশন প্রয়োজন। SoC DT-তে নোড যোগ করতে বা বৈশিষ্ট্যগুলিতে পরিবর্তন করতে, বুটলোডারকে অবশ্যই SoC DT-এর উপর একটি ডিভাইস-নির্দিষ্ট ডিটি গতিশীলভাবে ওভারলে করতে হবে। আরও তথ্যের জন্য কম্পাইলিং এবং যাচাইকরণ দেখুন।

কার্নেল সম্মতি

অ্যান্ড্রয়েড 9 এবং উচ্চতর কারনেল, এর ইন্টারফেস এবং DTBO-এর ব্যবহারকে প্রভাবিত করে এমন প্রয়োজনীয়তাগুলি অন্তর্ভুক্ত করে৷ আরও তথ্যের জন্য, এই পৃষ্ঠাগুলি দেখুন:

বিক্রেতা NDK

ডিজাইন পরিবর্তন

Android 9 এবং পরবর্তীতে VNDK ডিজাইনের পরিবর্তন সম্পর্কে তথ্যের জন্য, এই পৃষ্ঠাগুলি দেখুন:

ABI চেকার

ABI স্থিতিশীলতা পৃষ্ঠাটি অ্যাপ্লিকেশন বাইনারি ইন্টারফেস (ABI) চেকার বর্ণনা করে, যা নিশ্চিত করে যে VNDK লাইব্রেরিতে করা পরিবর্তনগুলি ABI সম্মতি বজায় রাখে।

VNDK স্ন্যাপশট

একটি সিস্টেম ইমেজ VNDK স্ন্যাপশট ব্যবহার করে ছবি বিক্রেতার জন্য সঠিক VNDK লাইব্রেরি প্রদান করতে পারে এমনকি যখন সিস্টেম এবং ভেন্ডর ইমেজগুলি Android এর বিভিন্ন সংস্করণ থেকে তৈরি করা হয়।

ভেন্ডর ইন্টারফেস অবজেক্ট (VINTF অবজেক্ট)

ভেন্ডর ইন্টারফেস অবজেক্ট বিভাগে নিম্নলিখিত পৃষ্ঠাগুলি Android 9 এবং উচ্চতর আপডেটগুলি বর্ণনা করে:

HIDL অবচয় সময়সূচী

নিম্নলিখিত পৃষ্ঠাগুলি বর্ণনা করে যে Android কীভাবে HIDL HALগুলিকে অবমূল্যায়ন করে এবং সরিয়ে দেয়:

বুটলোডার

পণ্য পার্টিশন

অ্যান্ড্রয়েড 9 এবং উচ্চতর অ্যান্ড্রয়েড বিল্ড সিস্টেম ব্যবহার করে বিল্ডিং /product পার্টিশন সমর্থন করে। পূর্বে, অ্যান্ড্রয়েড 8.x অ্যান্ড্রয়েড বিল্ড সিস্টেম থেকে তৈরি OEM-নির্দিষ্ট উপাদানগুলির জন্য স্থান নিবেদন না করেই সিস্টেম-অন-চিপ (SoC)-নির্দিষ্ট উপাদানগুলিকে /system পার্টিশন থেকে /vendor পার্টিশনে পৃথকীকরণকে বলবৎ করেছে।

ক্যানোনিকাল বুট কারণ সম্মতি

ক্যানোনিকাল বুট কারণ পৃষ্ঠাটি Android 9 এবং উচ্চতর বুটলোডার বুট কারণ স্পেসিফিকেশনের পরিবর্তনগুলি বর্ণনা করে।

রুট হিসাবে সিস্টেম

অ্যান্ড্রয়েড 9 এবং উচ্চতর সাথে লঞ্চ হওয়া সমস্ত ডিভাইসগুলি অবশ্যই সিস্টেম-এজ-রুট ব্যবহার করতে হবে, যা ramdisk.img কে system.img (নো-রামডিস্ক নামেও পরিচিত), যা রুটএফ হিসাবে মাউন্ট করা হয়।

বুট ইমেজ হেডার সংস্করণ

অ্যান্ড্রয়েড 9 এবং উচ্চতর, বুট ইমেজ হেডারে হেডার সংস্করণ নির্দেশ করার জন্য একটি ক্ষেত্র রয়েছে। বুটলোডারকে অবশ্যই এই সংস্করণ ক্ষেত্রটি পরীক্ষা করতে হবে এবং সেই অনুযায়ী হেডারটি পার্স করতে হবে।

পুনরুদ্ধারের মধ্যে DTBO

নন-A/B ডিভাইসে রিকভারি ইমেজ এবং DTBO পার্টিশনের মধ্যে অমিলের কারণে OTA ব্যর্থতা প্রতিরোধ করতে, রিকভারি ইমেজে DTBO ইমেজ থেকে তথ্য থাকতে হবে।

প্রদর্শন

কাটআউট প্রদর্শন করুন

ডিসপ্লে কাটআউটগুলি অ্যাপ ডেভেলপারদের ইমারসিভ, এজ-টু-এজ অভিজ্ঞতা তৈরি করার অনুমতি দেয় যখন এখনও ডিভাইসের সামনে গুরুত্বপূর্ণ সেন্সরগুলির জন্য জায়গা দেয়।

প্রস্তাবনা ঘোরান

স্ক্রীন ঘূর্ণন আচরণের আপডেট অ্যান্ড্রয়েড 9 এবং উচ্চতর ডিভাইসের অবস্থান পরিবর্তন হলেও ল্যান্ডস্কেপ বা প্রতিকৃতিতে স্ক্রীন ঘূর্ণন পিন করতে ব্যবহারকারী-মুখী নিয়ন্ত্রণের জন্য সমর্থন অন্তর্ভুক্ত করে।

সিঙ্ক্রোনাইজড অ্যাপ ট্রানজিশন

সিঙ্ক্রোনাইজড অ্যাপ ট্রানজিশন নতুন অ্যাপ ট্রানজিশন অ্যানিমেশনের অনুমতি দেয়।

পাঠ্য শ্রেণিবিন্যাস (পূর্বে TEXTCLASSIFIER)

Android 9 এবং উচ্চতর একটি টেক্সট ক্লাসিফায়ার পরিষেবা অন্তর্ভুক্ত করে, যা পাঠ্য শ্রেণীবিভাগ বাস্তবায়নের প্রস্তাবিত উপায় এবং একটি ডিফল্ট পরিষেবা বাস্তবায়ন।

ওয়াইড-গামুট রঙ

অ্যান্ড্রয়েড 9 এবং উচ্চতর ওয়াইড-গামুট রঙের জন্য সমর্থন অন্তর্ভুক্ত করে, সহ:

  • উচ্চ গতিশীল পরিসীমা (HDR)
  • BT2020 কালার স্পেসে কন্টেন্ট প্রসেস করা হচ্ছে, কিন্তু শেষ-টার্গেট ডেটাস্পেস হিসেবে নয়

ওয়াইড-গামুট রঙ ব্যবহার করতে, একটি ডিভাইসের সম্পূর্ণ ডিসপ্লে স্ট্যাক (যেমন স্ক্রিন, হার্ডওয়্যার কম্পোজার, জিপিইউ) অবশ্যই ওয়াইড-গামুট রঙ বা বাফার ফর্ম্যাট সমর্থন করবে। হার্ডওয়্যার সমর্থন করলেও ওয়াইড-গ্যামুট সামগ্রীর জন্য সমর্থন দাবি করার জন্য ডিভাইসগুলির প্রয়োজন নেই৷ যাইহোক, হার্ডওয়্যারের সম্পূর্ণ সুবিধা নিতে ওয়াইড-গ্যামুট রঙ সক্রিয় করা উচিত। একটি অসামঞ্জস্যপূর্ণ ভিজ্যুয়াল অভিজ্ঞতা এড়াতে, রানটাইমের সময় ওয়াইড-গামুট রঙ বন্ধ করা উচিত নয়।

সামঞ্জস্য

অ্যান্ড্রয়েড সামঞ্জস্যের সংজ্ঞা নথি

অ্যান্ড্রয়েড 9 কম্প্যাটিবিলিটি ডেফিনিশন ডকুমেন্ট (CDD) নতুন বৈশিষ্ট্যগুলির আপডেট এবং পূর্বে প্রকাশিত কার্যকারিতার প্রয়োজনীয়তার পরিবর্তন সহ পূর্ববর্তী সংস্করণগুলিতে পুনরাবৃত্তি করে৷

সেটিংস

আরও ভালো অ্যাপ উইজেট

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

Launcher3 এর উপর ভিত্তি করে না থাকলে এই বৈশিষ্ট্যটিকে সমর্থন করার জন্য নির্মাতাদের তাদের লঞ্চার অ্যাপগুলি (যা ডিভাইসগুলির সাথে পাঠানো হয়) আপডেট করতে হবে। OEM দের তাদের ডিফল্ট লঞ্চারে নতুন উইজেট বৈশিষ্ট্য ক্ষেত্র সমর্থন করতে হবে।

উল্লেখ্য যে বৈশিষ্ট্যটি কেবলমাত্র শেষ থেকে শেষ পর্যন্ত কাজ করে যখন লঞ্চাররা এটিকে প্রত্যাশিতভাবে প্রয়োগ করে। AOSP একটি নমুনা বাস্তবায়ন অন্তর্ভুক্ত. প্রদত্ত নমুনা কোডের জন্য AOSP চেঞ্জ-আইডি Iccd6f965fa3d61992244a365efc242122292c0ca দেখুন।

প্যাকেজ ইনস্টলারদের ডিভাইসের অবস্থা পরিবর্তনের বিজ্ঞপ্তি

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

platform/frameworks/base অধীনে ডিভাইসের অবস্থা পরিবর্তন বিজ্ঞপ্তির উৎস কোডটি নিম্নলিখিত স্থানে অবস্থিত:

  • api/system-current.txt
  • core/java/android/content/Intent.java
  • core/res/AndroidManifest.xml
  • services/core/java/com/android/server/am/ActivityManagerService.java

তথ্য আর্কিটেকচার

সেটিংস অ্যাপের তথ্য আর্কিটেকচারে পরিবর্তনগুলি আরও কার্যকারিতা এবং সহজ বাস্তবায়ন প্রদান করে৷

টেস্ট

অ্যাটেস্ট

Atest কমান্ড লাইন টুল আপনাকে স্থানীয়ভাবে অ্যান্ড্রয়েড পরীক্ষাগুলি তৈরি, ইনস্টল এবং চালানোর অনুমতি দেয়, ট্রেড ফেডারেশন টেস্ট হার্নেস কমান্ড লাইন বিকল্পগুলির জ্ঞানের প্রয়োজন ছাড়াই খুব দ্রুত পরীক্ষা পুনরায় চালানো হয়।

সামঞ্জস্য পরীক্ষা স্যুট

CTS ডাউনলোড

অ্যান্ড্রয়েড 9 সমর্থনকারী সামঞ্জস্য পরীক্ষা স্যুট (CTS) প্যাকেজগুলি CTS ডাউনলোড পৃষ্ঠায় উপলব্ধ। অন্তর্ভুক্ত পরীক্ষার জন্য সোর্স কোড ওপেন-সোর্স ট্রিতে android-cts-9.0_r1 ট্যাগের সাথে সিঙ্ক করা যেতে পারে।

CTS বিকল্প

Android 9 এর জন্য, CTS v2 নিম্নলিখিত কমান্ড এবং যুক্তি লাভ করে:

  • run retry সমস্ত পরীক্ষাগুলি যেগুলি ব্যর্থ হয়েছে বা পূর্ববর্তী সেশনগুলি থেকে কার্যকর করা হয়নি সেগুলি পুনরায় চেষ্টা করুন৷
  • '--shard-count shards একটি CTS প্রদত্ত সংখ্যক স্বাধীন অংশে চলে, সমান্তরালভাবে একাধিক ডিভাইসে চালানোর জন্য।

উপরন্তু, আগের অনথিভুক্ত কমান্ড --retry-type একই CTS v2 কনসোল কমান্ড রেফারেন্সে যোগ করা হয়েছে।

নিরাপদ উপাদান (SE) পরিষেবা

সিকিউর এলিমেন্ট পরিষেবা গ্লোবাল প্ল্যাটফর্ম-সমর্থিত সুরক্ষিত উপাদানগুলির জন্য ডিভাইসগুলির একটি SE HAL বাস্তবায়ন আছে কিনা এবং তা হলে কতগুলি তা সনাক্ত করে পরীক্ষা করে। এটি API এবং অন্তর্নিহিত সুরক্ষিত উপাদান বাস্তবায়ন পরীক্ষা করার ভিত্তি হিসাবে ব্যবহৃত হয়।

সেন্সর ফিউশন বক্স

সেন্সর ফিউশন বক্সটি ক্যামেরা ইমেজ টেস্ট স্যুট (ক্যামেরা আইটিএস) সেন্সর ফিউশন পরীক্ষা এবং মাল্টি-ক্যামেরা সিঙ্ক পরীক্ষায় ব্যবহৃত হয় এবং অ্যান্ড্রয়েড ফোনের জন্য ক্যামেরা এবং অন্যান্য সেন্সরগুলির টাইমস্ট্যাম্প নির্ভুলতা পরিমাপের জন্য একটি সামঞ্জস্যপূর্ণ পরীক্ষার পরিবেশ প্রদান করে। আরও তথ্যের জন্য এই পৃষ্ঠাগুলি দেখুন:

আইটিএস-ইন-এ-বক্স দেখার বিস্তৃত ক্ষেত্র

আইটিএস-ইন-এ-বক্সের বিস্তৃত ক্ষেত্র হল একটি স্বয়ংক্রিয় সিস্টেম যা ক্যামেরা আইটিএস-এ ওয়াইড ফিল্ড অফ ভিউ (WFoV) এবং রেগুলার ফিল্ড অফ ভিউ (RFoV) ক্যামেরা সিস্টেম উভয় পরীক্ষা করার জন্য ডিজাইন করা হয়েছে।

ভেন্ডর টেস্ট স্যুট

হোস্ট কন্ট্রোলার আর্কিটেকচার

ভেন্ডর টেস্ট স্যুট (VTS) হোস্ট কন্ট্রোলার আর্কিটেকচার হল VTS টেস্ট ফ্রেমওয়ার্কের আর্কিটেকচার যা এর ক্লাউড-ভিত্তিক টেস্ট-সার্ভিং পরিষেবার সাথে একীভূত।

পরিষেবার নাম-সচেতন HAL পরীক্ষা

VTS পরিষেবার নাম-সচেতন HAL টেস্টিং যে ডিভাইসে VTS পরীক্ষা চলছে তার উপর ভিত্তি করে একটি প্রদত্ত HAL উদাহরণের পরিষেবার নাম পেতে সমর্থন করে।

HAL পরীক্ষাযোগ্যতা পরীক্ষা

VTS HAL টেস্টিবিলিটি চেকের মধ্যে ডিভাইস কনফিগারেশন ব্যবহার করার জন্য একটি রানটাইম পদ্ধতি রয়েছে যা শনাক্ত করতে যে ডিভাইস টার্গেটের জন্য কোন VTS পরীক্ষাগুলি বাদ দেওয়া উচিত।

স্বয়ংক্রিয় পরীক্ষার পরিকাঠামো

AOSP জেনেরিক সিস্টেম ইমেজ (GSI) চালিত অংশীদার ডিভাইসগুলিতে VTS, CTS বা অন্যান্য পরীক্ষার স্বয়ংক্রিয় পরীক্ষার জন্য স্বয়ংক্রিয় পরীক্ষার অবকাঠামো হল একটি VTS পরিকাঠামো।

ডিবাগিং

উন্নত টেলিমেট্রি

অ্যান্ড্রয়েডে, টেলিমেট্রি হল ডিভাইস, অ্যান্ড্রয়েড সিস্টেম এবং অ্যাপস সম্পর্কে স্বয়ংক্রিয়ভাবে ব্যবহার এবং ডায়াগনস্টিক তথ্য সংগ্রহ করার প্রক্রিয়া। অ্যান্ড্রয়েডের পূর্ববর্তী সংস্করণগুলিতে, টেলিমেট্রি স্ট্যাক সীমিত ছিল এবং সিস্টেমের নির্ভরযোগ্যতা এবং ডিভাইস বা অ্যাপের সমস্যাগুলি সনাক্ত এবং সমাধান করার জন্য প্রয়োজনীয় তথ্য ক্যাপচার করেনি। এর ফলে সমস্যার মূল কারণ চিহ্নিত করা কঠিন, যদি অসম্ভব না হয়।

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

আরো বিস্তারিত জানার জন্য, frameworks/base/cmds/statsd/ দেখুন।

নিরাপত্তা বৈশিষ্ট্য

অ্যাপ সাইনিং

v3 APK স্বাক্ষর স্কিম APK কী ঘূর্ণন সমর্থন করে।

বায়োমেট্রিক সমর্থন

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

গতিশীল বিশ্লেষণ

অ্যান্ড্রয়েড 9 আরও শোষণ প্রশমন এবং বিশ্লেষণ সরঞ্জামগুলির জন্য সমর্থন অন্তর্ভুক্ত করে৷

কন্ট্রোল ফ্লো ইন্টিগ্রিটি (CFI)

কন্ট্রোল ফ্লো ইন্টিগ্রিটি (CFI) হল একটি নিরাপত্তা ব্যবস্থা যা একটি সংকলিত বাইনারির মূল কন্ট্রোল ফ্লো গ্রাফে পরিবর্তনগুলিকে নিষিদ্ধ করে, যা এই ধরনের আক্রমণগুলিকে উল্লেখযোগ্যভাবে কঠিন করে তোলে।

কার্নেল সিএফআই

সিস্টেম CFI ছাড়াও, যা ডিফল্টরূপে সক্রিয় থাকে, Android 9 এবং উচ্চতর কার্নেল কন্ট্রোল ফ্লো ইন্টিগ্রিটি (CFI) এর জন্য সমর্থন অন্তর্ভুক্ত করে।

এনক্রিপশন

ফাইল-ভিত্তিক এনক্রিপশন

ফাইল-ভিত্তিক এনক্রিপশন (FBE) গ্রহণযোগ্য স্টোরেজের সাথে কাজ করার জন্য আপডেট করা হয়েছে। নতুন ডিভাইসে ফুল-ডিস্ক এনক্রিপশনের পরিবর্তে ফাইল-ভিত্তিক এনক্রিপশন ব্যবহার করা উচিত।

মেটাডেটা এনক্রিপশন

Android 9 এবং উচ্চতর মেটাডেটা এনক্রিপশনের জন্য সমর্থন অন্তর্ভুক্ত যেখানে হার্ডওয়্যার সমর্থন উপস্থিত রয়েছে। মেটাডেটা এনক্রিপশনের সাথে, বুট করার সময় উপস্থিত একটি একক কী ফাইল-ভিত্তিক-এনক্রিপশন ব্যবহার করে কোনো এনক্রিপ্ট না করা বিষয়বস্তু এনক্রিপ্ট করতে।

কীস্টোর

অ্যান্ড্রয়েড 9 এবং উচ্চতর কিমাস্টার 4 অন্তর্ভুক্ত, যার এই বৈশিষ্ট্যগুলি রয়েছে।

স্ট্রংবক্স

Android 9 এবং উচ্চতর এন্ড্রয়েড কীস্টোর কীগুলির জন্য সমর্থন অন্তর্ভুক্ত করে যা একটি এম্বেডেড সুরক্ষিত উপাদান (SE) এর মতো উচ্চ-নিরাপত্তা অ্যাপ্লিকেশনের জন্য নির্মিত একটি শারীরিকভাবে পৃথক CPU-তে ব্যবহার করা হয়। StrongBox Keymaster হল আলাদা সুরক্ষিত হার্ডওয়্যারে Keymaster HAL-এর একটি বাস্তবায়ন। একটি শক্তিশালী বক্স আছে:

  • বিচ্ছিন্ন সিপিইউ
  • অবিচ্ছেদ্য সুরক্ষিত স্টোরেজ
  • উচ্চ মানের সত্য র্যান্ডম সংখ্যা জেনারেটর
  • ট্যাম্পার-প্রতিরোধী প্যাকেজিং
  • সাইড-চ্যানেল প্রতিরোধ

নিরাপদ কী আমদানি

Keymaster 4 এ নিরাপদে একটি কী আমদানি করতে, একটি কী তৈরি করা অফ-ডিভাইস অনুমোদনের একটি স্পেসিফিকেশন সহ এনক্রিপ্ট করা হয় যা নির্ধারণ করে যে কীটি কীভাবে ব্যবহার করা যেতে পারে।

3DES সমর্থন

Keymaster 4 3DES ব্যবহার করে এমন লিগ্যাসি সিস্টেমের সাথে সামঞ্জস্যের জন্য 3DES অন্তর্ভুক্ত করে।

সংস্করণ বাঁধাই

Treble এর মডুলার স্ট্রাকচারকে সমর্থন করতে এবং boot.imgsystem.img এর বাইন্ডিং ভাঙতে, Keymaster 4 প্রতিটি পার্টিশনের জন্য আলাদা প্যাচ লেভেলের জন্য কী সংস্করণ বাইন্ডিং মডেল পরিবর্তন করেছে। এটি প্রতিটি পার্টিশনকে স্বাধীনভাবে আপডেট করার অনুমতি দেয় এবং এখনও রোলব্যাক সুরক্ষা প্রদান করে।

অ্যান্ড্রয়েড সুরক্ষিত নিশ্চিতকরণ API

সমর্থিত ডিভাইসগুলি যেগুলি অ্যান্ড্রয়েড 9 ইনস্টলের সাথে লঞ্চ হয় সেগুলি ডেভেলপারদের Android Protected Confirmation API ব্যবহার করার ক্ষমতা দেয়৷ এই API এর সাথে, অ্যাপগুলি ব্যবহারকারীকে একটি প্রম্পট প্রদর্শন করতে ConfirmationPrompt এর একটি উদাহরণ ব্যবহার করতে পারে, তাদের একটি সংক্ষিপ্ত বিবৃতি অনুমোদন করতে বলে৷ এই বিবৃতিটি একটি অ্যাপকে পুনরায় নিশ্চিত করার অনুমতি দেয় যে ব্যবহারকারী একটি সংবেদনশীল লেনদেন সম্পূর্ণ করতে চান, যেমন একটি অর্থপ্রদান করা।

SELinux

প্রতি-অ্যাপ SELinux স্যান্ডবক্স

অ্যাপ্লিকেশান স্যান্ডবক্সে নতুন সুরক্ষা এবং পরীক্ষার কেস রয়েছে যাতে নিশ্চিত করা যায় যে সমস্ত অ-সুবিধাবিহীন অ্যাপগুলি লক্ষ্য করে Android 9 এবং উচ্চতর স্বতন্ত্র SELinux স্যান্ডবক্সগুলিকে লক্ষ্য করে।

Treble SELinux পরিবর্তন

অ্যান্ড্রয়েড 9 এবং উচ্চতর সংস্করণে Treble SELinux-এর আপডেটগুলি SELinux বিভাগে বিভিন্ন পৃষ্ঠায় নথিভুক্ত করা হয়েছে।

বিক্রেতা init

ভেন্ডর init বিক্রেতা -নির্দিষ্ট অনুমতি সহ /vendor কমান্ড চালানোর জন্য একটি পৃথক SELinux ডোমেন ব্যবহার করে Treble সিস্টেম/বিক্রেতার বিভক্ত ছিদ্র বন্ধ করে।

সিস্টেম বৈশিষ্ট্য

অ্যান্ড্রয়েড 9 সিস্টেমের বৈশিষ্ট্যগুলিকে অপ্রয়োজনীয়ভাবে system এবং vendor পার্টিশনের মধ্যে ভাগ করা থেকে সীমাবদ্ধ করে এবং ভাগ করা সিস্টেম বৈশিষ্ট্যগুলির মধ্যে সামঞ্জস্যতা নিশ্চিত করার জন্য একটি পদ্ধতি প্রদান করে।

SELinux অ্যাট্রিবিউট পরীক্ষা

Android 9-এ নতুন বিল্ড-টাইম পরীক্ষা রয়েছে যা নিশ্চিত করে যে নির্দিষ্ট অবস্থানের সমস্ত ফাইলের উপযুক্ত বৈশিষ্ট্য রয়েছে৷ উদাহরণস্বরূপ, sysfs এর সমস্ত ফাইলের প্রয়োজনীয় sysfs_type বৈশিষ্ট্য রয়েছে।

অডিও

উচ্চ-রেজোলিউশন অডিও প্রভাব

উচ্চ-রেজোলিউশনের অডিও ইফেক্টের আপডেটের মধ্যে অন্তর্ভুক্ত প্রভাব প্রক্রিয়াকরণকে int16 থেকে ফ্লোট ফরম্যাটে রূপান্তর করা এবং একই সাথে ক্লায়েন্ট আউটপুট ট্র্যাক, সর্বাধিক ক্লায়েন্ট/সার্ভার মেমরি এবং মোট মিশ্র ট্র্যাক বৃদ্ধি করা।

ক্যামেরা

বাহ্যিক ইউএসবি ক্যামেরা

অ্যান্ড্রয়েড 9 এবং উচ্চতর স্ট্যান্ডার্ড অ্যান্ড্রয়েড ক্যামেরা 2 এপিআই এবং ক্যামেরা HIDL ইন্টারফেস ব্যবহার করে প্লাগ-এন্ড-প্লে ইউএসবি ক্যামেরা (অর্থাৎ ওয়েবক্যাম) ব্যবহার করে সমর্থন করে।

মোশন ট্র্যাকিং

ক্যামেরা ডিভাইসগুলি মোশন ট্র্যাকিং ক্ষমতার বিজ্ঞাপন দিতে পারে।

মাল্টি-ক্যামেরা সমর্থন

মাল্টি-ক্যামেরা সমর্থনে একই দিকে নির্দেশ করা দুই বা ততোধিক শারীরিক ক্যামেরা ডিভাইসের সমন্বয়ে গঠিত একটি নতুন লজিক্যাল ক্যামেরা ডিভাইসের মাধ্যমে মাল্টি-ক্যামেরা ডিভাইসের জন্য API সমর্থন অন্তর্ভুক্ত।

সেশন প্যারামিটার

সেশন প্যারামিটারগুলি বাস্তবায়ন করা ক্যামেরা ক্লায়েন্টকে ক্যাপচার সেশন প্রারম্ভিক পর্বের অংশ হিসাবে ব্যয়বহুল অনুরোধের পরামিতিগুলির একটি উপসেট সক্রিয়ভাবে কনফিগার করতে সক্ষম করে বিলম্ব কমাতে পারে।

একক প্রযোজক, একাধিক ভোক্তা বাফার

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

সংযোগ

কলিং এবং মেসেজিং

ডেটা প্ল্যান বাস্তবায়ন করুন

Android 9 এবং উচ্চতর সাবস্ক্রিপশনপ্ল্যান API ব্যবহার করে ডেটা প্ল্যান বাস্তবায়নকারী ক্যারিয়ারদের জন্য উন্নত সমর্থন প্রদান করে।

তৃতীয় পক্ষের কলিং অ্যাপ

অ্যান্ড্রয়েড 9 এবং উচ্চতর এমন API সরবরাহ করে যা তৃতীয় পক্ষের (3P) কলিং অ্যাপগুলিকে সমসাময়িক ইনকামিং ক্যারিয়ার কলগুলি পরিচালনা করতে এবং সিস্টেম কল লগে কলগুলি লগ করার অনুমতি দেয়৷

বাহক

ক্যারিয়ার সনাক্তকরণ

Android 9 এ, AOSP ক্যারিয়ার সনাক্তকরণে সহায়তা করার জন্য একটি ক্যারিয়ার আইডি ডাটাবেস যুক্ত করে। ডাটাবেস ক্যারিয়ার সনাক্ত করার একটি সাধারণ উপায় প্রদান করে ডুপ্লিকেট লজিক এবং খণ্ডিত অ্যাপ অভিজ্ঞতা কমিয়ে দেয়।

eSIM

এমবেডেড সিম (eSIM বা eUICC) হল সর্বশেষ প্রযুক্তি যা মোবাইল ব্যবহারকারীদের একটি ক্যারিয়ার প্রোফাইল ডাউনলোড করতে এবং একটি ফিজিক্যাল সিম কার্ড ছাড়াই ক্যারিয়ারের পরিষেবা সক্রিয় করতে দেয়৷ Android 9 এবং উচ্চতর সংস্করণে, Android ফ্রেমওয়ার্ক eSIM অ্যাক্সেস করার জন্য এবং eSIM-এ সাবস্ক্রিপশন প্রোফাইল পরিচালনা করার জন্য স্ট্যান্ডার্ড API প্রদান করে। আরও তথ্যের জন্য, দেখুন:

IMS সেটিংসের জন্য মাল্টি-সিম সমর্থন

Android 9 এবং উচ্চতর আইপি মাল্টিমিডিয়া সাবসিস্টেম (IMS) এর জন্য ব্যবহারকারী সেটিংসে উন্নতি প্রদান করে। আপনি সমস্ত সদস্যতা জুড়ে এই সেটিংস ভাগ করার পরিবর্তে প্রতি-সাবস্ক্রিপশন ভিত্তিতে ভয়েসওভার LTE (VoLTE), ভিডিও কলিং এবং Wi-Fi কলিং সেট আপ করতে পারেন৷

সিম রাষ্ট্র সম্প্রচার

Android 9 এবং উচ্চতর তে, Intent.ACTION_SIM_STATE_CHANGED বন্ধ করা হয়েছে, এবং কার্ড স্টেট এবং কার্ড অ্যাপ্লিকেশান স্টেটের জন্য দুটি পৃথক সম্প্রচার যোগ করা হয়েছে, TelephonyManager.ACTION_SIM_CARD_STATE_CHANGED এবং TelephonyManager.ACTION_SIM_APPLICATION_STATE_CHANGED

এই পরিবর্তনগুলির সাথে, যে সমস্ত রিসিভারগুলি শুধুমাত্র একটি কার্ড উপস্থিত আছে কিনা তা জানতে হবে তাদের অ্যাপ্লিকেশনের অবস্থার পরিবর্তনগুলি শুনতে হবে না এবং যে সমস্ত রিসিভারগুলি শুধুমাত্র কার্ড অ্যাপ্লিকেশনগুলি প্রস্তুত কিনা তা জানতে হবে তাদের কার্ডের অবস্থার পরিবর্তনগুলি শুনতে হবে না৷

দুটি নতুন সম্প্রচার হল @SystemApis এবং স্টিকি নয়। শুধুমাত্র READ_PRIVILEGED_PHONE_STATE অনুমতি সহ প্রাপক সম্প্রচার গ্রহণ করতে পারবেন৷

আপনি যখন ডিভাইসটি আনলক করেন তখন উদ্দেশ্যগুলি পুনরায় সম্প্রচার করা হয় না। আপনি আনলক করার আগে প্রেরিত সম্প্রচারের উপর নির্ভর করে এমন রিসিভারদের হয় directBootAware ব্যবহার করতে হবে, অথবা ব্যবহারকারীকে আনলক করার পরে তাদের অবশ্যই অবস্থা জিজ্ঞাসা করতে হবে। TelephonyManager, getSimCardState() এবং getSimApplicationState() এ সংশ্লিষ্ট API ব্যবহার করে রাজ্যগুলিকে জিজ্ঞাসা করা যেতে পারে।

ওয়াই-ফাই

ক্যারিয়ার ওয়াই-ফাই

ক্যারিয়ার ওয়াই-ফাই বৈশিষ্ট্যটি ডিভাইসগুলিকে স্বয়ংক্রিয়ভাবে ক্যারিয়ার-বাস্তবায়িত Wi-Fi নেটওয়ার্কগুলির সাথে সংযুক্ত হতে দেয়৷ উচ্চ যানজটের ক্ষেত্রে বা স্টেডিয়াম বা ভূগর্ভস্থ ট্রেন স্টেশনের মতো ন্যূনতম সেল কভারেজ সহ, ক্যারিয়ার ওয়াই-ফাই সংযোগ উন্নত করতে এবং ট্র্যাফিক বন্ধ করতে সহায়তা করে।

MAC র্যান্ডমাইজেশন

MAC র্যান্ডমাইজেশন ডিভাইসগুলিকে র্যান্ডম MAC ঠিকানাগুলি ব্যবহার করতে দেয় যখন নতুন নেটওয়ার্কগুলির জন্য অনুসন্ধান করার সময় বর্তমানে একটি নেটওয়ার্কের সাথে যুক্ত নয়। অ্যান্ড্রয়েড 9 এবং উচ্চতর সংস্করণে, একটি বিকাশকারী বিকল্প সক্রিয় করা যেতে পারে যাতে একটি ডিভাইসকে একটি এলোমেলো MAC ঠিকানা ব্যবহার করার জন্য একটি Wi-Fi নেটওয়ার্কের সাথে সংযোগ করা হয়৷

স্বয়ংক্রিয়ভাবে Wi-Fi চালু করুন

ওয়াই-ফাই স্বয়ংক্রিয়ভাবে চালু করার বৈশিষ্ট্যটি সক্ষম হলে, যখনই ডিভাইসটি পর্যাপ্ত উচ্চ আপেক্ষিক প্রাপ্ত সংকেত শক্তি নির্দেশক (RSSI) সহ একটি সংরক্ষিত Wi-Fi নেটওয়ার্কের কাছাকাছি থাকে তখন Wi-Fi স্বয়ংক্রিয়ভাবে পুনরায় সক্ষম হয়৷

ওয়াই-ফাই রাউন্ড ট্রিপ সময়

Wi-Fi রাউন্ড ট্রিপ টাইম (RTT) ডিভাইসগুলিকে অন্যান্য সহায়ক ডিভাইসগুলির দূরত্ব পরিমাপ করার অনুমতি দেয়, সেগুলি অ্যাক্সেস পয়েন্ট (APs) হোক বা Wi-Fi সচেতন সহকর্মী (যদি ডিভাইসে Wi-Fi সচেতনতা সমর্থিত হয়)। এই বৈশিষ্ট্যটি IEEE 802.11mc প্রোটোকলের উপর নির্মিত, এবং অ্যাপগুলিকে উন্নত অবস্থান নির্ভুলতা এবং সচেতনতা ব্যবহার করতে সক্ষম করে৷

Wi-Fi স্কোরিং উন্নতি

উন্নত Wi-Fi স্কোরিং মডেলগুলি দ্রুত এবং সঠিকভাবে নির্ধারণ করে যে কখন একটি ডিভাইস একটি সংযুক্ত Wi-Fi নেটওয়ার্ক থেকে প্রস্থান করবে বা একটি নতুন Wi-Fi নেটওয়ার্কে প্রবেশ করবে৷ এই মডেলগুলি সংযোগের ফাঁক এড়িয়ে ব্যবহারকারীদের জন্য একটি নির্ভরযোগ্য এবং নির্বিঘ্ন অভিজ্ঞতা প্রদান করে।

config.xml রিসোর্সে RSSI মান পর্যালোচনা করুন এবং টিউন করুন, বিশেষ করে নিম্নলিখিতগুলি:

  • config_wifi_framework_wifi_score_bad_rssi_threshold_5GHz
  • config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz
  • config_wifi_framework_wifi_score_bad_rssi_threshold_24GHz
  • config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz

Wi-Fi STA/AP সঙ্গতি

ওয়াই-ফাই STA/AP কনকারেন্সি হল ডিভাইসগুলির জন্য স্টেশন (STA) এবং অ্যাক্সেস পয়েন্ট (AP) মোডে একযোগে কাজ করার ক্ষমতা৷ ডুয়াল ব্যান্ড সিমলেটেনাস (ডিবিএস) ওয়াই-ফাই সমর্থনকারী ডিভাইসগুলির জন্য, এটি কোনও ব্যবহারকারী হটস্পট (সফ্টএপি) সক্ষম করতে চাইলে STA ওয়াই-ফাই ব্যাহত না করার মতো ক্ষমতাগুলি খুলে দেয়৷

WiFiStateMachine উন্নতি

WifiStateMachine হল প্রধান শ্রেণী যা Wi-Fi কার্যকলাপ নিয়ন্ত্রণ করতে, ব্যবহারকারীর ইনপুট সমন্বয় করতে (অপারেটিং মোড: হটস্পট, স্ক্যান, সংযোগ বা বন্ধ) এবং Wi-Fi নেটওয়ার্ক ক্রিয়াকলাপ (যেমন স্ক্যানিং বা সংযোগ) নিয়ন্ত্রণ করতে ব্যবহৃত হয়।

অ্যান্ড্রয়েড 9 এবং উচ্চতর সংস্করণে, Wi-Fi ফ্রেমওয়ার্ক কোড এবং WifiStateMachine এর বাস্তবায়ন পুনরায় আর্কিটেক্ট করা হয়েছে, যার ফলে কোডের আকার হ্রাস করা হয়েছে, Wi-Fi নিয়ন্ত্রণের যুক্তিকে অনুসরণ করা সহজ, উন্নত নিয়ন্ত্রণ গ্রানুলারিটি এবং ইউনিট পরীক্ষার কভারেজ এবং গুণমান বৃদ্ধি পেয়েছে। .

একটি উচ্চ স্তরে, WifiStateMachine ওয়াই-ফাইকে চারটি অবস্থার একটিতে থাকার অনুমতি দেয়:

  • ক্লায়েন্ট মোড (সংযোগ এবং স্ক্যান করতে পারেন)
  • শুধুমাত্র মোড স্ক্যান করুন
  • SoftAP মোড (Wi-Fi হটস্পট)
  • অক্ষম (ওয়াই-ফাই সম্পূর্ণরূপে বন্ধ)

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

Wi-Fi অনুমতি আপডেট

Android 9 এবং উচ্চতর সংস্করণে, CHANGE_WIFI_STATE অ্যাপের অনুমতি ডিফল্টরূপে সক্রিয় থাকে। আপনি সেটিংস > অ্যাপ্লিকেশান এবং বিজ্ঞপ্তি > বিশেষ অ্যাপ অ্যাক্সেস > ওয়াই-ফাই নিয়ন্ত্রণে সেটিংস পৃষ্ঠায় যেকোনো অ্যাপের অনুমতি অক্ষম করতে পারেন।

CHANGE_WIFI_STATE অনুমতি দেওয়া হয়নি এমন ক্ষেত্রে অ্যাপগুলিকে অবশ্যই পরিচালনা করতে সক্ষম হতে হবে৷

এই আচরণটি যাচাই করতে, রোবোইলেক্ট্রিক এবং ম্যানুয়াল পরীক্ষা চালান।

ম্যানুয়াল পরীক্ষার জন্য:

  1. সেটিংস > অ্যাপ ও বিজ্ঞপ্তি > বিশেষ অ্যাপ অ্যাক্সেস > ওয়াই-ফাই নিয়ন্ত্রণে যান।
  2. আপনার অ্যাপের অনুমতি নির্বাচন করুন এবং বন্ধ করুন।
  3. যাচাই করুন যে আপনার অ্যাপটি এমন পরিস্থিতি পরিচালনা করতে পারে যেখানে CHANGE_WIFI_STATE অনুমতি দেওয়া হয়নি।

WPS অবচয়

নিরাপত্তাজনিত সমস্যার কারণে, WiFiManager এ Wi-Fi সুরক্ষিত সেটআপ (WPS) Android 9 এবং উচ্চতর সংস্করণে বন্ধ এবং অক্ষম করা হয়েছে। যাইহোক, WiFiDirect এখনও WPA আবেদনকারীতে WPS ব্যবহার করে।

গ্রাফিক্স

বাস্তবায়ন

Vulkan 1.1 API

অ্যান্ড্রয়েড 9 এবং উচ্চতর ভলকান 1.1 গ্রাফিক্স API বাস্তবায়নে সমর্থন করে।

উইন্ডো ট্রানজিশন ট্রেসিংয়ের জন্য WinScope টুল

অ্যান্ড্রয়েড 9 এবং উচ্চতর উইন্ডো ট্রানজিশন ট্রেস করার জন্য WinScope টুল অন্তর্ভুক্ত করে। WinScope পরিবর্তনের সময় এবং পরে উইন্ডো ম্যানেজার অবস্থা রেকর্ড এবং বিশ্লেষণ করার জন্য অবকাঠামো এবং সরঞ্জাম সরবরাহ করে। এটি একটি ট্রেস ফাইলে সমস্ত প্রাসঙ্গিক উইন্ডো ম্যানেজার স্টেট রেকর্ড করার সময়, উইন্ডো ট্রানজিশনের মাধ্যমে রেকর্ডিং এবং ধাপে ধাপে যাওয়ার অনুমতি দেয়। আপনি এই ডেটা পুনরায় প্লে করতে এবং ট্রানজিশনের মাধ্যমে ধাপে ধাপে ব্যবহার করতে পারেন।

WinScope টুল সোর্স কোডটি platform/development/tools/winscope অবস্থিত।

মিথস্ক্রিয়া

স্বয়ংচালিত অডিও

অটোমোটিভ অডিও অটোমোটিভ-সম্পর্কিত অ্যান্ড্রয়েড বাস্তবায়নের জন্য অডিও আর্কিটেকচার বর্ণনা করে।

নিউরাল নেটওয়ার্ক (NN) HAL বিভিন্ন এক্সিলারেটরের একটি বিমূর্ততা সংজ্ঞায়িত করে। এই এক্সিলারেটরের ড্রাইভারদের অবশ্যই এই এইচএএল মেনে চলতে হবে।

যানবাহন HAL

গাড়ির বৈশিষ্ট্য গাড়ির HAL ইন্টারফেসে পরিবর্তনগুলি বর্ণনা করে৷

GNSS স্যাটেলাইট নির্বাচন

নতুন গ্লোবাল নেভিগেশন স্যাটেলাইট সিস্টেম (GNSS) HALs (v1.1+) এর সাথে কাজ করার সময়, Android Framework Android সেটিংস নিরীক্ষণ করে। অংশীদাররা Google Play পরিষেবা বা অন্যান্য সিস্টেম আপডেটগুলি থেকে সেটিংস পরিবর্তন করতে পারে৷ এই সেটিংস GNSS HAL কে বলে যে কিছু GNSS স্যাটেলাইট ব্যবহার করা উচিত নয়। ক্রমাগত GNSS স্যাটেলাইট বা নক্ষত্রমণ্ডল ত্রুটির ক্ষেত্রে এটি কার্যকর হতে পারে, বা GNSS HAL বাস্তবায়নের সমস্যাগুলির জন্য আরও দ্রুত প্রতিক্রিয়া জানাতে পারে যা বিভিন্ন সময় সিস্টেম এবং বাহ্যিক ইভেন্টগুলি, যেমন লিপ-সেকেন্ড, দিন বা সপ্তাহের নম্বর রোলওভারগুলি ব্যবহার করে নক্ষত্রকে মিশ্রিত করার সময় ঘটতে পারে। .

GNSS হার্ডওয়্যার মডেল

Android 9-এ, GNSS HAL সংস্করণ 1.1 বা উচ্চতর প্ল্যাটফর্মে হার্ডওয়্যার API সম্পর্কে তথ্য পাঠাতে পারে। প্ল্যাটফর্মটিকে IGnssCallback ইন্টারফেস বাস্তবায়ন করতে হবে এবং HAL-এ একটি হ্যান্ডেল পাঠাতে হবে। GNSS HAL LocationManager#getGnssHardwareModelName() পদ্ধতির মাধ্যমে হার্ডওয়্যার মডেলের তথ্য পাস করে। ডিভাইস নির্মাতাদের তাদের GNSS HAL প্রদানকারীদের সাথে কাজ করা উচিত যেখানে সম্ভব এই তথ্য প্রদান করার জন্য।

অনুমতি

বিবেচনামূলক অ্যাক্সেস নিয়ন্ত্রণ আপডেট কনফিগার করা হচ্ছে

কনফিগারিং ডিসক্রিশনারি অ্যাকসেস কন্ট্রোল (DAC) ফাইল সিস্টেমের ক্ষমতা প্রসারিত করার জন্য Android IDs (AIDs) পদ্ধতির আপডেট ধারণ করে।

বিশেষাধিকারপ্রাপ্ত অ্যাপের অনুমতিগুলিকে হোয়াইটলিস্ট করা

অ্যান্ড্রয়েড 9 এবং উচ্চতর সংস্করণে, যদি এমন অনুমতি থাকে যা অস্বীকার করা উচিত, তবে পূর্ববর্তী প্রকাশগুলিতে ব্যবহৃত permission ট্যাগের পরিবর্তে deny-permission ট্যাগ ব্যবহার করতে XML সম্পাদনা করুন।

ডেটা

ব্যান্ডউইথ অনুমান উন্নতি

Android 9 ব্যান্ডউইথ অনুমানের জন্য উন্নত সমর্থন প্রদান করে। অ্যান্ড্রয়েড অ্যাপগুলি ভিডিও কল এবং ভিডিও স্ট্রিমিংয়ের জন্য আরও উপযুক্ত রেজোলিউশন সেটিংস করতে পারে যদি তারা উপলব্ধ ডেটা ব্যান্ডউইথ অ্যাক্সেস করতে পারে।

অ্যান্ড্রয়েড 6.0 বা উচ্চতর সংস্করণে চলমান ডিভাইসগুলিতে, একটি সেলুলার নেটওয়ার্কের জন্য একটি ব্যান্ডউইথ অনুমান চান এমন একজন কলার ConnectivityManager.requestBandwidthUpdate() কল করে এবং ফ্রেমওয়ার্কটি একটি আনুমানিক ডাউনলিঙ্ক ব্যান্ডউইথ প্রদান করতে পারে

কিন্তু 9 বা উচ্চতর ডিভাইসে চলমান, আনুমানিক ব্যান্ডউইথের একটি উল্লেখযোগ্য পরিবর্তন হলে onCapabilitiesChanged() কলব্যাক স্বয়ংক্রিয়ভাবে ফায়ার হয়ে যায় এবং requestBandwidthUpdate() কল করা একটি নো-অপ; সংশ্লিষ্ট getLinkDownstreamBandwidthKbps() এবং getLinkUpstreamBandwidthKbps() ফিজিক্যাল লেয়ার দ্বারা প্রদত্ত আপডেট করা তথ্য দ্বারা পরিপূর্ণ।

এছাড়াও, ডিভাইসগুলি ServiceState.getCellBandwidths() এর মাধ্যমে LTE সেল ব্যান্ডউইথ পরীক্ষা করতে পারে৷ এটি অ্যাপ্লিকেশনগুলিকে একটি প্রদত্ত ঘরে কত ব্যান্ডউইথ (ফ্রিকোয়েন্সি) উপলব্ধ তা নির্ধারণ করতে দেয়৷ সেল ব্যান্ডউইথ তথ্য একটি লুকানো মেনুর মাধ্যমে পাওয়া যায় যাতে ফিল্ড পরীক্ষকরা সবচেয়ে বর্তমান তথ্য পরীক্ষা করতে পারে।

eBPF ট্রাফিক মনিটরিং

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

নিম্ন API-এ পুনরুদ্ধার করুন

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

যদি কোনো OEM কোনো সিস্টেম প্যাকেজের জন্য ব্যাকআপ এজেন্টগুলিকে সংশোধন করে (অ্যান্ড্রয়েড, সিস্টেম, সেটিংস), সেই এজেন্টদের উচিত প্ল্যাটফর্মের উচ্চতর সংস্করণে তৈরি করা ব্যাকআপ সেটগুলিকে ক্র্যাশ না করে এবং অন্তত কিছু ডেটা পুনরুদ্ধার করার ব্যবস্থা করা।

একটি প্রদত্ত ব্যাকআপ ডেটার অবৈধ মান পরীক্ষা করার জন্য একটি যাচাইকারী ব্যবহার করার কথা বিবেচনা করুন এবং core/java/android/provider/SettingsValidators.java হিসাবে শুধুমাত্র বৈধ ডেটা পুনরুদ্ধার করুন।

বৈশিষ্ট্যটি ডিফল্টরূপে চালু আছে। SettingsBackupAgent ভবিষ্যতের সংস্করণগুলি থেকে পুনরুদ্ধার করার জন্য সমর্থন Settings.Global.OVERRIDE_SETTINGS_PROVIDER_RESTORE_ANY_VERSION এর মাধ্যমে বন্ধ করা যেতে পারে। ডিভাইস প্রস্তুতকারক ROM-এ অন্তর্ভুক্ত ব্যাকআপ এজেন্টগুলির একটিকে প্রসারিত না করলে (বা একটি কাস্টম এজেন্ট যোগ না করলে) কোনো অতিরিক্ত বাস্তবায়নের প্রয়োজন নেই।

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

  • PackageManagerBackupAgent ফরম্যাট সংস্করণের মাধ্যমে ব্যাকআপ ডেটার ভবিষ্যত সংস্করণ সমর্থন করে; এখানে এক্সটেনশনগুলি অবশ্যই বর্তমান পুনরুদ্ধার কোডের সাথে সামঞ্জস্যপূর্ণ হতে হবে বা ক্লাসের নির্দেশাবলী অনুসরণ করতে হবে, যার মধ্যে সঠিক ধ্রুবকগুলিকে বাম্প করা অন্তর্ভুক্ত।

  • SystemBackupAgent Android 9 এবং উচ্চতর সংস্করণে restoreAnyVersion = false উল্লেখ করে। এটি API এর উচ্চতর সংস্করণগুলি থেকে পুনরুদ্ধার সমর্থন করে না।

  • SettingsBackupAgent restoreAnyVersion = true Android 9 এবং উচ্চতর তে নির্দিষ্ট করে৷ আংশিক সমর্থন বৈধকারীদের মাধ্যমে বিদ্যমান। একটি সেটিং একটি উচ্চতর API সংস্করণ থেকে পুনরুদ্ধার করা যেতে পারে যদি লক্ষ্য OS এ এটির জন্য একটি যাচাইকারী বিদ্যমান থাকে। যেকোন সেটিং যোগ করার সাথে সাথে তার ভ্যালিডেটর থাকা উচিত। বিস্তারিত জানার জন্য ক্লাস চেক করুন.

  • ROM-এ অন্তর্ভুক্ত যেকোন কাস্টম ব্যাকআপ এজেন্টকে ব্যাকআপ ডেটা ফরম্যাটে অসঙ্গত পরিবর্তন করা হলে তার সংস্করণ কোড বৃদ্ধি করা উচিত এবং তাদের এজেন্ট ভবিষ্যতের সংস্করণ থেকে ব্যাকআপ ডেটা মোকাবেলা করার জন্য প্রস্তুত না হলে restoreAnyVersion = false (ডিফল্ট) নিশ্চিত করা উচিত। তাদের কোড।

এন্টারপ্রাইজ

পরিচালিত প্রোফাইল উন্নতি

পরিচালিত প্রোফাইলের জন্য UX পরিবর্তনগুলি ব্যবহারকারীদের পরিচালিত প্রোফাইল সনাক্ত করা, অ্যাক্সেস করা এবং নিয়ন্ত্রণ করা সহজ করে তোলে।

OTAs পজ করুন

একটি নতুন @SystemApi ডিভাইস মালিকদের নিরাপত্তা আপডেট সহ OTA আপডেটগুলিকে অনির্দিষ্টকালের জন্য বিরতি দিতে দেয়৷

কর্মক্ষমতা

স্বাস্থ্য 2.0

Android 9 এবং উচ্চতর android.hardware.health HAL 2.0 অন্তর্ভুক্ত, health@1.0 HAL থেকে একটি প্রধান সংস্করণ আপগ্রেড৷ আরও তথ্যের জন্য এই পৃষ্ঠাগুলি দেখুন:

APK ক্যাশিং সমাধান

A/B পার্টিশন সমর্থন করে এমন একটি ডিভাইসে প্রিলোড করা অ্যাপের দ্রুত ইনস্টলেশনের জন্য Android 9 এবং উচ্চতর একটি APK ক্যাশিং সমাধান অন্তর্ভুক্ত করে। OEMগুলি ব্যবহারকারী-মুখী ডেটা স্থানকে প্রভাবিত না করেই নতুন A/B- পার্টিশন করা ডিভাইসগুলিতে খালি B পার্টিশনে বেশিরভাগই সঞ্চিত APK ক্যাশে প্রিলোড এবং জনপ্রিয় অ্যাপগুলি রাখতে পারে।

প্রোফাইল-নির্দেশিত অপ্টিমাইজেশান

Android 9 এবং উচ্চতর ব্লুপ্রিন্ট বিল্ড নিয়ম রয়েছে এমন নেটিভ অ্যান্ড্রয়েড মডিউলগুলিতে Clang এর প্রোফাইল-গাইডেড অপ্টিমাইজেশান (PGO) ব্যবহার করে সমর্থন করে।

লিখুন এগিয়ে লগিং

SQLiteDatabase-এর একটি বিশেষ মোড যার নাম কম্প্যাটিবিলিটি রাইট-এহেড লগিং (WAL) একটি ডাটাবেসকে journal_mode=WAL ব্যবহার করার অনুমতি দেয় যখন প্রতি ডাটাবেসে সর্বাধিক একটি সংযোগ থাকে।

বুট বার

অ্যান্ড্রয়েড 9 বুট টাইম অপ্টিমাইজেশান পরিবর্তন করে যেমনটি অপ্টিমাইজিং বুট টাইমস- এ বর্ণিত হয়েছে৷

শক্তি

পটভূমি সীমাবদ্ধতা

অ্যান্ড্রয়েড 9 এবং উচ্চতর পটভূমিতে বিধিনিষেধ রয়েছে যা ব্যবহারকারীদের এমন অ্যাপগুলিকে সীমাবদ্ধ করতে দেয় যা ব্যাটারির শক্তি হ্রাস করতে পারে। সিস্টেমটি এমন অ্যাপগুলিকে নিষ্ক্রিয় করার পরামর্শও দিতে পারে যা একটি ডিভাইসের স্বাস্থ্যকে নেতিবাচকভাবে প্রভাবিত করছে৷

ব্যাটারিবিহীন ডিভাইস

Android 9 ব্যাটারিহীন ডিভাইসগুলিকে আগের রিলিজের তুলনায় আরও মার্জিতভাবে পরিচালনা করে। অ্যান্ড্রয়েড 9 ব্যাটারিবিহীন ডিভাইসগুলির জন্য কোড সরিয়ে দেয় যেগুলি ডিফল্টভাবে ধরে নেয় যে একটি ব্যাটারি উপস্থিত ছিল, 100% চার্জ করা হয়েছে এবং এর থার্মিস্টারে স্বাভাবিক তাপমাত্রা রিডিং সহ ভাল স্বাস্থ্য রয়েছে৷