Vendor API level refers to the version of the interface supported by the vendor partition. The interface is bidirectional; এটি এপিআইকে বর্ণনা করে যে বিক্রেতার পার্টিশনটি সিস্টেম পার্টিশন (হার্ডওয়্যার অ্যাবস্ট্রাকশন লেয়ার বা এইচএল ইন্টারফেস) সরবরাহ করে এবং এপিআইও যা বিক্রেতার পার্টিশনের জন্য সিস্টেম পার্টিশন (নিম্ন-স্তরের নেটিভ ডেভেলপারস কিট বা এলএলএনডিকে ইন্টারফেস) থেকে প্রয়োজন।
ভেন্ডর এপিআই লেভেল ভেন্ডর সফ্টওয়্যার রিকোয়ারমেন্ট (ভিএসআর) নির্ধারণ করতেও ব্যবহৃত হয়, যা কার্যকরী এবং অকার্যকর প্রয়োজনীয়তার একটি সংগ্রহ যা ভেন্ডর পার্টিশনের সফ্টওয়্যারকে অবশ্যই পূরণ করতে হবে।
এই পৃষ্ঠার অবশিষ্টাংশ ব্যাখ্যা করে যে কীভাবে সিস্টেমের বৈশিষ্ট্যগুলি ব্যবহার করা হয়, আপনার Android সংস্করণের উপর নির্ভর করে, বিক্রেতা API স্তর নির্ধারণ করতে।
Vendor freeze
অ্যান্ড্রয়েড একটি বিক্রেতাকে VSR-এর একটি নির্দিষ্ট সংস্করণে বিক্রেতা পার্টিশন হিমায়িত করতে দেয়। বিক্রেতা পার্টিশন থেকে অ্যান্ড্রয়েড যে বৈশিষ্ট্যগুলি আশা করে তা ভেন্ডর পার্টিশনের সাথে যুক্ত বিক্রেতা API স্তর দ্বারা নির্ধারিত হয়। রানটাইমে, সিস্টেম পার্টিশনে চলমান সফ্টওয়্যারের আচরণ ভেন্ডর পার্টিশনের বিক্রেতা API স্তরের সাথে সামঞ্জস্য করে। উদাহরণস্বরূপ, সিস্টেম পার্টিশনের সফ্টওয়্যারটি নতুন বৈশিষ্ট্যগুলি ব্যবহার করতে পারে না যদি সেগুলি বিক্রেতা পার্টিশনের API স্তর দ্বারা সমর্থিত না হয়।
A vendor freeze is available only if you're creating an Android-compatible device .
বিক্রেতা API স্তর নির্ধারণ করুন (Android 14-QPR3 এবং পরবর্তী)
Android 14-QPR3 এবং পরবর্তীতে, ভেন্ডর এপিআই লেভেল আলাদাভাবে রিলিজ করা হয়, যার অর্থ SDK API লেভেল এবং ভেন্ডর API লেভেল সিঙ্কের বাইরে।
আলাদা রিলিজ সময়সূচীর কারণে, Android 14-QPR3 এবং পরবর্তীতে, ভেন্ডর এপিআই লেভেল সম্পূর্ণরূপে SDK API লেভেল থেকে ডিকপল করা হয়েছে। এই ডিকপলিং পরিষ্কার নিশ্চিত করতে, ভেন্ডর API লেভেলের ফর্ম্যাট হল YYYYMM (বছর এবং মাস) হিসাবে ফর্ম্যাট করা একটি তারিখ যেখানে SDK লেভেল হল একটি পূর্ণসংখ্যা৷
Android 14-QPR3 and later contains the following system properties related to vendor API level ( ro.vendor.api_level
):
System property | বিন্যাস | বর্ণনা | প্রাথমিক সেটিং |
---|---|---|---|
ro.board.api_level | YYYYMM | ভেন্ডর এপিআই লেভেল যা একটি চিপসেটের সফ্টওয়্যার সমর্থন করে। এই সম্পত্তিটি সমস্ত চিপসেটের জন্য সেট করা আছে। | এটি স্বয়ংক্রিয়ভাবে বিল্ড সিস্টেম দ্বারা সেট করা হয়। |
ro.board.first_api_level | YYYYMM | একটি চিপসেটের সফ্টওয়্যার যেটি দিয়ে প্রথম প্রকাশ করা হয়েছিল সেই ভেন্ডর এপিআই লেভেল। এই সম্পত্তিটি শুধুমাত্র চিপসেটের একটি ফাংশন এবং SoC বিক্রেতাদের দ্বারা সেট করা হয় যদি SoC চিপসেট ভেন্ডর ফ্রিজের জন্য যোগ্য হয়। প্রাথমিক সেটিংয়ের পরে, এটি অবশ্যই সংশোধন করা উচিত নয়। | SoC vendors set this setting using BOARD_SHIPPING_API_LEVEL . |
ro.product.first_api_level | পূর্ণসংখ্যা | ডিভাইসটি প্রাথমিকভাবে লঞ্চ করা হয়েছে এমন SDK API স্তর। | এই সম্পত্তিটি OEM দ্বারা সেট করা হয় এবং তারপরে OS আপগ্রেড করার পরেও আপডেট করা হয় না। |
ro.vendor.api_level | YYYYMM | বিক্রেতা API স্তর যা ডিভাইসটিকে সামগ্রিকভাবে মেনে চলতে হবে। | এই টেবিলের পরে বর্ণিত। |
ro.board.api_frozen | বুলিয়ান | This property is set to true if the vendor API level that ro.board.api_level represents is finalized. | If this property isn't set, it defaults to false . |
ro.llndk.api_level | YYYYMM | YYYYMM ফর্ম্যাটের বিক্রেতা API স্তর যা সিস্টেম পার্টিশনে বর্তমান LLNDK প্রদান করে। LLNDK পশ্চাদপদ সামঞ্জস্যপূর্ণ, তাই এই API স্তরের কম বা সমান যে কোনও বিক্রেতা চিত্র এই সিস্টেম চিত্রের সাথে ফ্ল্যাশ করা যেতে পারে। | এই সম্পত্তিটি সিস্টেম পার্টিশন দ্বারা সেট করা হয়। |
The ro.vendor.api_level
property is derived in one of the two following ways:
যদি চিপসেটটি বিক্রেতার ফ্রিজের জন্য যোগ্যতা অর্জন করে:
ro.vendor.api_level = min( ro.board.api_level, AVendorSupport_getVendorApiLevelOf(ro.product.first_api_level))
যদি চিপসেটটি বিক্রেতার ফ্রিজের অধীনে না থাকে:
ro.vendor.api_level = AVendorSupport_getVendorApiLevelOf(ro.product.first_api_level)
The AVendorSupport_getVendorApiLevelOf()
method determines the corresponding vendor API level from an SDK API level. For example AVendorSupport_getVendorApiLevelOf(35)
, where 35
is the SDK API level of the major Android release in 2024 returns 202404
, which is the rough date for Android 14-QPR3 when the current Vendor API level was set.
বিক্রেতা এপিআই স্তর নির্ধারণ করুন (অ্যান্ড্রয়েড 13)
ভেন্ডর এপিআই লেভেল SDK এপিআই লেভেলকে অনুসরণ করে, যা অ্যাপ-ওএস ইন্টারফেসের জন্য এবং বছরে একবার আপডেট করা হয় যখন নতুন অ্যান্ড্রয়েড প্ল্যাটফর্ম AOSP-তে প্রকাশ করা হয়।
Android 13 contains the following system properties related to vendor API level ( ro.vendor.api_level
):
সিস্টেম সম্পত্তি | বিন্যাস | বর্ণনা | প্রাথমিক সেটিং |
---|---|---|---|
ro.board.first_api_level | পূর্ণসংখ্যা | একটি চিপসেটের সফ্টওয়্যার যেটি দিয়ে প্রথম প্রকাশ করা হয়েছিল সেই ভেন্ডর এপিআই লেভেল। এটি কেবল চিপসেটের একটি ফাংশন এবং এসওসি বিক্রেতারা বা ওএমএস দ্বারা সংশোধন করা যায় না। এই সম্পত্তিটি কেবল চিপসেটগুলির জন্য সেট করা আছে যা বিক্রেতার ফ্রিজের জন্য যোগ্যতা অর্জন করে | device.mk ফাইলে BOARD_SHIPPING_API_LEVEL সেট করে মান প্রতিষ্ঠিত হয়। |
ro.board.api_level | পূর্ণসংখ্যা | চিপসেটের সফ্টওয়্যার সমর্থন করে এমন বিক্রেতা এপিআই স্তর। এই সম্পত্তিটি কেবল চিপসেটগুলির জন্য সেট করা আছে যা বিক্রেতার ফ্রিজের জন্য যোগ্য। এই সম্পত্তিটি সমস্ত চিপসেটের জন্য সেট করা আছে। | Initially, this property's value is set by the build system to the same value as ro.board.first_api_level , but can be updated if the vendor partition is upgraded. |
ro.product.first_api_level | পূর্ণসংখ্যা | এসডিকে এপিআই স্তর যা ডিভাইসটি প্রাথমিকভাবে চালু করা হয়েছে। | এই সম্পত্তিটি ওএম দ্বারা সেট করা হয় এবং তারপরে ওএস আপগ্রেডের পরেও কখনও আপডেট হয় না। |
ro.vendor.api_level | পূর্ণসংখ্যা | সামগ্রিকভাবে ডিভাইসটি অবশ্যই মেনে চলতে হবে এমন বিক্রেতা এপিআই স্তর। | এই টেবিলের পরে বর্ণিত। |
ro.vndk.version | পূর্ণসংখ্যা | Vndk এর সংস্করণ যে বিক্রেতার পার্টিশনটির বিপরীতে নির্মিত। | এই সম্পত্তিটি সিস্টেম পার্টিশন দ্বারা সেট করা হয়। |
ro.vendor.build.version.sdk | পূর্ণসংখ্যা | উত্স গাছের এসডিকে এপিআই স্তর যেখানে বিক্রেতার পার্টিশনটি নির্মিত হয়েছিল। | |
ro.vendor.build.version.release | পূর্ণসংখ্যা | উত্স গাছের প্ল্যাটফর্ম সংস্করণ যেখানে বিক্রেতার পার্টিশনটি নির্মিত হয়েছিল। | |
ro.vendor.build.version.release_or_codename | পূর্ণসংখ্যা | উত্স গাছের কোড নাম যেখানে বিক্রেতার পার্টিশনটি নির্মিত হয়েছিল। |
The ro.vendor.api_level
property is automatically set to the minimum of ro.board.api_level
(or ro.board.first_api_level
if ro.board.api_level
isn't defined) and ro.product.first_api_level
.