Има много скрити команди за бързо стартиране на вашето устройство. За да ги намерим, ще трябва да изхвърлим буутлоудъра и да прегледаме съдържанието!
В стремежа си да открия колкото е възможно повече за персонализирането на Android, направих много неясни, но интересни открития. Показах ви как да получите достъп скрити менюта на вашето устройство чрез пресяване на всички скрити дейности на приложения на вашия телефон. Съвсем наскоро ви показах как да получите достъп до диагностичен инструмент за скрит хардуер на определени смартфони. Сега разбирам, че някои от вас бяха разочаровани от факта, че вашият смартфон не беше разгледан в предишната статия и се извинявам за това.
За да компенсирам това, ще ви преведа през нещо много, много по-напреднало и вълнуващо: изхвърляне на буутлоудъра на вашето устройство, за да откриете скрити команди за бързо стартиране. Това ръководство, въпреки че е направено на моя Nexus 6P, определено може да се възпроизведе на повечето смартфони. Въпреки това командите, до които ще имате достъп, ще варират значително между устройствата. Повечето команди няма да ви помогнат в реална ситуация, но въпреки това е доста интересно да се потопите толкова дълбоко в настройките на телефона си. Да започваме.
Отказ от отговорност: Докато знаете какво правите и можете да следвате инструкциите по подходящ начин, нищо лошо не трябва да се случи на вашето устройство. Но ние все още се забъркваме с дяловете на нашето устройство и буутлоудъра, така че не можем да кажем какво може да се случи, ако въведете грешна команда. Уверете се, че имате готово резервно копие извън устройството!
Подготовка
Преди да започнем, има едно наистина, наистина важно нещо, което трябва да отбележим. За да извлечете буутлоудъра на вашето устройство, ще ви трябва root достъп на вашия телефон. Ако нямате root достъп, можете да продължите да четете това ръководство за образователни цели, но няма да можете да изпълнявате нито една от необходимите команди. Разбра ли? Добре. Друго задължително условие, което ще трябва да изпълните, е да се уверите, че вашият компютър разполага с всички подходящи ADB/fastboot драйвери. Ако нямате бинарните файлове ADB/fastboot, препоръчвам да инсталирате Минимален ADB & Fastboot от нашите форуми. Що се отнася до драйверите, можете да вземете необходимите драйвери за устройства Google Nexus тук и за всички други устройства от тук. Как да разберете дали сте готови? Включете устройството си, активирайте USB отстраняване на грешки в Настройки за разработчици, отворете команден ред и въведете:
adb devices
Ако видите изскачащ серийния номер на вашето устройство, значи имате правилните драйвери.
Изхвърляне на Bootloader
Първата ни стъпка е да отворим обвивка на нашето устройство, за да можем да изпълняваме команди през ADB. Най-добре е да изпълняваме команди през ADB, защото сме много по-склонни да правим грешки, когато пишем на виртуална клавиатура, а правенето на грешки не е нещо, което искате да правите тук. Първата команда, която трябва да изпълните в командния си ред, е:
adb shell
Ако видите промяна на командния ред от показване на двоичната директория на ADB към показване на кодовото име за вашето устройство с Android, тогава успешно сте въвели обвивката на локалния команден ред на вашето устройство. Сега, за да получите достъп до дяловете, които трябва да изхвърлим, ще ви трябва достъп на суперпотребител. За да направите това, въведете следното:
su
Символът пред кодовото име на вашето устройство трябва да се промени от $ да се # което показва, че вече можете да изпълнявате команди с повишени привилегии. Внимавайте сега!
След това ще разберем точното местоположение на изображението за зареждане на вашето устройство. За да намерим точната директория, ще отпечатаме списък на всички дялове и техните директории по име и ще потърсим една по-специално, наречена „ботуш.' Ще трябва да въведете две команди, както следва:
cd /dev/block/bootdevice/by-name
ls -all
Както можете да видите по-горе, се отпечатва огромен списък с директории на дялове. Тези дялове са сортирани по име, така че можем лесно да разпознаем местоположението на нашия дял за зареждане. В моя случай буутлоудъра, който е 'ботуш' в изображението по-горе, може да се намери в /dev/block/mmcblk0p10. Това ще варира в зависимост от вашето устройство, така че е важно да следвате тези инструкции, за да разберете истинската директория, където се намира вашият буутлоудър. Обърнете внимание обаче на тази директория, тъй като ще я посочим в следната команда за изхвърляне на буутлоудъра:
dd if=/dev/block/{YOUR ABOOT PARTITION} of=/sdcard/aboot.img
След като успеете, трябва да намерите файл, наречен „aboot.img' намиращ се в основата на вашата вътрешна памет. Сега, след като изхвърлихме буутлоудъра, трябва да го прегледаме, за да определим какви скрити команди можем да намерим.
Скрити команди за бързо стартиране и техните употреби
Може да сте запознати с някои от по-често срещаните команди за бързо стартиране, като напр флаш бързо стартиране или бързо стартиране. Има много повече команди за бързо стартиране, както е дефинирано в протокол с отворен код за бързо стартиране. Ето списък на командите за бързо стартиране, налични на всяко устройство с буутлоудър, базиран на най-новия код на AOSP:
Това, което липсва в този списък, е fastboot OEM команди. Тези команди са специфичен на производителите на устройства с Android и никъде няма изчерпателен списък или документация за наличните oem команди за бързо стартиране. Сега, ако производителят на вашето устройство е бил любезен да предостави команда за бързо стартиране, която изброява всички OEM команди (опитайте fastboot oem? и вижте дали това работи), тогава няма да е необходимо да правите нищо повече. Ако няма команда, която да отпечата списък с наличните oem команди за бързо зареждане, тогава ще трябва да отпечатате списък с струни от aboot.img и потърсете ръчно oem командите.
'strings' е команда на Linux, документацията за която е налични тук. Както можете да разберете, аз лично използвам машина с Windows, така че вместо това използвах a програма, която имитира „низове“ от Linux. Суровият изход на командата 'strings' във файл aboot.img ще бъде доста разхвърлян, но ако просто натиснете CTRL+F за „oem“, трябва да намерите това, от което се нуждаете. Ако искате да прецизирате търсенето си, можете да опитате тази команда (за версията на Windows, която свързах):
strings * | findstr /i oem
За Nexus 6P съставих следния списък с oem команди за бързо стартиране:
fastboot oem unlock-go
fastboot oem frp-unlock
fastboot oem frp-erase
fastboot oem enable reduced-version
fastboot oem device-info
fastboot oem enable-charger-screen
fastboot oem disable-charger-screen
fastboot oem enable-bp-tools
fastboot oem disable-bp-tools
fastboot oem enable-hw-factory
fastboot oem disable-hw-factory
fastboot oem select-display-panel
fastboot oem off-mode-charge enable
fastboot oem off-mode-charge disable
fastboot oem ramdump enable
fastboot oem ramdump disable
fastboot oem uart enable
fastboot oem uart disable
fastboot oem hwdog certify begin
fastboot oem hwdog certify close
fastboot oem get-imei1
fastboot oem get-meid
fastboot oem get-sn
fastboot oem get-bsn
fastboot oem get_verify_boot_status
Бъдете предупредени, че не трябва да опитвате някоя от горните команди или която и да е от командите, които откриете на вашето устройство, освен ако не сте готови да поемете рисковете. Има причина тези команди да са скрити от потребителя.
Като се има предвид това, помислих за някои удобни приложения за някои от тези команди за бързо стартиране, които намерих (които може да са или не присъства на вашето устройство, така че следвайте инструкциите по-горе, за да проверите!), които трябва да харесат най-хардкорния Android ентусиаст. Тук има две команди, които могат да имат някаква практическа полза.
На първо място е fastboot oem (активиране|деактивиране)-зарядно-екран команда. Това, което прави, е да деактивира екрана за зареждане, който изскача, когато устройството ви е изключено. Ако не сте фен на ослепителната яркост на екрана за зареждане, когато телефонът ви е изключен, тогава можете да го деактивирате чрез тази скрита команда за бързо зареждане!
Следващото е fastboot oem off-mode-charge (активиране|деактивиране) команда. Тази команда определя дали вашето устройство ще се включи автоматично, когато бъде открит източник на захранване. По подразбиране е зададено на „деактивиране“. Ще призная, че тази команда няма голяма полза за телефони, но ако планирате да монтирате таблета си в таблото на колата си, ще намерите тази команда невероятно полезен. Ще можете да настроите вашето устройство да се включва незабавно, когато таблетът получи захранване, като например когато батерията на колата ви стартира. Обратно, доста лесно е да изключите захранването на таблета при загуба на захранване с помощта на приложение за автоматизация като Tasker. Тази команда, между другото, работи точно както е написано на Nexus 7 (2013).
Това е всичко за този урок за персонализиране на Android. Споделете командите, които откривате (в идеалния случай във връзка към pastebin) в коментарите по-долу!
Благодарение на XDA Senior Recognized Developer Dees_Troy за помощта му при създаването на тази статия!