دستگاه های چشمک زن

این صفحه جزئیاتی را برای اجرای ساخت‌ها در دستگاه‌های خاص ارائه می‌کند. این جزئیات اطلاعات موجود در ساخت اندروید را تکمیل می کند.

ساخت fastboot و adb

اگر از قبل fastboot و adb ندارید، می توانید آنها را با سیستم ساخت معمولی بسازید. از دستورالعمل های ساخت اندروید استفاده کنید و دستور main make را با این دستور جایگزین کنید:

make fastboot adb

برای جزئیات بیشتر در مورد Android Debug Bridge (ADB) به پل اشکال زدایی اندروید (ADB) مراجعه کنید.

بوت شدن در حالت فست بوت

وقتی دستگاهی در حالت بوت fastboot است می توانید فلش بزنید. برای وارد شدن به حالت fastboot زمانی که دستگاهی در حال بوت سرد است، از ترکیب کلیدهای فهرست شده در کلیدهای ترکیبی Fastboot استفاده کنید.

همچنین می توانید از دستور adb reboot bootloader برای راه اندازی مجدد مستقیم به بوت لودر استفاده کنید. برای دستورالعمل های کامل به دستورالعمل های چشمک زن مراجعه کنید.

باز کردن قفل بوت لودر

فقط در صورتی می توانید یک سیستم سفارشی را فلش کنید که بوت لودر اجازه دهد. البته توجه داشته باشید که بوت لودر به طور پیش فرض قفل است. شما می توانید بوت لودر را باز کنید، اما با انجام این کار اطلاعات کاربر به دلایل حفظ حریم خصوصی حذف می شود. پس از باز کردن قفل، تمام داده های دستگاه پاک می شود، یعنی هم داده های برنامه خصوصی و هم داده های مشترک قابل دسترسی از طریق USB (از جمله عکس ها و فیلم ها). قبل از تلاش برای باز کردن قفل بوت لودر، از فایل های مهم موجود در دستگاه نسخه پشتیبان تهیه کنید.

فقط یک بار باید بوت لودر را باز کنید و در صورت لزوم می توانید دوباره آن را قفل کنید.

باز کردن قفل دستگاه های اخیر

همه دستگاه‌های Nexus و Pixel که از سال ۲۰۱۴ عرضه شده‌اند (از Nexus 6 و Nexus 9 شروع می‌شوند) دارای حفاظت بازنشانی کارخانه هستند و برای باز کردن قفل بوت‌لودر به یک فرآیند چند مرحله‌ای نیاز دارند.

  1. برای فعال کردن قفل OEM در دستگاه:
    1. در تنظیمات، روی درباره تلفن ضربه بزنید، سپس روی شماره ساخت هفت بار ضربه بزنید.
    2. وقتی پیام You are now a developer را می بینید! ، روی دکمه برگشت ضربه بزنید.
    3. در تنظیمات، روی System ضربه بزنید، سپس روی Developer options ضربه بزنید و باز کردن قفل OEM و اشکال زدایی USB را فعال کنید. (اگر باز کردن قفل OEM غیرفعال است، به اینترنت وصل شوید تا دستگاه بتواند حداقل یک بار بررسی کند. اگر غیرفعال بماند، ممکن است سیم کارت دستگاه شما توسط شرکت مخابراتی شما قفل شده باشد و بوت لودر باز نشود.)
  2. در بوت لودر راه اندازی مجدد کنید و از fastboot برای باز کردن قفل آن استفاده کنید.
    • برای دستگاه های جدیدتر (2015 و بالاتر):
      fastboot flashing unlock
    • برای دستگاه های قدیمی تر (2014 و پایین تر):
      fastboot oem unlock
    نکته: اگر قبل از راه‌اندازی مجدد، خروجی «دستگاه‌های adb» را می‌بینید، اما فست‌بوت یا اسکریپت فلش نادرست است، ممکن است مشکل از کابل USB شما باشد. پورت و/یا کانکتورهای سوئیچینگ دیگری را امتحان کنید. اگر از پورت USB C بر روی رایانه خود استفاده می کنید، به جای آن از پورت USB A استفاده کنید.
  3. باز کردن قفل روی صفحه را تأیید کنید.

