27 মার্চ, 2025 থেকে, আমরা AOSP তৈরি করতে এবং অবদান রাখতে aosp-main
এর পরিবর্তে android-latest-release
ব্যবহার করার পরামর্শ দিচ্ছি। আরও তথ্যের জন্য, AOSP-তে পরিবর্তনগুলি দেখুন।
ConfigStore, ConfigStore
সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন
আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
অ্যান্ড্রয়েডে, সিস্টেমের বৈশিষ্ট্যগুলি কনফিগস্টোর ক্লাসে সংরক্ষণ করা হয়। কনফিগস্টোর ভেন্ডর পার্টিশনে কনফিগার মান সংরক্ষণ করতে বিল্ড ফ্ল্যাগ ব্যবহার করে এবং সিস্টেম পার্টিশনের একটি পরিষেবা HIDL ব্যবহার করে সেই মানগুলি অ্যাক্সেস করে।
সিস্টেমের বৈশিষ্ট্যগুলি
PRODUCT_DEFAULT_PROPERTY_OVERRIDES
ব্যবহার করে সিস্টেমের বৈশিষ্ট্যগুলিকে বিক্রেতা পার্টিশনে
default.prop
এ সঞ্চয় করতে এবং পরিষেবাটি সেই বৈশিষ্ট্যগুলি পড়ার জন্য
sysprop
ব্যবহার করে৷
লিগ্যাসি ভেন্ডর পার্টিশন সমর্থন করার জন্য ConfigStore HAL AOSP-তে রয়ে গেছে। Android 10 চালিত ডিভাইসগুলিতে, surfaceflinger
প্রথমে সিস্টেমের বৈশিষ্ট্যগুলি পড়ে; SurfaceFlingerProperties.sysprop
এ কনফিগার আইটেমের জন্য কোনো সিস্টেম প্রপার্টি সংজ্ঞায়িত না থাকলে, surfaceflinger
কনফিগস্টোর HAL-এ ফিরে আসে।
পতাকা এবং সিস্টেম বৈশিষ্ট্য তৈরি করুন
ConfigStore-এ প্রতিটি বিল্ড পতাকার একটি মিলে যাওয়া সিস্টেম প্রপার্টি রয়েছে, যা নিম্নলিখিত টেবিলে দেখানো হয়েছে।
পতাকা তৈরি করুন | সিস্টেম বৈশিষ্ট্য |
---|
TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS | ro.surface_flinger.force_hwc_copy_for_virtual_displays |
TARGET_HAS_HDR_DISPLAY | ro.surface_flinger.has_HDR_display |
TARGET_HAS_WIDE_COLOR_DISPLAY | ro.surface_flinger.has_wide_color_display |
NUM_FRAMEBUFFER_SURFACE_BUFFERS | ro.surface_flinger.max_frame_buffer_acquired_buffers |
MAX_VIRTUAL_DISPLAY_DIMENSION | ro.surface_flinger.max_virtual_display_dimension |
PRIMARY_DISPLAY_ORIENTATION | ro.surface_flinger.primary_display_orientation |
PRESENT_TIME_OFFSET_FROM_VSYNC_NS | ro.surface_flinger.present_time_offset_from_vsync_ns |
TARGET_RUNNING_WITHOUT_SYNC_FRAMEWORK | ro.surface_flinger.running_without_sync_framework |
SF_START_GRAPHICS_ALLOCATOR_SERVICE | ro.surface_flinger.start_graphics_allocator_service |
TARGET_USE_CONTEXT_PRIORITY | ro.surface_flinger.use_context_priority |
USE_VR_FLINGER | ro.surface_flinger.use_vr_flinger |
VSYNC_EVENT_PHASE_OFFSET_NS | ro.surface_flinger.vsync_event_phase_offset_ns |
SF_VSYNC_EVENT_PHASE_OFFSET_NS | ro.surface_flinger.vsync_sf_event_phase_offset_ns |
নতুন সিস্টেম বৈশিষ্ট্য
Android 10 নিম্নলিখিত নতুন সিস্টেম বৈশিষ্ট্য অন্তর্ভুক্ত:
-
ro.surface_flinger.default_composition_dataspace
-
ro.surface_flinger.default_composition_pixel_format
-
ro.surface_flinger.use_color_management
-
ro.surface_flinger.wcg_composition_dataspace
-
ro.surface_flinger.wcg_composition_pixel_format
-
ro.surface_flinger.display_primary_red
-
ro.surface_flinger.display_primary_green
-
ro.surface_flinger.display_primary_blue
-
ro.surface_flinger.display_primary_white
-
ro.surface_flinger.protected_contents
-
ro.surface_flinger.set_idle_timer_ms
-
ro.surface_flinger.set_touch_timer_ms
-
ro.surface_flinger.use_smart_90_for_video
-
ro.surface_flinger.protected_contents
-
ro.surface_flinger.support_kernel_idle_timer
এই বৈশিষ্ট্যগুলির বিস্তারিত জানার জন্য, frameworks/native/services/surfaceflinger/sysprop/SurfaceFlingerProperties.sysprop
দেখুন।
SurfaceFlingerProperties ব্যবহার করুন
SurfaceFlingerProperties লাইব্রেরির নিম্নলিখিত উদাহরণগুলিতে, SurfaceFlingerProperties.sysprop
এ ফাংশনের নাম api_name
।
cc_binary {
name: "cc_client",
srcs: ["baz.cpp"],
shared_libs: ["SurfaceFlingerProperties"],
}
java_library {
name: "JavaClient",
srcs: ["foo/bar.java"],
libs: ["SurfaceFlingerProperties"],
}
import android.sysprop.SurfaceFlingerProperties;
...
static void foo() {
...
boolean temp = SurfaceFlingerProperties.vsync_event_phase_offset_ns().orElse(true);
...
}
...
#include <SurfaceFlingerProperties.sysprop.h>
using namespace android::sysprop;
...
void bar() {
...
bool temp = SurfaceFlingerProperties::vsync_event_phase_offset_ns(true);
...
}
...
এই পৃষ্ঠার কন্টেন্ট ও কোডের নমুনাগুলি Content License-এ বর্ণিত লাইসেন্সের অধীনস্থ। Java এবং OpenJDK হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।
[[["সহজে বোঝা যায়","easyToUnderstand","thumb-up"],["আমার সমস্যার সমাধান হয়েছে","solvedMyProblem","thumb-up"],["অন্যান্য","otherUp","thumb-up"]],[["এতে আমার প্রয়োজনীয় তথ্য নেই","missingTheInformationINeed","thumb-down"],["খুব জটিল / অনেক ধাপ","tooComplicatedTooManySteps","thumb-down"],["পুরনো","outOfDate","thumb-down"],["অনুবাদ সংক্রান্ত সমস্যা","translationIssue","thumb-down"],["নমুনা / কোড সংক্রান্ত সমস্যা","samplesCodeIssue","thumb-down"],["অন্যান্য","otherDown","thumb-down"]],["2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],[],null,["# ConfigStore\n\nIn Android, system properties are stored in the ConfigStore class. ConfigStore uses build flags\nto store config values in the vendor partition, and a service in the system partition accesses\nthose values using HIDL.\nSystem properties use `PRODUCT_DEFAULT_PROPERTY_OVERRIDES` to store system properties in `default.prop` in the vendor partition, and the service uses `sysprop` to read those properties.\n\n\u003cbr /\u003e\n\n\nThe ConfigStore HAL remains in AOSP to support legacy vendor partitions. On\ndevices running Android 10,\n`surfaceflinger` reads system properties first; if no system\nproperty is defined for a config item in\n`SurfaceFlingerProperties.sysprop`, `surfaceflinger`\nfalls back to the ConfigStore HAL.\n\nBuild flags and system properties\n---------------------------------\n\n\nEach build flag in ConfigStore has a matching system property, as shown in the\nfollowing table.\n\n| Build flags | System properties |\n|-----------------------------------------|----------------------------------------------------------|\n| `TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS` | `ro.surface_flinger.force_hwc_copy_for_virtual_displays` |\n| `TARGET_HAS_HDR_DISPLAY` | `ro.surface_flinger.has_HDR_display` |\n| `TARGET_HAS_WIDE_COLOR_DISPLAY` | `ro.surface_flinger.has_wide_color_display` |\n| `NUM_FRAMEBUFFER_SURFACE_BUFFERS` | `ro.surface_flinger.max_frame_buffer_acquired_buffers` |\n| `MAX_VIRTUAL_DISPLAY_DIMENSION` | `ro.surface_flinger.max_virtual_display_dimension` |\n| `PRIMARY_DISPLAY_ORIENTATION` | `ro.surface_flinger.primary_display_orientation` |\n| `PRESENT_TIME_OFFSET_FROM_VSYNC_NS` | `ro.surface_flinger.present_time_offset_from_vsync_ns` |\n| `TARGET_RUNNING_WITHOUT_SYNC_FRAMEWORK` | `ro.surface_flinger.running_without_sync_framework` |\n| `SF_START_GRAPHICS_ALLOCATOR_SERVICE` | `ro.surface_flinger.start_graphics_allocator_service` |\n| `TARGET_USE_CONTEXT_PRIORITY` | `ro.surface_flinger.use_context_priority` |\n| `USE_VR_FLINGER` | `ro.surface_flinger.use_vr_flinger` |\n| `VSYNC_EVENT_PHASE_OFFSET_NS` | `ro.surface_flinger.vsync_event_phase_offset_ns` |\n| `SF_VSYNC_EVENT_PHASE_OFFSET_NS` | `ro.surface_flinger.vsync_sf_event_phase_offset_ns` |\n\nNew system properties\n---------------------\n\n\nAndroid 10 includes the following new system\nproperties:\n\n- `ro.surface_flinger.default_composition_dataspace`\n- `ro.surface_flinger.default_composition_pixel_format`\n- `ro.surface_flinger.use_color_management`\n- `ro.surface_flinger.wcg_composition_dataspace`\n- `ro.surface_flinger.wcg_composition_pixel_format`\n- `ro.surface_flinger.display_primary_red`\n- `ro.surface_flinger.display_primary_green`\n- `ro.surface_flinger.display_primary_blue`\n- `ro.surface_flinger.display_primary_white`\n- `ro.surface_flinger.protected_contents`\n- `ro.surface_flinger.set_idle_timer_ms`\n- `ro.surface_flinger.set_touch_timer_ms`\n- `ro.surface_flinger.use_smart_90_for_video`\n- `ro.surface_flinger.protected_contents`\n- `ro.surface_flinger.support_kernel_idle_timer`\n\n\nFor details on these properties, refer to\n`frameworks/native/services/surfaceflinger/sysprop/SurfaceFlingerProperties.sysprop`.\n\nUse SurfaceFlingerProperties\n----------------------------\n\n\nIn the following examples for the SurfaceFlingerProperties library, the\nfunction name is `api_name` in\n`SurfaceFlingerProperties.sysprop`. \n\n```carbon\ncc_binary {\n name: \"cc_client\",\n srcs: [\"baz.cpp\"],\n shared_libs: [\"SurfaceFlingerProperties\"],\n}\njava_library {\n name: \"JavaClient\",\n srcs: [\"foo/bar.java\"],\n libs: [\"SurfaceFlingerProperties\"],\n}\n``` \n\n```python\nimport android.sysprop.SurfaceFlingerProperties;\n...\n\nstatic void foo() {\n ...\n boolean temp = SurfaceFlingerProperties.vsync_event_phase_offset_ns().orElse(true);\n ...\n}\n...\n``` \n\n```arduino\n#include \u003cSurfaceFlingerProperties.sysprop.h\u003e\nusing namespace android::sysprop;\n\n...\n\nvoid bar() {\n ...\n bool temp = SurfaceFlingerProperties::vsync_event_phase_offset_ns(true);\n ...\n}\n...\n```"]]