Не всегда производители различной техники выпускают действительно удобные и юзабельные гаджеты на рынок. Иногда на полки магазинов попадают довольно сырые устройства, а в случае бюджетных моделей — про них забывают сразу после выхода с конвейера. Другое дело, когда девайс оказывается непаханым полем в плане моддинга и всем свои видом намекает «давай, начни во мне копаться!», как и сегодняшний герой — Android-кнопочник Nobby 230! Сегодня мы с вами: напишем свой лаунчер, переработав UI телефона, портируем кастомное рекавери, добавим поддержку ROOT-доступа, вычистим хлам от производителя, предустановим необходимые приложения и оформим это всё в виде готового образа, который сможет поставить себе каждый владелец подобного телефона! Интересно?
❯ Предисловие
Честно сказать, я не ожидал такой обширной реакции на статью об этом кнопочнике. Многие читатели выражали неподдельный интерес к подобному классу устройств и хотели бы получить смартфон в формате классического кнопочника. И в целом вариантов не так уж и мало, на любой вкус, бери — да выбирай! Тут и QWERTY смартфоны, которыми можно управлять почти полностью с клавиатуры, такие как BlackBerry KeyOne и его формальный наследник — UniHertz Titan:
Два красавца!
Так и модели 2010-2011 годов, когда был настоящий бум на QWERTY клавиатур и почти каждый известный бренд выпускал модели в подобном форм-факторе, например, Acer BeTouch E130 или Galaxy Y Pro. Самое приятное в подобных девайсах — найти подобные смартфоны вы можете и сейчас по 500-1.500 рублей на барахолках, если вы вдруг не сильно привередливы к функционалу устройства.
BeTouch 130 с трекболлом
Galaxy Y Pro с очень точным оптическим трекпадом!
Но всё же некоторым людям нужен обычный «тапок» в исполнении «моноблок». И вот тут всё гораздо сложнее: производители не хотят выпускать что-то серьёзное на этот рынок из-за рисков понести серьёзные убытки, ведь большинству людей кнопки не нужны вовсе. Однако, определенные шажки в эту сторону делаются. В первую очередь компанией Xiaomi, которая в 2018 выпустила Qin1s, оказавшийся весьма удачным, породив кучу (не смейтесь) реплик! Xiaomi оценили успех своего первенца и теперь время от времени развивает линейку Qin, выпуская кнопочные смартфоны на очень неплохом железе, которое тянет даже PUBG и Genshin Impact (!)
Qin 1S
Да, это выглядит странно :)
Оригинальный Qin 1s был построен на слабом и дешевом железе от UniSOC — SC9820E, который при ближайшем рассмотрении оказывается унаследованным от давнего знакомого бюджетников из 2014 — SC7715. Российские ритейлеры смекнули — если себестоимость подобных телефонов копеечная, то нужно дать потребителю кнопочный смартфон с максимальной ценой до 2.000 рублей. И таки сделали — Nobby 230, BQ 2400G/2800, SenseIT L250. Мобилки неплохо продавались, даже на 4pda появлялись темы про них, но особого развития в моддинг-сообществе они не получили. И это надо исправлять.
❯ Что мы будем делать?
Свой «нобби» я сейчас использую в качестве резервного смартфона, из которого можно выйти в ВК и настрочить сообщение. Но у него есть объективные косяки, которые мне очень не нравятся:
- Дико неудобное меню (лаунчер). Оно не анимировано, слишком красочное и заставляет идти в подменю для просмотра всех приложений.
- Отсутствие ROOT-доступа. Я люблю моддить и копошиться в своих девайсах и точно знаю, что я такой далеко не один! Плюс наличие root-прав позволит нам на лету менять говерноры и ограничивать тактовую частоту чипсета, позволяя серьёзно экономить аккумулятор.
- Ненужные и не удаляемые приложения — например Facebook Lite и WhatsApp, который не обновить штатными средствами.
Загрузчик устройства оказался разблокированным, поэтому никаких проблем с моддингом не возникнет. Ещё один важный момент: дешевые Android смартфоны хардварно практически идентичны — те же чипсеты, те же чипы памяти, даже дисплеи схожи. Вы скорее всего без каких-либо проблем сможете поставить на свой девайс готовую кастомную прошивку (которую я оставлю в конце статьи).
❯ Recovery
Как я уже сказал, подобные устройства работают на базе очень старого чипсета SC7715, поэтому с портированием recovery проблем никаких не будет — уже есть готовые версии TWRP и CWM с других смартфонов, которые нужно будет пропатчить. Суть вот в чём: в этих смартфонах используется не eMMC, а дешевая NAND память малой емкости, для работы с которой используется механизм называемый UBI. UBI — это стандарт, состоящий из механизма описания разделов (как GPT/MBR) и UBIFS — специальной файловой системы, оптимизированной для работы на флэш-накопителях. Просто так его распаковать и работать с ним не выйдет — нужна машина с Linux на борту и пакетами для работы с UBI, а поскольку мы хотим моддить из под Windows — придётся немного мудрить.
TWRP и CWM из коробки умеют монтировать раздел /system/ и предоставлять полный R/W доступ через adb. Так почему бы не использовать эту особенность для дальнейшей работы? Для портирования рекавери нам понадобится т. н. «кухня» для работы с образами — MTK Img Tools (после распаковки архива с софтом создаем папки Pack/Image и Unpack/Image), фирменная программа для прошивки ResearchDownload, родная прошивка и какой-нибудь TWRP с другого телефона на SC7715. Я брал от ZTE A9.
В SP Flash Tool открываем PAC со скачанной прошивкой и видим в директории программы папку ImageFiles. Заходим в неё, копируем оттуда recovery.img в папку Unpack/Image нашей «кухни» и туда же копируем .img образ рекавери, которое мы портируем.
Распаковываем оба рекавери с помощью Unpack -> Recovery/Boot, идём в Unpack/Image/recovery/kernel/ (подразумевается родной recovery) и копируем ядро kernel из стока в папку kernel/ портируемого рекавери. Если его сейчас собрать и прошить — то рекавери запустится, но раздел system не увидит — из-за ubi, который нужно проинициализировать в init'е. Заходим в файл ramdisk/init.rc донорского рекавери и в on boot добавляем это:
ubiattach 0 ubipac
mount_all /fstab.scx15
mount -t ubifs /dev/ubi0_system /system/
Сохраняем, запаковываем наш модифицированный рекавери(Pack -> Recovery/Boot) и прошиваем его. А как же его прошить без ROOT прав, спросите вы? И тут нам поможет тот самый ResearchDownload! Нажимаем на шестеренки, жмем на строку recovery и выбираем выхлоп, который появился в Pack/Image MTKImgTool. В моем случае — recoverytwrp.img.
Все остальные галки снимаем — нам необходимо прошить только один раздел, закрываем диалог и жмем «старт». Подключаем смартфон выключенным с зажатой кнопкой 5 и ждём, когда девайс прошьется! После прошивки передергиваем батарею.
Зайти в рекавери легко: включаем отладку по USB, открываем командную строку и пишем
adb reboot bootloader
(если у вас конечно уже есть пакет adb). Устройство перезагрузится и если все сделано правильно — вы увидите рекавери, а ПК определит устройство как adb в режиме recovery с root доступом.❯ ROOT доступ
Тут варианта два: прошить готовый архив SuperSU или ручками положить бинарник su в /system/sbin и прописать ему необходимые права, а затем установить само приложение SuperSU. Я выбрал второй вариант для наглядности процесса — помещаем su в /system/xbin, назначая ему права 06755, а SuperSU.apk — в /system/app. Всё — у нас появились ROOT права! Кроме того, отсюда можно прошить MicroG или даже полноценные гаппсы. Но как они будут работать на этом устройстве… я не знаю. :)
❯ Вычищаем хлам и заменяем приложения
Поразительно! В прошивке не оказалось хлама, вообще. Тут нет никаких левых пакетов, ничего подозрительного. Но в вашем телефоне может быть по другому: см. папки /system/app и /system/priv-app. Я лично удалил WhatsApp.apk, Facebook.apk и заменил стандартный лаунчер с клавиатурой: оба от Xiaomi (сюда ссылку на архив), а также добавил Opera Mini для более комфортного серфинга в сети.
Если у вас плохое зрение или вы модифицируете телефон для пожилого человека, вы можете увеличить размер элементов на дисплее, поменяв его dpi. Заходим в build.prop и меняем параметр «ro.sf.lcd_density» в большую сторону (125-130).
А ещё можно поменять анимацию загрузки или убрать противный громкий звук. Ну если уж пустились в пляски, то почему бы не поставить яблочко на загрузку? :) Идём в /system/media/ и заменяем bootanimation.zip на скачанный из интернета (гугл 240x320 boot animations).
Кроме того, если у вас вдруг есть еще кнопки (качелька громкости например), вы можете ее назначить на какое-нибудь полезное действие — например, многозадачность или открытие шторки уведомлений. Для этого заходим в /system/usr/keylayout/gpio-keys.kl (ваш может называться по другому, ищите файл без копирайтов Android), смотрим где действие VOLUME_DOWN/VOLUME_UP и меняем на желаемое действие (можно посмотреть здесь)
Из коробки на стоковой прошивке приложения устанавливать нельзя — так решил производитель, видимо, чтобы не ломать пользователю экспиренс несовместимыми приложениями. Однако это легко поправить — достаем build.prop:
adb pull /system/build.prop
Меняем в нем парааметр
persist.sys.disable.app=true
на false, и закидываем обратно:adb push build.prop /system/
❯ Кастомизировал прошивку под себя — что дальше?
Теперь нам нужно сделать т. н. «вайпы» — стереть раздел с данными приложений, иначе Android может начать конфликтовать с ними и упасть в «бутлуп». Если примонтированы /data/ и /cache/, то достаточно прописать в
adb recovery --wipe_data --wipe_cache
. Перезагружаемся — работает? Загрузились? Первая загрузка может занимать пару минут, но если уж смартфон запустился и все работает как нужно — то значит вы всё сделали правильно!Как теперь поделится ей с сообществом? Вариантов три: использовать встроенный механизм бэкапов CWM (работает при условии, что вы починили все точки монтирования), запаковать весь образ /system/ в .tar архив, чтобы потом его распаковать одной командой, либо подготовить update архив (требует написания скрипта обновления, который сохранит все разрешения файлов). Плюс этого способа заключается в частичной автоматизации процесса установки прошивки. Делается это так:
tar -cvf /sdcard/system.tar /system/
На флэшке должен появится system.tar, который уже хранит в себе все разрешения файлов и симлинки.
Как потом кому-то установить вашу кастомную прошивку? Например вот так:
tar -xvf /sdcard/system.tar -C /
Не забываем вайпы! Вроде бы все довольно легко и просто, да? Ну это пока мы не касались темы модификации SystemUI или даже android.jar напрямую… Но в любом случае, информация в статье может оказаться полезной не только обладателям подобных кнопочников, но и обычных смартфонов, которые не знают с чего начать. На 4pda информация есть, но она недостаточно централизована, поэтому надеюсь, что эта статья будет полезной.
❯ Пишем свой лаунчер
Надоел стандартный интерфейс системы? Напиши его сам! В процессе написания статьи меня очень сильно начал раздражать стандартный лаунчер. Он тормозной, у него нет плавности и он банально неудобен. Ну а лаунчеров под подобные версии системы практически нет…
И я решил запилить свой домашний экран, с виджетами и плавной анимацией! Сказано — сделано, лаунчер писался в попыхах, с учетом слабых мест UI-фреймворка Android. Минимум аллокаций, вся навигация в приложении через смену contentView (любой вызов startActivity занимал минимум одну секунду), плавные анимации через animate, перерисовка только по необходимости и конечно же хоткеи!
Лаунчер не имеет никаких внешних зависимостей кроме android.jar, в том числе и от мною нелюбимого AppCompat. Благодаря этому, конечный размер приложения составил всего 27кб, а потребление ОЗУ ~11мб. А ещё он добавляет удобные хоткеи: кнопка вверх откроет шторку уведомлений, влево откроет браузер, вправо — whatsapp, а вниз — музыкальный плеер!
Заценить
Теперь то он хоть юзабелен?
Вот теперь девайсом можно действительно пользоваться с некоторым комфортом! К сожалению, конкретно у моего экземпляра есть дефект с двойным нажатием кнопок — и дело не в мембранах, а самой пластиковой клавиатуре. Китайцы и тут решили сэкономить :(
Но в остальном — смартфон работает вполне ничего. У нас появился относительно адекватный домашний экран, возможность накатить патчи интерфейса с помощью Magisk и без проблем обновлять WhatsApp (в одной из официальных прошивок был баг, который не позволял обновлять системные приложения).
Как я уже говорил — на смартфоне без проблем работают WhatsApp и ВК, можно посерфить некоторые страницы или поиграть в несложные игрушки. Ребята с 4pda пишут, что берут его в армию, а кто-то на режимные объекты! И всё таки идея офигенная: теперь я точно уверен, что концепция смартфонов-кнопочников имеет право на жизнь и в первую очередь, если у них появится такое же моддинг-коммьюнити, как и в своё время у первых Android смартфонов!
Этот телефон мне очень напоминает жигули. Жигуль — неплохая машина за свою скромную цену, но как по мне — АвтоВАЗ сделал лишь минимум, чтобы машина могла привезти из точки А в точку Б (в случае нобби — позвонить и написать сообщение), открывая своей простотой кладезь возможностей различного тюнинга и доработок. Тоже самое и с нобби — ты покупаешь просто телефон. Но в отличии от большинства «тапков» — ты его ещё можешь довести под себя — а это самое ценное для техногика и любителя покопаться в различных девайсах!
А вы как думаете? :) Жду ваше мнение в комментариях.
Новости, обзоры продуктов и конкурсы от команды Timeweb.Cloud — в нашем Telegram-канале ↩
Only registered users can participate in poll. Log in, please.
Полезно?
75.58% Да, интересно почитать, нашел кое-что полезное для себя!164
3.69% Нет8
20.74% Извращенец45
217 users voted. 19 users abstained.
Only registered users can participate in poll. Log in, please.
Наш девиз:
29.58% «Я лучше куплю айфон и буду ходить как нормальный человек»42
45.77% «Куплю китайский девайс и буду больше красноглазить, чем пользоваться»65
24.65% Оба варианта верны, у меня джейлбрейк35
142 users voted. 47 users abstained.