قفل مجدد بوت لودر

برای قفل مجدد بوت لودر:

  • برای دستگاه های جدیدتر (2015 و بالاتر):
    fastboot flashing lock
  • برای دستگاه های قدیمی تر (2014 و پایین تر):
    fastboot oem lock

استفاده از حالت های قفل فلاش

API سیستم getFlashLockState() وضعیت بوت لودر را منتقل می کند و API سیستم PersistentDataBlockManager.getFlashLockState() وضعیت قفل بوت لودر را در دستگاه های سازگار برمی گرداند.

ارزش برگشتی شرایط
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 توسط هر دستگاهی که از قفل/باز کردن قفل چشمک زن پشتیبانی می کند و در حالت قفل باز است بازگردانده می شود.

سازندگان باید مقادیر بازگردانده شده توسط دستگاه‌های دارای بوت لودر قفل و قفل را آزمایش کنند. برای مثال، پروژه منبع باز Android (AOSP) حاوی یک پیاده سازی مرجع است که مقداری را بر اساس ویژگی boot ro.boot.flash.locked برمی گرداند. کد نمونه در دایرکتوری های زیر قرار دارد:

  • frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.java
  • frameworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java

انتخاب ساخت دستگاه

بیلدهای دستگاه توصیه شده از منوی lunch در دسترس هستند که هنگام اجرای دستور lunch بدون هیچ آرگومان قابل دسترسی هستند. برای اطلاعات بیشتر در مورد دستور lunch ، به انتخاب هدف مراجعه کنید. برای فهرستی از اهداف ساخت، اهداف ساخت را ببینید.

می‌توانید تصاویر کارخانه و باینری‌های دستگاه‌های Pixel و Nexus را از developers.google.com دانلود کنید. برای دانلود به باینری های دستگاه مراجعه کنید. برای جزئیات و منابع اضافی، به دریافت باینری های اختصاصی مراجعه کنید.

دستگاه نام کد پیکربندی ساخت
پیکسل 7 پرو یوزپلنگ aosp_cheetah-userdebug
پیکسل 7 پلنگ aosp_panther-userdebug
پیکسل 6 پرو کلاغ سیاه aosp_raven-userdebug
پیکسل 6 اوریول aosp_oriole-userdebug
پیکسل 5 باله قرمز aosp_redfin-userdebug
Pixel 4a 5G برامبل aosp_bramble-userdebug
پیکسل 4a خورشید ماهی aosp_sunfish-userdebug
Pixel 4 XL مرجان aosp_coral-userdebug
پیکسل 4 شعله aosp_flame-userdebug
Pixel 3a XL بونیتو aosp_bonito-userdebug
پیکسل 3a سارگو aosp_sargo-userdebug
Pixel 3 XL متقاطع aosp_crosshatch-userdebug
پیکسل 3 خط آبی aosp_blueline-userdebug
Pixel 2 XL تایمن aosp_taimen-userdebug
پیکسل 2 چشم دیواری aosp_walleye-userdebug
پیکسل XL مارلین aosp_marlin-userdebug
پیکسل ماهی بادبانی aosp_sailfish-userdebug
HiKey پیاده روی hikey-userdebug
Nexus 6P ماهی گیر aosp_angler-userdebug
Nexus 5X کله گاو aosp_bullhead-userdebug
Nexus 6 شامو aosp_shamu-userdebug
Nexus Player فوگو aosp_fugu-userdebug
Nexus 9 ولانتیس (دست انداز) aosp_flounder-userdebug
Nexus 5 (GSM/LTE) سر چکش aosp_hammerhead-userdebug
Nexus 7 (Wi-Fi) تیغ (flo) aosp_flo-userdebug
Nexus 7 (موبایل) رازرگ (دب) aosp_deb-userdebug
Nexus 10 مانتارای (مانتا) full_manta-userdebug
نکسوس 4 اوکام (ماکو) full_mako-userdebug
Nexus 7 (Wi-Fi) ناکاسی (گروهی) full_grouper-userdebug
Nexus 7 (موبایل) ناکاسیگ (تیلاپیا) full_tilapia-userdebug
Galaxy Nexus (GSM/HSPA+) یاکجو (ماگورو) full_maguro-userdebug
Galaxy Nexus (Verizon) mysid (toro) √aosp_toro-userdebug
Galaxy Nexus (تجربی) mysidspr (toroplus) aosp_toroplus-userdebug
Motorola Xoom (وای فای ایالات متحده) بالدار full_wingray-userdebug
Nexus S سوجو (کرسپو) full_crespo-userdebug
Nexus S 4G سوجوس (crespo4g) full_crespo4g-userdebug

