কাস্টম ডিভাইস উন্নয়ন

আপনি যদি নিজের ডিভাইসের জন্য একটি বিল্ড সেট আপ করছেন তবে এই পৃষ্ঠাটি বেশ কয়েকটি কাজ ব্যাখ্যা করে যা আপনাকে সম্পাদন করতে হবে।

একটি কাস্টম ফ্ল্যাশ কনফিগারেশন তৈরি করুন

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