27 মার্চ, 2025 থেকে, আমরা AOSP তৈরি করতে এবং অবদান রাখতে aosp-main
এর পরিবর্তে android-latest-release
ব্যবহার করার পরামর্শ দিচ্ছি। আরও তথ্যের জন্য, AOSP-তে পরিবর্তনগুলি দেখুন।
কাস্টম ডিভাইস উন্নয়ন
সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন
আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
আপনি যদি নিজের ডিভাইসের জন্য একটি বিল্ড সেট আপ করছেন তবে এই পৃষ্ঠাটি বেশ কয়েকটি কাজ ব্যাখ্যা করে যা আপনাকে সম্পাদন করতে হবে।
একটি কাস্টম ফ্ল্যাশ কনফিগারেশন তৈরি করুন
Fastboot নির্দেশাবলী fastboot-info.txt
নামে একটি আর্টিফ্যাক্টে সংজ্ঞায়িত করা হয়েছে। আপনি একাধিক টার্গেট তৈরি করলে, $OUT_DIR এ আপনার একাধিক fastboot-info.txt
ফাইল থাকবে। এবং, $ANDROID_PRODUCT_OUT
আপনার তৈরি করা সবচেয়ে বর্তমান টার্গেটকে পয়েন্ট করে। এই পৃষ্ঠাটি ফাস্টবুট চালানোর জন্য কাজগুলির তালিকা দেয় এবং m fastboot_info
ব্যবহার করে পুনরায় তৈরি করা যেতে পারে। আপনি fastboot-info.txt
ফাইলটি পরিবর্তন করে কাস্টম ফ্ল্যাশিং লজিক প্রবর্তন করতে পারেন।
fastboot-info.txt
ফাইল এই কমান্ড সমর্থন করে:
-
flash %s
: একটি প্রদত্ত পার্টিশন ফ্ল্যাশ করে। ঐচ্ছিক আর্গুমেন্টে --slot-other,
filename_path , and
--apply-vbmeta` অন্তর্ভুক্ত। -
update-super
: সুপার পার্টিশন আপডেট করে। -
if-wipe
: শর্তসাপেক্ষে অন্য কোনো কম্পোনেন্ট চালায় যদি একটি ওয়াইপ নির্দিষ্ট করা থাকে। -
erase %s
: একটি প্রদত্ত পার্টিশন মুছে দেয় (শুধুমাত্র if-wipe
-> যেমন if-wipe erase cache
এর সাথে ব্যবহার করা যেতে পারে)।
ফ্ল্যাশ লক অবস্থা নির্ধারণ করুন
আপনি যদি একটি ডিভাইসের জন্য একটি কাস্টম ফ্ল্যাশবুট ডেমন (ফ্ল্যাশবুটডি) তৈরি করছেন, তাহলে আপনাকে বুটলোডার এবং বুটলোডার লক অবস্থা পেতে সক্ষম হতে হবে। getFlashLockState()
@SystemApi
বুটলোডার স্টেট ট্রান্সমিট করে এবং PersistentDataBlockManager.getFlashLockState()
সিস্টেম API অনুগত ডিভাইসে বুটলোডারের লক স্ট্যাটাস প্রদান করে।
রিটার্ন মান | শর্তাবলী |
---|
FLASH_LOCK_UNKNOWN | শুধুমাত্র Android 7.x বা উচ্চতর ডিভাইসে আপগ্রেড করা ডিভাইসগুলির দ্বারা প্রত্যাবর্তন করা হয়েছে যেগুলি পূর্বে ফ্ল্যাশ লক স্ট্যাটাস পাওয়ার জন্য প্রয়োজনীয় বুটলোডার পরিবর্তনগুলিকে সমর্থন করে না যদি তারা ফ্ল্যাশিং লক/আনলক ক্ষমতা সমর্থন করে।
- Android 7.x বা উচ্চতর সংস্করণে চলমান নতুন ডিভাইসগুলি অবশ্যই
FLASH_LOCK_LOCKED বা FLASH_LOCK_UNLOCKED অবস্থায় থাকতে হবে৷ - ফ্ল্যাশিং আনলক/লক ক্ষমতা সমর্থন করে না এমন Android 7.x বা উচ্চতর ডিভাইসে আপগ্রেড করা ডিভাইসগুলিকে একটি
FLASH_LOCK_LOCKED অবস্থা ফিরিয়ে দেওয়া উচিত।
|
FLASH_LOCK_LOCKED | ফ্ল্যাশিং লক/আনলক সমর্থন করে না এমন কোনও ডিভাইস (অর্থাৎ, ডিভাইসটি সর্বদা লক থাকে) অথবা যে কোনও ডিভাইস যা ফ্ল্যাশিং লক/আনলক সমর্থন করে এবং লক অবস্থায় থাকে তার দ্বারা ফেরত দেওয়া হয়। |
FLASH_LOCK_UNLOCKED | ফ্ল্যাশিং লক/আনলক সমর্থন করে এবং আনলক অবস্থায় আছে এমন যেকোনো ডিভাইসের মাধ্যমে ফেরত দেওয়া হয়। |
নির্মাতাদের লক করা এবং আনলক করা বুটলোডার সহ ডিভাইসগুলির দ্বারা ফেরত দেওয়া মানগুলি পরীক্ষা করা উচিত। উদাহরণস্বরূপ, AOSP-এ একটি রেফারেন্স বাস্তবায়ন রয়েছে যা ro.boot.flash.locked
বুট সম্পত্তির উপর ভিত্তি করে একটি মান প্রদান করে। উদাহরণ কোড নিম্নলিখিত ডিরেক্টরিতে অবস্থিত:
-
frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.java
-
frameworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java
এই পৃষ্ঠার কন্টেন্ট ও কোডের নমুনাগুলি 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,["# Custom device development\n\nThis page explains several tasks you might need to perform if you're\nsetting up a build for your own device.\n\nCreate a custom flash configuration\n-----------------------------------\n\nFastboot instructions are defined in an artifact called `fastboot-info.txt`. If\nyou build multiple targets, you'll have multiple `fastboot-info.txt` files in\nthe \u003cvar translate=\"no\"\u003e$OUT_DIR\u003c/var\u003e. And, `$ANDROID_PRODUCT_OUT` points to the\nmost current target you built. This page list the tasks for fastboot to execute\nand can be regenerated using `m fastboot_info`. You can introduce custom\nflashing logic by modifying the `fastboot-info.txt` file.\n\nThe `fastboot-info.txt` file supports these commands:\n\n- `flash %s`: Flashes a given partition. Optional arguments include `--slot-other,`\u003cvar translate=\"no\"\u003efilename_path\u003c/var\u003e`, and`--apply-vbmeta\\`.\n- `update-super`: Updates the super partition.\n- `if-wipe`: Conditionally runs some other component if a wipe is specified.\n- `erase %s`: Erases a given partition (can only be used in conjunction with `if-wipe` -\\\u003e eg. `if-wipe erase cache`).\n\nDetermine flash lock state\n--------------------------\n\nIf you're building a custom flashboot daemon (flashbootd) for a device, you need\nto be able to obtain bootloader and bootloader lock state. The\n`getFlashLockState()` `@SystemApi` transmits the bootloader\nstate and the `PersistentDataBlockManager.getFlashLockState()` system\nAPI returns the bootloader's lock status on compliant devices.\n\n| Return value | Conditions |\n|-----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `FLASH_LOCK_UNKNOWN` | Returned only by devices upgrading to Android 7.x or higher that didn't previously support the bootloader changes required to get the flash lock status if they supported flashing lock/unlock capability. - New devices running Android 7.x or higher must be in either a `FLASH_LOCK_LOCKED` or `FLASH_LOCK_UNLOCKED` state. - Devices upgrading to Android 7.x or higher that don't support flashing unlock/lock capability should return a `FLASH_LOCK_LOCKED` state. |\n| `FLASH_LOCK_LOCKED` | Returned by any device that doesn't support flashing lock/unlock (that is, the device is always locked), or any device that supports flashing lock/unlock and is in the locked state. |\n| `FLASH_LOCK_UNLOCKED` | Returned by any device that supports flashing lock/unlock and is in the unlocked state. |\n\nManufacturers should test the values returned by devices with locked and\nunlocked bootloaders. For example, AOSP\ncontains a reference implementation that returns a value based on the\n`ro.boot.flash.locked` boot property. Example code is located in the\nfollowing directories:\n\n- `frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.java`\n- `frameworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java`"]]