فلش کردن یک دستگاه

شما می توانید کل سیستم اندروید را در یک دستور فلش کنید. با انجام این کار تأیید می کند که سیستمی که فلش می شود با بوت لودر و رادیوی نصب شده سازگار است، بوت، بازیابی و پارتیشن های سیستم را با هم می نویسد، سپس سیستم را راه اندازی مجدد می کند. فلش کردن همچنین تمام داده های کاربر را پاک می کند، مانند fastboot oem unlock .

برای فلش کردن دستگاه:

  1. فایل تصویر را در دایرکتوری خودش از حالت فشرده خارج کنید.
  2. متغیر محیطی ANDROID_PRODUCT_OUT را طوری تنظیم کنید که به همان دایرکتوری استفاده شده در مرحله 1 اشاره کند.
  3. با نگه داشتن کلید ترکیبی مناسب در هنگام بوت یا با استفاده از دستور زیر، دستگاه را در حالت fastboot قرار دهید:
    adb reboot bootloader
  4. پس از اینکه دستگاه در حالت فست بوت قرار گرفت، اجرا کنید:
    fastboot flashall -w
    گزینه -w پارتیشن /data را روی دستگاه پاک می کند. این برای اولین بار مفید است که یک دستگاه خاص را فلش کنید، اما در غیر این صورت غیر ضروری است.

تنظیمات چشمک زن

دستورالعمل‌های Fastboot در مصنوعی به نام fastboot-info.txt که در $ANDROID_PRODUCT_OUT/* این لیست سند .txt از وظایف برای اجرا کردن فست‌بوت وجود دارد و می‌توان آن را از طریق m fastboot_info دوباره تولید کرد، بیان شده است. منطق فلش سفارشی را می توان با اصلاح این فایل معرفی کرد

دستورات پشتیبانی شده:

  1. فلش %s : یک پارتیشن مشخص را فلش کنید. آرگومان های اختیاری عبارتند از --slot-other, {filename_path}, --apply-vbmeta
  2. update-super : پارتیشن فوق العاده را به روز می کند
  3. if-wipe : اگر wipe مشخص شده باشد، به صورت مشروط برخی از عملکردهای دیگر را اجرا کنید
  4. erase %s : پاک کردن یک پارتیشن داده شده (فقط می تواند به همراه استفاده شود) با if-wipe -> به عنوان مثال. if-wipe erase cache

بازگرداندن دستگاه ها به حالت کارخانه

تصاویر کارخانه برای دستگاه‌های Google از Factory Images برای Nexus و Pixel Devices در دسترس هستند. تصاویر کارخانه موتورولا Xoom مستقیماً توسط موتورولا توزیع می شود.

خطاهای مجوز رد شده را برطرف کنید

به طور پیش فرض در اکثر سیستم های لینوکس، کاربران غیرمجاز نمی توانند به پورت های USB دسترسی داشته باشند. اگر خطای مجوز رد می‌بینید، به دستورالعمل‌های Android Studio برای راه‌اندازی دستگاه برای توسعه مراجعه کنید.

اگر ADB قبلاً در حال اجرا بود و نمی‌توانید به دستگاه متصل شوید، می‌توانید ADB را با adb kill-server متوقف کنید. این دستور باعث می شود ADB با پیکربندی جدید راه اندازی مجدد شود.