Не всегда производители различной техники выпускают действительно удобные и юзабельные гаджеты на рынок. Иногда на полки магазинов попадают довольно сырые устройства, а в случае бюджетных моделей — про них забывают сразу после выхода с конвейера. Другое дело, когда девайс оказывается непаханым полем в плане моддинга и всем свои видом намекает «давай, начни во мне копаться!», как и сегодняшний герой — 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 смартфонов!
Этот телефон мне очень напоминает жигули. Жигуль — неплохая машина за свою скромную цену, но как по мне — АвтоВАЗ сделал лишь минимум, чтобы машина могла привезти из точки А в точку Б (в случае нобби — позвонить и написать сообщение), открывая своей простотой кладезь возможностей различного тюнинга и доработок. Тоже самое и с нобби — ты покупаешь просто телефон. Но в отличии от большинства «тапков» — ты его ещё можешь довести под себя — а это самое ценное для техногика и любителя покопаться в различных девайсах!
А вы как думаете? :) Жду ваше мнение в комментариях.
Комментарии (27)
StjarnornasFred
00.00.0000 00:00+1UniSOC — SC9820E, который при ближайшем рассмотрении оказывается унаследованным от давнего знакомого бюджетников из 2014 — SC7715.
А вот и нет. SC9820E не следует путать с SC9820A, там всё разное, вплоть до архитектуры. А вот у SC9820A, действительно, то же ядро Cortex A7 (точнее, два), что и у одноядерного SC7715. Впрочем, в плане команд управления спредтрумы, не считая галлитов от RDA, все плюс-минус одинаковы.
А можно попробовать прогнать на нём Antutu и/или какие-нибудь ещё бенчмарки? По приколу, плюс для понимания, какие сведения о платформе он отдаёт.
bodyawm Автор
00.00.0000 00:00В какой то момент у спредтрума был очень популярный чипсет SC6820, который применялся в ультрабюджетных девайсах - некоторых самсунгах и... бесчисленнных репликах флагманов этого самого Samsung. А в Orange Pi 2G IoT используется RDA8820. Примерно в момент выхода 6820, RDA объединилась с Spreadtrum и похоже SC6820 - это RDA8810 с Mali вместо Vivante :)
А маркировки спредтрума жесть. 9820 оказались лте чипсетами, в то время как в этом девайсе используется sc7715, несмотря на то, что спеки вроде говорят от 9820. А оф. спекиговорят о SC7731. Весело :)
nbkgroup
00.00.0000 00:00+4Просто так его распаковать и работать с ним не выйдет — нужна машина с
Linux на борту и пакетами для работы с UBI, а поскольку мы хотим моддить
из под Windows — придётся немного мудрить.На какие только неудобства не идут люди, чтобы линуксом не пользоваться.
MikeVC
00.00.0000 00:00Интересно а можно ли править прошивку или создавать свою не под андроид а под более простые телефоны. Например, на процессоре MT6261D. Полюбому есть некая среда разработки. Не думаю что кетайцы вот прям с нуля пишут прошивки для своих поделий. Тем более что софт очень похож в разных моделях.
Max_Pershin
00.00.0000 00:00Есть — но с проблемами — у 6261 меньше оперативной памяти чем нужно для mtkos. И стандартный подход изменен.
bodyawm Автор
00.00.0000 00:00Это почему? 6261 унаследован от 6235/6225 (те, на которых работали ноклы), ОЗУ там так же вроде, только кол-во ПЗУ обрезали до 4 мегабайт (!), тогда как дампы на тех мобилках весили 16-32.
bodyawm Автор
00.00.0000 00:00можно, но в открытом доступе исходников есть (на самом деле есть, но не полные и под старые чипсеты).
6261 - обрезанная версия для часов, которая умеет дешевую spi память.
MikeVC
00.00.0000 00:00Я про супер миниатюрные телефоны. Очень они мне понравились. Но софт там сырой, хотелось бы доработать. Они на 6261 и прошивка там 4мб (есть дамп). Слить и разломать ее не проблема. Но чем и как модифицировать ?
iShrimp
00.00.0000 00:00Посоветуйте ресурсы по разработке под старые версии Android (2.3-4.0). Хотелось бы дать девайсам вторую жизнь. Нужен какой-нибудь 2d графический движок, поддерживающий старые андроиды.
bodyawm Автор
00.00.0000 00:00+1сейчас сам делаю ВКшечку под старые ведра, можно сказать "в лоб" - апдейтится весь вью с последними 200 сообщениями. На слабых устройствах работает так себе, при скролле подтормаживает :)
Лонгполлинг не юзаю, пуши тем более - их тут впринципе нет.
Под Java есть AndEngine (2D). Для 3D старый юнити (3-4) подойдет.
bodyawm Автор
Похожи? :)
StjarnornasFred
Пятиконечные диски на 4 болтах? Адъ перфекциониста :)
Gor40
Hidden text
nafikovr
шестиконечная звезда на 5 спиц?
Gor40
Это как образец. Их разные делают.
radtie
С дисками вообще сложно, например 5 болтовые почти все 7-8 лучевые ))
bodyawm Автор
Я основательно закупился девайсиками для будущих статей. И все из них очень интересные!
В первую очередь, я купил QWERTY смартфоны: SGH-i600, BlackBerry Torch и beTouch E130. Все они по своему интересны: самсунг работает на винмобайле, Torch на BBOS7, а beTouch - на Android 2.1!
Будет и вот такой смартфон-раскладушка Samsung Galaxy W 2014, купленный мной за 1.000 рублей. Но достался он мне непросто - девайс продавался в Красноярске, продавец не хотел никаким образом отправлять, только личная встреча и Хабровчанин Денис Матофонов пришёл на помощь, съездив куда-то в ближайший поселок за ним, а затем отправил мне! Говорим ему большое спасибо, девайс действительно очень интересный и... с подвохом!
И да, у него два сенсорных дисплея, и оба амолед!
BlackBerry Z30, который я взял себе как основной. Купил за 500 рублей как "невключайку" :) Отличный девайс, SuperAMOLED дисплей, 2х ядерный снепдрегон из 2012, 2гб ОЗУ. Бегает он неплохо и сейчас. Уже оценил удобство BB Hub!
Купил абсолютно новый One Touch Fire E за 1.000 рублей, в пленках, коробке и с полным комплектом! Это смартфон на FireFox OS - мобильную ОС для бюджетников, которую забыли... а затем воскресили в виде KaiOS, которую можно встретить на современных Nokia!
Ну и целых 15 новых китайских мобилок из 2012-2013 года, которые завалялись у какого-то торгаша. Каждый девайс обошелся мне в 300 рублей, всего 15 девайсов, из которых 3 бонусом! И тут тоже история классная получилась: у меня есть подписчик и постоянный читатель Yohohori-san с DTF. Этот лот мне скинули в общей конференции, я сразу им заинтересовался, позвонил - продавец с доставкой не работал ни в какую, а жил в Москве около метро. Я созвал клич среди читателей на DTF, Yohohori пришёл на помощь и в тот же день забрал не только мобилки "в рассрочку" (у меня на руках не хватало на все девайсы), но еще и умудрился отправить в тот же день! А ещё Yohohori подарил мне 2 нетбука на атоме. Говорим ему большое спасибо!
Аr@evilaks подарил мне Galaxy Nexus и несколько забавных HTC.
Спасибо вам всем, моим читателям, за вашу поддержку :) Без вас я бы не смог делать столько контента!
isden
А можно плз точное название модели этой раскладушки? В гугле какую-то дичь показывают по этой строке.
bodyawm Автор
Samsung W2014 Specifications, Comparison and Features (phonebunch.com)
isden
Спасибо. Я с пробелом после W искал :)
iShkval
Гугл что то в последнее время вообще искать нужную инфу разучился, чуть не так составить запрос или вставить лишний пробел и его понесло в дебри абсолютно нерелевантного запросу контента