Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Классический пинбол, как в древнем игровом автомате или в компактной игрушке: есть пружины, шарики и препятствия. В нашем варианте можно не только зарабатывать очки: чтобы пройти уровень, придется выполнить дополнительную миссию.

Пинбол Пикабу

Аркады, На ловкость, Казуальные

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Android + Ретро

С этим тегом используют

Игры Смартфон Приложение iOS Телефон Google Play iPhone СССР Фотография Ностальгия Сделано в СССР История Авто Девушки Все
24 поста сначала свежее
112
monobogdan
monobogdan
Посты о ремонте и моддинге ретрогаджетов.
Android
1 год назад

В среду выйдет новый подробный материал из рубрики "сам себе экосистема"⁠⁠

Где я подробно рассказываю о том, как реализовал клиент современного мессенджера Telegram на Android 1.5+ и выше. Таким образом, Telegram будет работать даже на самом первом Android-смартфоне в мире, T-Mobile G1, причём на стоковой прошивке!

В среду выйдет новый подробный материал из рубрики "сам себе экосистема" Опрос, Покупка, Программирование, Гаджеты, Смартфон, Java, Android, Ретро, Ништяки, Мобильные телефоны, Приложение, Гик, Электроника, Linux
Интересно?
Всего голосов:
Показать полностью 1 1
[моё] Опрос Покупка Программирование Гаджеты Смартфон Java Android Ретро Ништяки Мобильные телефоны Приложение Гик Электроника Linux
24
159
monobogdan
monobogdan
Посты о ремонте и моддинге ретрогаджетов.
TECHNO BROTHER
1 год назад

Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»?⁠⁠

Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»? Смартфон, Покупка, Гаджеты, Программирование, Android, Телефон, Ретро, Девайс, Ништяки, Linux, Портирование, Научпоп, Видео, Без звука, Длиннопост

Моддинг-сцена с разработкой и портированием кастомных прошивок для Android-устройств существует вот уже более 10 лет. В основном, энтузиасты пытаются проапгрейдить свои устройства путем портирования более свежих версий Android, чем предлагает производитель девайса. Чего уж говорить, если Galaxy S III, которому уже 12 лет стукнуло, получил неофициальный апгрейд до Android 14. Порой мне в голову приходят различные, весьма странные моддерские мысли: например, почему бы не портировать на старенький смартфон… ещё более старую версию Android, дабы посмотреть «что будет». Казалось бы «портировал и портировал», но в процессе работы я столкнулся с множеством интересных нюансов и особенностей работы Android, о которых хотел бы рассказать и вам — моим читателям! Сегодняшняя статья будет в классическом «научпоп»-стиле без кода, зато с подробными объяснениями одной из техник портирования Android-прошивок путем патчинга скриптов для конфигурации системы и подмены Board-specific библиотек, дабы система «увидела» всё необходимое железо! Интересно? Тогда жду вас под катом!

❯ Мотивация


У меня, как и у многих моих читателей, одной из первых версией Android в жизни была 2.x. Наверное, я уже никогда не смогу забыть первые впечатления от использования своего новенького, пусть и бюджетного и слабого Android-смартфона после простеньких китайских кнопочников. Эти ощущения были прекрасными: вот я разблокирую смартфон, потянув «замочек» вправо, свайпаю рабочие столы и тапаю на значок приложения браузера, выполненный в стиле скевоморфизма, загружаю полноценную страницу Википедии через GPRS-сеть (мой первый смартфон не имел 3G) и плавно скроллю страницу, не забывая смахнуть шторку вниз и проверить статус уведомлений в пока ещё совсем простенькой панели нотификаций… Это были по настоящему ламповые впечатления, которые не смог превзойти ни один современный девайс: ни AOSP, ни MIUI, ни OneUI.

Моим первым смартфоном была китайская реплика Samsung Galaxy S III Mini, купленная в самом начале 2013 года. Возможно, кто-то из вас помнит, как подобные дешевые смартфоны и планшеты «Sumsanc» можно было купить на рыночных развалах, в метро и прочих местах, где допускается торговать несертифицированными гаджетами. Даже с учётом накрутки, эти смартфоны стоили всего 2 000 рублей, что было просто «подарком» для цены абсолютно нового гаджета. Девайс был крайне простым для начала 2013 года и имел следующие характеристики:

  • Процессор: Spreadtrum SC6820. Одно ядро Cortex-A5 на частоте до 1ГГц, Mali400 MP в качестве GPU. Чипсет был крайне высоко-интегрированным для своих лет: в одном корпусе располагалось ARM-ядро, GPU, контроллер питания, GPS, множество периферии (например, DAC), а также Baseband-часть GSM-радиотракта. BT/Wi-Fi реализовывались в отдельном комбочипе разработки RDA.

  • Память: 256Мб DDR1 ОЗУ/256Мб NAND-памяти в одном чипе eMCP от Hynix. Предположительно, эти чипы остались на складах ещё со времен первых Android-смартфонов, но очень быстро потеряли актуальность и их, вероятно, отдавали «за бесценок» что позволило ещё сильнее снизить цену производства таких смартфонов.

  • Дисплей: безоговорочно, TFT, обычно с разрешением не выше 480x320, что для 3" дисплея было нормальным, но для 5" — уже несколько маловато. Тем не менее, сами дисплеи были нормальными и глаза от них не «вытекали». Тачскрин обычно ёмкостной, на 2 касания.

  • Android: 2.2, на некоторых похожих моделях встречался 2.3.

  • Аккумулятор: ~1.500мАч, не больше. По форм-фактору напоминает BP-4L, без проблем подходит от многих S60 смартфонов Nokia тех лет.


Не густо, да? Уже в апреле того же года вышел Galaxy S4 с Snapdragon 600, 2Гб ОЗУ и 32Гб встроенной памяти, а мы тут с одноядерным чипсетом и 256Мб ОЗУ сидим. Но мне, будучи школяром, это было за счастье — чего я на нём только не делал, и на PHP какие-то WAP-сайты динамические пытался писать и на FTP заливать, и даже ADT Bundle скачал, дабы попытаться что-то своё запилить под собственный смартфон! В общем, я был счастлив, несмотря на лаги девайса. Именно того девайса у меня уже давным-давно не осталось… но память я всё ещё храню и стараюсь дать новый дом таким китайчикам, которые в большинстве своем оказались на свалке истории в новом мире современных смартфонов!

Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»? Смартфон, Покупка, Гаджеты, Программирование, Android, Телефон, Ретро, Девайс, Ништяки, Linux, Портирование, Научпоп, Видео, Без звука, Длиннопост

Но на самом деле, смартфоны 10+ летней давности могут быть интересны и своим форм-фактором: в современном мире едва ли можно найти хоть какие-то телефоны с полноценной QWERTY-клавиатурой (исключение — смартфоны UniHertz, которые стоят недешево) и уж тем более, боковые слайдеры. Поэтому мой интерес к подобным девайсам очень легко объяснить!

Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»? Смартфон, Покупка, Гаджеты, Программирование, Android, Телефон, Ретро, Девайс, Ништяки, Linux, Портирование, Научпоп, Видео, Без звука, Длиннопост

Однако, порой мне самому хочется снова пережить эти эмоции и ещё раз походить с подобным девайсом «на каждый день», даже когда на Android 2.2 особо никакие сервисы уже не работают. Отчасти, я решаю свои проблемы сам и пишу клиенты нужных мне сервисов, если они действительно нужны, дабы рано или поздно всё таки вдохнуть новую жизнь в «старенькие» девайсы. И казалось бы, это можно списать на синдром утёнка и банальную ностальгию, но мои ощущения «ламповости» отнюдь не мимолетны и всё равно меня тянет именно на те смартфоны, с тем самым интерфейсом, которые я когда-то увидел впервые!

Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»? Смартфон, Покупка, Гаджеты, Программирование, Android, Телефон, Ретро, Девайс, Ништяки, Linux, Портирование, Научпоп, Видео, Без звука, Длиннопост

Пожалуй, сказать что я решил портировать старый Android на отнюдь не новый смартфон «просто так» было бы ложью. Я всё ещё верю в то, что смогу в одиночку хотя бы частично вдохнуть новую жизнь в эти девайсы и позволить им работать с современными сервисами, дабы они могли приносить пользу не только мне, но и другим людям, которые намеренно занимаются дауншифтингом или вынуждены сидеть на девайсах с старыми версиями Android! Сегодняшним нашим подопытным станет один из представителей подобных noname-смартфонов тех лет, реплика Galaxy S III Mini на том самом железе, на котором работал мой первый смартфон. Однако с завода на нём стоял Android 2.3 — слишком свежая, по моему мнению, версия системы, которую я конечно-же захотел откатить до Android 2.2!

Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»? Смартфон, Покупка, Гаджеты, Программирование, Android, Телефон, Ретро, Девайс, Ништяки, Linux, Портирование, Научпоп, Видео, Без звука, Длиннопост

Задача облегчалась тем, что смартфоны на этом чипсете с Android 2.2 уже выходили, что позволило мне портировать прошивку путем несложных патчей скриптов инициализации и копирования Platform-specific файлов, дабы завести все необходимые для смартфона модули. А поскольку о таком простом способе портирования свежих и старых прошивок знают далеко не все мои читатели — я решил написать об этом отдельный подробный материал! Давайте же перейдём к практической части нашей статьи.

❯ Первые шаги


Перед тем, как начать портирование системы, нам необходимо разбираться в том, как вообще происходит процесс загрузки Android и какие процессы при этом загружаются. Вкратце, описать весь процесс загрузки можно так:

  • Загрузчик: при включении смартфона, первичный загрузчик BootROM, аппаратно-прошитый в чипсет ещё на этапе изготовления чипа, инициализирует некоторую периферию, загружает вторичный загрузчик из NAND (коим может быть SPL — Second Program Loader, занимающийся инициализацией контроллера DDR и UART) и передаёт ему управление. Вторичный загрузчик в свою очередь передаёт управление U-Boot — в задачи которого входит также инициализация периферии, обработка устройств постоянной памяти (например, NAND или контроллер SD), загрузка ядра Linux и конфигурация самого процесса загрузки. U-Boot можно считать эдакой альтернативной UEFI/BIOS в мире не-x86 устройств. В смартфонах на базе чипов MediaTek и Qualcomm, роль U-Boot выполняет LK — маленькая ОС, в задачи которой входит инициализация периферии и передача управления ядру Linux с помощью программы aboot.

  • Ядро Linux: после загрузки образа ядра с initrd (небольшая файловая система, которая загружается сразу в память и содержит в себе скрипты для конфигурации всего остального) и передачи управления ядру, Linux начинает выполнение программы с PID 0 — /init, в задачи которой входит выполнение скриптов инициализации userspace-окружения системы в init.rc. При этом смартфон уже фактически готов к работе — в одной из своих статей я показывал, как можно приостановить загрузку Android и выполнять свой код, используя все ресурсы смартфона для своих целей.

  • zygote и app_process: помимо запуска необходимых для работы смартфона служб, динамической загрузки драйверов (с помощью insmod) и определения режима загрузки (например, если телефон подключили выключенным к зарядке — необходимо показать анимацию этой самой зарядки), init.rc запускает две программы, одна из которых необходима для функционирования системы. Первая — это bootanimation, которая проигрывает анимацию включения смартфона и app_process, который в одном из режимов работы превращается в zygote — самый важный процесс для работы Android, который предварительно при старте системы загружает системный Java-байткод, отвечающий за отрисовку интерфейса, проигрывание звука и т. п. из framework.jar и другие системные ресурсы (например темы и изображения), а затем при запуске каждого приложения просто клонирует сам себя (с уже загруженными ресурсами) и начинает выполнение байткода любого запущенного Android-приложения или службы.

    Каждое запущенное приложение или служба — это отдельный app_process, в том числе и лаунчер, и Google-сервисы и клиент любого мессенджера.


Всё выглядит просто и логично, не так ли? Подытожив, можно сказать что для того, чтобы система минимально стартовала, нам необходима подходящее ядро для нашего устройства, рабочий init.rc и адекватно запускающийся init.rc. Кроме того, Android зависит от некоторых платформо-специфичных библиотек: в основном, они находятся в /lib/hardware и без них система может не запуститься или что-то может не работать. Особенно осторожно надо подходить к libhardware.so.

Как я уже сказал выше, прошивку мы будем портировать от другого смартфона на том-же чипсете и что забавно — такую же реплику, просто более-раннюю! «Из коробки», мой смартфон работает на Android 2.3, значительно более стабильной, чем изначальный порт 2.2 на эту платформу. Отличий 2.3 от 2.2 достаточно: например, на 2.2 совсем иной цвет шторки, по умолчанию стоит Light-тема, нельзя закрывать уведомления смахиванием и в целом система несколько отличается внешне. Для работы нам нужно будет два образа прошивки: ту, которую будем портировать и та, которая стоковая. Прошивки в смартфонах на платформе Spreadtrum распространяются в формате pac, однако нет никаких проблем подменить образ раздела в ResearchDownload — фирменной утилите для прошивки смартфонов на этом чипсете.

Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»? Смартфон, Покупка, Гаджеты, Программирование, Android, Телефон, Ретро, Девайс, Ништяки, Linux, Портирование, Научпоп, Видео, Без звука, Длиннопост

Я решил взять прошивку от FeiTeng N9300 Mini, родная для моего смартфона — M-Horse 9500 Mini. В случае моего девайса, разметка и список разделов между устройствами никак не отличалась, поэтому изначально я напрямую прошил раздел system.img, дабы посмотреть что будет с устройство. Не забывайте, что ядро и init.rc хранится в образе boot.img — поэтому прошивка раздела system безопасна!

Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»? Смартфон, Покупка, Гаджеты, Программирование, Android, Телефон, Ретро, Девайс, Ништяки, Linux, Портирование, Научпоп, Видео, Без звука, Длиннопост

❯ Первый запуск


После прошивки чужого раздела system, смартфон стартовал… однако работал несколько странно: во первых, у нас не было сети, во вторых не работал тачскрин (при родном то ядре), а в третьих, Android ни в какую не видел аккумулятор, вися на 0% и моментально отключаясь, если смартфон не стоит на зарядке, а при попытке воткнуть кабель — смартфон показывал индикацию зарядки, но потребление было на нуле.

Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»? Смартфон, Покупка, Гаджеты, Программирование, Android, Телефон, Ретро, Девайс, Ништяки, Linux, Портирование, Научпоп, Видео, Без звука, Длиннопост

Поскольку тачскрина у нас нет, root доступ через adb придется включать «ручками» — для этого нам необходимо перепаковать наш родной раздел boot. Для распаковки и запаковки образов, я пользуюсь MtkImgTool — весьма удобная «кухня» для работы. Вытаскиваем boot.img из pac, закидываем в Unpack/Image/ и распаковываем с помощью Boot -> Unpack -> boot.img

Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»? Смартфон, Покупка, Гаджеты, Программирование, Android, Телефон, Ретро, Девайс, Ништяки, Linux, Портирование, Научпоп, Видео, Без звука, Длиннопост

В Unpack/boot/ramdisk/default.prop нам необходимо изменить ro.debuggable на 1, а ro.secure на 0. Это даст возможность отлаживать устройство даже если Android фактически не загрузился.

Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»? Смартфон, Покупка, Гаджеты, Программирование, Android, Телефон, Ретро, Девайс, Ништяки, Linux, Портирование, Научпоп, Видео, Без звука, Длиннопост

Теперь у нас есть root-консоль устройства, даже если смартфон висит на заставке. Прошиваем обратно образ, пишем adb shell в консоли и смотрим, что же тут не так… Вообще, драйвер тачскрина обычно статически слинкован с ядром, но в случае устройств Spreadtrum — они вынесены в динамические модули ko, которые можно найти в папке /lib/modules/, либо /sps/. Давайте глянем init.sp6820a.init.3rdparty.rc, который отвечает за специфичную для этой модели смартфона инициализацию.

Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»? Смартфон, Покупка, Гаджеты, Программирование, Android, Телефон, Ретро, Девайс, Ништяки, Linux, Портирование, Научпоп, Видео, Без звука, Длиннопост

Ага, видим insmod gt868.ko? Это команда загрузки драйвера тачскрина, в нашем случае — это вышеупомянутый GT868. Иногда встречаются другие модели тачскринов, но главное отличие прошивки 2.2 от 2.3 — разные названия папок с драйверами и некоторые службы. Достаём из родного образа драйвер gt868.ko, используя всё тот-же MtkImgTools, распаковывая его как обычный ext2 раздел:

Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»? Смартфон, Покупка, Гаджеты, Программирование, Android, Телефон, Ретро, Девайс, Ништяки, Linux, Портирование, Научпоп, Видео, Без звука, Длиннопост

Пишем в консоли устройства:

adb push / gt868.ko
adb shell
insmod /system/lib/modules/gt868.ko

И наслаждаемся тем, что у нас теперь появился тачскрин! Android сам подхватил новое устройство ввода, поскольку драйвер тачскрина — обычное устройство в /dev/input/. Чтобы драйвер грузился при загрузке, его достаточно добавить в init.sp6820a.3rdparty.rc, предварительно закинув в раздел /system/. Перед этим, раздел нужно перемонтировать для возможности записи:

on boot
insmod /system/gt868.ko

adb shell
busybox mount -o remount,rw /system/
mkdir /lib/modules/
exit
adb push gt868.ko /lib/modules/

После модификации rc-скрипта, нужно обратно запаковать boot.img с помощью MtkImgTools и прошить его с помощью ResearchDownload — тачскрин будет работать даже после перезагрузки!

❯ Поднимаем зарядку и сеть


Переходим к отсутствию связи с аккумулятором и нулевым потреблением АКБ. Здесь мне пришлось несколько покопаться и почитать логи ядра с помощью команды dmesg. Я обратил внимание на то, что некая служба пишет что-то об аккумуляторе, но разобраться было несложно: в папке /system/bin я нашёл программу charge, которая, очевидно, отвечает за настройку КП для старта зарядки. Что она точно делает — мне неизвестно, возможно корректирует какие-то значения в sysfs, возможно с помощью ioctl общается с драйвером КП и даёт разрешение на старт зарядки и обновление информации в sysfs. В любом случае, после замены /system/bin/vcharged на оный из родной прошивки, зарядка заработала.

Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»? Смартфон, Покупка, Гаджеты, Программирование, Android, Телефон, Ретро, Девайс, Ништяки, Linux, Портирование, Научпоп, Видео, Без звука, Длиннопост

Для этого мы снова перемонтируем /system/ в режим записи и копируем vcharged, не забыв вернуть обратно необходимые права:

adb push charge /system/bin/
adb shell
chmod 777 /system/bin/charge

Перезагружаем устройство и… зарядка с индикацией появилась!

Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»? Смартфон, Покупка, Гаджеты, Программирование, Android, Телефон, Ретро, Девайс, Ништяки, Linux, Портирование, Научпоп, Видео, Без звука, Длиннопост

Вроде всё работает на первый взгляд: и звук, и вибро, и Wi-Fi с Bluetooth… однако сети-то нет! Девайс не определял наличие SIM, а вместо IMEI у нас был null/null:

Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»? Смартфон, Покупка, Гаджеты, Программирование, Android, Телефон, Ретро, Девайс, Ништяки, Linux, Портирование, Научпоп, Видео, Без звука, Длиннопост

Чтобы её поднять, нам необходимо разобраться в том, как работает подсистема взаимодействия с радиомодулем в Android, которая называется ril — Radio Interface Library. RIL предоставляет API для системы, дабы оперировать не напрямую AT-командами (которые могут быть проприетарными, а на некоторых чипсетах, как, например, Qualcomm вообще отсутствовать), а удобным набором функций — например о запросе статуса радиомодуля, начале звонка, поиска сети и т. п. RIL состоит из сервиса rild в /system/bin/ и библиотеки libril.so, которую можно найти в папке /system/lib/. При запуске системы, TelephonyManager открывает сокет с rild и опрашивает его состояние. Именно из TelephonyManager система берет информацию о силе сигнала, название оператора, IMEI и другие данные.

Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»? Смартфон, Покупка, Гаджеты, Программирование, Android, Телефон, Ретро, Девайс, Ништяки, Linux, Портирование, Научпоп, Видео, Без звука, Длиннопост

Путем ковыряния в dmesg я понял, что система флудит из-за невозможности запустить проприетарный сервис Spreadtrum — sprd_monitor. При попытке позвонить в 112, смартфон бесконечно пытается включить радиомодуль. Я ковырялся в UI-части исходного кода Android, дабы понять логику работы, но проблема крылась как раз в упомянутых выше службах sprd_monitor. Берём их из /system/bin/ оригинальной прошивки, закидываем их в устройство, не забыв установить права и отправляем систему в ребут:

adb push engappclient /system/bin/
adb push engmodemclient /system/bin/
adb shell
chmod 777 /system/bin/engappclient
chmod 777 /system/bin/engmodemclient

Ошибки в dmesg пропали, IMEI появился, но устройство до сих пор не хочет никуда звонить и просто висит на экране звонка. В настройках смартфон говорит о том, что уровень сигнала недоступен, а значит, радиомодуль до сих пор не работает :(

Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»? Смартфон, Покупка, Гаджеты, Программирование, Android, Телефон, Ретро, Девайс, Ништяки, Linux, Портирование, Научпоп, Видео, Без звука, Длиннопост
Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»? Смартфон, Покупка, Гаджеты, Программирование, Android, Телефон, Ретро, Девайс, Ништяки, Linux, Портирование, Научпоп, Видео, Без звука, Длиннопост

Но и мы так просто не сдаемся! Поковыляв по файловой системе, в директории /system/opl/telephony/bin/ я нашел скрипт, отвечающий за инициализацию радиотракта, который вызывает родной 3rdparty.rc! Запускаем sh-скрипт и обнаруживаем, что сеть появилась и девайс дозвонился в 112, а также увидел SIM-карту!

sh init.tel

Теперь всё полностью работает :) Дабы радиотракт запускался при старте устройства, я перенес часть инита из boot.img от прошивки, которую мы портировали. Для кого-то, казалось бы, это всё достаточно сложно и долго. Но у меня ушел всего один день на полную отладку и запуск такой кастомной прошивки на своем устройстве! Можно сказать, это самый базовый и краткий экскурс в такое нелегкое дело, как моддинг Android-устройств.

Но мы ведь это всё не просто так делали! Давайте глянем, как будет работать такой девайс на Android 2.2 в 2024 году — спустя 14 лет после выхода системы. Всё ли так плохо, как кажется?

❯ Знакомимся с девайсом


Думаю, многие читатели вспомнят этот ламповый интерфейс, обои с одуванчиком и лаунчеры а-ля TouchWiz на тех смартфонах, где интерфейс Samsung был не предусмотрен. А эти «бульк»… их сложно забыть!

Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»? Смартфон, Покупка, Гаджеты, Программирование, Android, Телефон, Ретро, Девайс, Ништяки, Linux, Портирование, Научпоп, Видео, Без звука, Длиннопост

Конечно, изначально может показаться, что устройство плохо подходит для выполнения современных задач: браузер не способен загрузить большинство страниц, а из альтернатив есть только Opera Mini, где вообще нет динамического контента, а официальные клиенты ВК, WhatsApp и YouTube уже давно не работают. Опечаленный читатель может подумать, что девайс, как и многие его ровесники уже давно превратились в звонилки…

Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»? Смартфон, Покупка, Гаджеты, Программирование, Android, Телефон, Ретро, Девайс, Ништяки, Linux, Портирование, Научпоп, Видео, Без звука, Длиннопост

Но это отнюдь не так! Ведь как я уже говорил, я стараюсь своими силами вдохнуть в подобные девайсы новую жизнь, реализуя на них клиенты нужных мне сервисов сам! Да, пусть примитивно и корявенько, далеко не ынтырпрайз-уровень, но эти приложения выполняют свои функции и что, немаловажно, весят очень мало (до 100Кб) и работают крайне шустро! Клиент ВКшечки просто летает, несмотря на то, что фактически реализован только мессенджер с нотификациями и музыка.

Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»? Смартфон, Покупка, Гаджеты, Программирование, Android, Телефон, Ретро, Девайс, Ништяки, Linux, Портирование, Научпоп, Видео, Без звука, Длиннопост
Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»? Смартфон, Покупка, Гаджеты, Программирование, Android, Телефон, Ретро, Девайс, Ништяки, Linux, Портирование, Научпоп, Видео, Без звука, Длиннопост

Пожалуй, многие читатели удивятся — но на таких девайсах есть YouTube! Мой самопальный клиент не поддерживает стриминг из сети (да и многие девайсы объективно не потянут), поэтому предварительно загружает видео на MicroSD-флэшку и затем уже их воспроизводит. Как приятный бонус — видео потом можно посмотреть в любой момент в галерее.

Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»? Смартфон, Покупка, Гаджеты, Программирование, Android, Телефон, Ретро, Девайс, Ништяки, Linux, Портирование, Научпоп, Видео, Без звука, Длиннопост

Я помню насколько было лампово слушать музыку с таких девайсов. И если претензии к основному динамику не очень актуальны, то к качеству звука в наушниках были придирки — звук был громкий, но ему не хватало низких частот, из-за чего он звучал несколько плоско, хотя мне и этого хватало — ведь я слушал музыку в наушниках по 200-300 рублей с рынка! Я всё ещё помню те времена, как качал mp3-треки по 2-3 мегабайта через 2G-интернет… слушаешь один трек — как раз загрузится другой и так по кругу наполнял свою фонотеку. Эх времена то какие были! Тем не менее, для некоторых базовых мультимедийных возможностей девайс подходит и сейчас, например в машину в качестве BT-хоста с музыкой.
А ещё на таких девайсах порой клёво скачать какой-нибудь Temple Run образца 2011 года и вспомнить самое начало смартфонного гейминга тех лет… ведь далеко не все игры того времени запускаются на свежих версиях Android!

❯ Заключение


В остальном же, подобные девайсы отнюдь не бесперспективны! Несмотря на совсем не новое железо, они всё ещё могут выполнять многие задачи, стоит лишь снова запилить необходимые приложения для них! Мессенджеры, соц. сети, музыкальные сервисы и даже просмотр видео — всё это доступно даже для таких, казалось бы, «устаревших» девайсов, когда есть запал энтузиазма и жгучее желание походить именно с этим конкретным устройством как с основным!

Для кого-то это просто проявление синдрома утенка или картинки «вот кому-то делать не.»… ну а для меня — это крайне интересное, захватывающее и кайфовое времяпровождение: начиная от аппаратного ковыряния с такими девайсами и копания исходников ядер/драйверов, заканчивая написанием оптимизированных клиентских приложений, которые весят не 100-200Мб, а 100-200Кб :)

Друзья, если у вас есть подобные китайчики и вы не разделяете желания пытаться вдохнуть в них жизнь, но выбрасывать их жалко — можете задонатить их мне :) Как сами видите — девайсы попадают в хорошие руки. Из недавнего — я взял нерабочую, утопленную китайскую копию 14 Pro Max из под СЦ в качестве основного смартфона. Также у меня есть канал в Telegram, куда я выкладываю бэкстейджи статей, различные заметки о ремонте, моддинге, программировании и реверс-инжиниринге и свои мысли. Кому интересно — залетайте!

Понравилась ли вам статья? Какими были ваши первые Android-смартфоны? Пишите в комментариях, будет интересно почитать!

Показать полностью 23 2
[моё] Смартфон Покупка Гаджеты Программирование Android Телефон Ретро Девайс Ништяки Linux Портирование Научпоп Видео Без звука Длиннопост
27
649
monobogdan
monobogdan
1 год назад
TECHNO BROTHER

Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения⁠⁠

Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения Гаджеты, Android, Смартфон, Покупка, Galaxy, Samsung, Java, Программирование, Самопал, ВКонтакте, Ретро, Девайс, Ништяки, Мобильные телефоны, Электроника, Телефон, Linux, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост



Размер экрана — краеугольный камень мира современных смартфонов. Кто-то считает, что дисплеи должны становиться только больше, а рамки — меньше, кто-то любит «средние» дисплеи диагональю в 5+", ну а кто-то остаётся ярым поклонником и приверженцем компактных смартфонов с крошечными дисплейчиками. В наше время, купить новый смартфон с относительно небольшим дисплеем за приемлемые деньги почти нереально — самые бюджетные модели будут слишком тормозными для современного пользователя. Некоторое время назад, я купил себе бюджетный крошечный смартфон 2012 года выпуска — Samsung Galaxy Pocket, причём всего за 100 рублей. Конечно же мне захотелось довести его до ума — а доводить пришлось руками и навыками прожженного программера! Какой смартфон можно получить за 100 рублей? Читаем в статье!

Минутка предыстории

С самого появления смартфонов на рынке, весь мир шагал к тотальному увеличению дисплеев и уменьшению рамок. В какой-то момент, большие смартфоны даже получили отдельное название — падфоны или смартпэды. Такой ход событий было не трудно предугадать: ведь производители дисплейных матриц осваивали всё более и более высокие разрешения и предлагали больше вариантов производителям смартфонов.

Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения Гаджеты, Android, Смартфон, Покупка, Galaxy, Samsung, Java, Программирование, Самопал, ВКонтакте, Ретро, Девайс, Ништяки, Мобильные телефоны, Электроника, Телефон, Linux, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост



Однако несмотря на всеобщее засилие больших «лопат», в мире всё ещё оставались поклонники маленьких и компактных телефонов, которыми очень удобно пользоваться одной рукой. Сейчас подобные устройства представляют только небольшие бренды, известные достаточно в узких кругах — в основном, их можно купить на маркетплейсах, в обычных салонах связи их не найти. Мне известно о нескольких подобных устройствах, которые сейчас присутствуют на рынке. Первый из них «закос» под iPhone — Soyes XS11:

Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения Гаджеты, Android, Смартфон, Покупка, Galaxy, Samsung, Java, Программирование, Самопал, ВКонтакте, Ретро, Девайс, Ништяки, Мобильные телефоны, Электроника, Телефон, Linux, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост



Но тут уж, если честно, хочется назвать такой смартфон не просто компактным, а совсем малюсеньким. На нём вполне удобно выполнять задачи звонилки, но совсем неудобно набирать текст — поэтому под наши задачи, он не особо подходит. Кроме того, эти девайсы работают на базе бюджетного смартфонного железа 6-7 летней давности, поэтому их производительность будет достаточно невысокой по меркам современного пользователя. Конечно же есть и более серьёзные варианты — например, компания Unihertz (да, тот самый продолжатель идей BlackBerry) делает смартфоны Jelly 2: дисплей с диагональю 3", Helio P61 под капотом и Android 11 на борту. Вот только цена, мягко говоря, кусачая — 18 тысяч рублей на момент написания статьи. Это слишком дорого!

Но если душа прямо таки лежит к компактным смартфонам, почему бы не обратиться к рынку Б/У устройств и не присмотреть что-то из… прошлого десятилетия? А вариантов ведь реально много — тут и LG Optimus L3 (3.2"), и Samsung Galaxy Pocket Neo (2.8"), Samsung Galaxy Star (3"), Samsung Galaxy Fame (3.5"), Samsung Galaxy Young. Все перечисленные девайсы стоят реально копейки — можно купить живой вариант до 400-500 рублей!

Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения Гаджеты, Android, Смартфон, Покупка, Galaxy, Samsung, Java, Программирование, Самопал, ВКонтакте, Ретро, Девайс, Ништяки, Мобильные телефоны, Электроника, Телефон, Linux, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост



Я решил взять себе целых два смартфона: Samsung Galaxy Mini и Samsung Galaxy Pocket первого поколения. Оба достались мне в одном лоте за 2.000 рублей (с 20 телефонами) и обошлись мне по сто рублей, причём оба смартфона были рабочими! Чуть позже я докупил отдельно Galaxy Star (250 рублей), Galaxy Fame (250 рублей) и Galaxy Pocket Neo (~400 рублей) для полноты коллекции — вышло совсем недорого. Итак, что за характеристики мы получаем в смартфоне за 100 рублей:

  • Android: 2.3 Gingerbread.

  • Чипсет: Broadcom BCM21553 с одним ядром Cortex-A5 на частоте 832мгц. Видеочип: VideoCore IV, он же использовался в Raspberry Pi.

  • ОЗУ: 256 мегабайт (предположительно — DDR1).

  • Встроенная память: 3 гигабайта + слот для SD.

  • Дисплей: 2.8", 240x320, емкостной тачскрин.

  • Сеть: Поддержка 2G/3G. Об LTE и речи не идёт.



Выглядит не особо густо, да? И разрешение весьма низкое — большинство софта не запустится, а о клиентах современных сервисов и мечтать не приходится… или приходится?

Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения Гаджеты, Android, Смартфон, Покупка, Galaxy, Samsung, Java, Программирование, Самопал, ВКонтакте, Ретро, Девайс, Ништяки, Мобильные телефоны, Электроника, Телефон, Linux, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост



Конечно же шаловливым ручкам захотелось вернуть жизнь этому миниатюрному красавцу и я решил использовать его как второй смартфон — при этом с клиентом ВК и музыкой, которые я запилил сам.

Разработка под старые версии Android

На самом деле, разработка под старые версии Android не особо отличается от современных версий системы. Кое-где приходится костылить, велосипедить и юзать AppCompat для реализации современных фишек на старых версий системы, но, будем честным, подобного и в последних версиях Android достаточно.

Даже сейчас нет никакой проблемы скачать последнюю версию Android Studio, подключить смартфон с включенной отладкой и отлаживать приложение прямо на девайсе — logcat тоже есть. Единственный нюанс — поиск драйверов и ручное закрытие приложений в таскменеджере, если вы деплоите под Android 2.x (Android Studio не умеет сам закрывать приложение, чтобы переустановить пакет).


В целом, за всё время разработки под старые устройства, я пришёл к следующим выводам:

  • Поскольку большинство устройств имеет одно ядро, для плавности интерфейса нужно минимизировать любую работу в фоне.

  • Взаимодействие с современными веб-сервисами может быть осложнено из-за отсутствия поддержки TLS1.2 и устаревших сертификатов (проверка сертификатов легко обходится специальным костылем, а вот TLS — нет).

  • У Android до 3.0 вся отрисовка интерфейса программная и она опять же, будет сказываться на скорости работы фоновых служб. Чем менее интерфейс комплексный, тем лучше.

  • Пушей нет — да, вообще. Однако это ничуть не помешает нам сделать уведомления практически в реальном времени с помощью… очередного костыля!



Допиливаем ВК

Я уже писал клиент ВК в рамках одной из прошлых статей. Теперь нам нужно довести его до ума — подогнать под разрешение экрана и переработать интерфейс для большей удобности, а также добавить недостающие разделы — я тот ещё любитель полистать мемчики, сидя в автобусе.

Честно сказать, вся концепция интерфейса требовала полной переработки — боковое меню банально очень неудобно использовать на подобных устройствах из-за малых размеров каждой строчки. Поэтому я решил не изобретать велосипед, а обратился к дизайнерам Apple и первоисточнику: официальному клиенту ВК для iOS 6, родом из 2012 года!

Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения Гаджеты, Android, Смартфон, Покупка, Galaxy, Samsung, Java, Программирование, Самопал, ВКонтакте, Ретро, Девайс, Ништяки, Мобильные телефоны, Электроника, Телефон, Linux, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост



Приложение для Android выглядело +- также в те годы. Видите вкладки с разделами снизу? Они то нам и нужны — это самый удобный способ навигации на таких смартфонах! Накидав макет в layout'е, я приступил к реализации:

Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения Гаджеты, Android, Смартфон, Покупка, Galaxy, Samsung, Java, Программирование, Самопал, ВКонтакте, Ретро, Девайс, Ништяки, Мобильные телефоны, Электроника, Телефон, Linux, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост



Изначально мне хотелось, чтобы всё приложение было плавным и анимированным: для этого я обратился к фреймворку анимаций Android. Суть очень простая — это обычный интерполятор значений от a до b за определенный промежуток времени. При этом мы не можем анимировать произвольное свойство — только те, который уже реализованы в системе (переход, поворот, масштабирование, альфа-канал). Более наглядно это можно представить вот так:

Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения Гаджеты, Android, Смартфон, Покупка, Galaxy, Samsung, Java, Программирование, Самопал, ВКонтакте, Ретро, Девайс, Ништяки, Мобильные телефоны, Электроника, Телефон, Linux, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост



Да, это всё анимация :) Получаем примерно такой результат:

Обратите внимание, что запуск большого количества анимаций будет вызывать перерисовку даже в том случае, если элемент не видно на экране — от чего у нас будут дикие тормоза! Осторожнее с этим.

После этого, я решил доработать раздел с музыкой: я все еще пользуюсь грязными хаками для получения доступа к API музыки, поскольку «левым» клиентам такой возможности не дают. Публично его расписывать не буду, поскольку это скорее всего нелегально, да и сами ребята из ВК об этом знают (но не думаю, что будут применять какие-то санкции по отношению к «маленьким» разработчикам) — но если нужно, пишите в личку, расскажу всю концепцию.

Во первых, мне хотелось добавить возможность скачивать треки на внутреннюю память/флэшку. А во вторых, мне хотелось добавить фоновое воспроизведение — до этого возможность свернуть приложение и послушать музыку уже была, однако Android мог в любой момент прибить окно с музыкой и оставить нас с носом, остаётся только реализация в виде foreground-сервиса:

В Android есть два типа служб: background (фоновые) и foreground (видимые пользователю). Первый тип служб система может прибить когда угодно — например мало памяти или экономия заряда АКБ. А вот второй тип служб система не прибивает практически никогда, поскольку они обозначают выполнение важной операции в фоне — например скачивание файла или обновление системы. Однако у них есть одно ограничение — они должны быть привязаны к собственному уведомлению, которое нельзя закрыть. В процессе реализации возникло еще пару проблем — Wakelock'и (механизм, предотвращающий уход девайса в «сон») и WiFiLock'и (тоже самое, но для WiFi).

Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения Гаджеты, Android, Смартфон, Покупка, Galaxy, Samsung, Java, Программирование, Самопал, ВКонтакте, Ретро, Девайс, Ништяки, Мобильные телефоны, Электроника, Телефон, Linux, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост

Точно таким же способом я реализовал механизм уведомлений — как я уже говорил раньше, пушей на старых смартфонах нет вообще ни в каком виде, поэтому пришлось реализовывать свой механизм «обновления»: каждые 3-5 секунд запрашиваем список последних 5 диалогов с сервера и сравниваем с предыдущим результатом, если есть новые сообщения — создаём нотификацию (листинг слишком длинный - пришлось перезалить на pastebin):

private NotificationCompat.Builder createMessageNotification(String sender, Stri - Pastebin.com

После этого, я начал рутинную работу по реализации интерфейса для данных с сервера — паблики, друзья, профили, лента и.т.п. В некотором смысле, реализация лента весьма занимательна: вообще, для очень больших списков существуют т.н виртуализация ListView — это когда ListView отображает только видимый пользователю кусок датасета (набора данных — например, список записей на стене) и на старых версиях Android она доступна. Однако мне было интересно реализовать вариант, который потреблял бы минимальное количество ОЗУ и где я точно знал бы, когда пользователь видит тот или иной фрагмент приложения. Поэтому я реализовал… пагинацию свайпами! Вот так привет из нулевых!

Для этого я использовал GestureDetector — встроенный в систему класс для обнаружения простых жестов — свайпов и.т.п. ВК при запросе ленты отдаёт специальную метку для получения следующей страницы новостей (поскольку она может динамически меняться и нужно хранить её стейт), мы эти метки просто сохраняем и переключаемся по странницам новостей с помощью обычных свайпов вправо-влево:

Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения Гаджеты, Android, Смартфон, Покупка, Galaxy, Samsung, Java, Программирование, Самопал, ВКонтакте, Ретро, Девайс, Ништяки, Мобильные телефоны, Электроника, Телефон, Linux, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост


Выглядит весьма забавно.

Юзабельно ли всё это на деле?

Давайте смотреть, может ли юзать такой смартфон в наши дни. Берём наш девайс в руки, логинимся и оцениваем его производительность «вхолостую».

Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения Гаджеты, Android, Смартфон, Покупка, Galaxy, Samsung, Java, Программирование, Самопал, ВКонтакте, Ретро, Девайс, Ништяки, Мобильные телефоны, Электроника, Телефон, Linux, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост



Работает весьма шустренько, учитывая что это бюджетник 2012 года. Как насчет нашего самопального клиента ВК? Смотрим:


Работает весьма бодро. Не сказать что также плавно, как последний айфон, но и совсем плохим результат явно не назвать!

Смартфонный функционал у девайса тоже вполне ничего: 1-2 SIM (в зависимости от версии), нормальная синхронизация контактов с ПК (однако Kies вроде-бы не работает на Windows 10, но есть vcf):

Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения Гаджеты, Android, Смартфон, Покупка, Galaxy, Samsung, Java, Программирование, Самопал, ВКонтакте, Ретро, Девайс, Ништяки, Мобильные телефоны, Электроника, Телефон, Linux, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост



Встроенный почтовый клиент продолжает работать без каких либо проблем. Однако настраивать некоторые почтовые сервисы нужно вручную и с помощью «паролей приложений» — напрямую залогинится возможности нет. В случае «покета», придется поставить стоковый клиент из Android 2.3 вручную.
Мультимедийные возможности тоже радуют: встроенный плеер тачвиза мне всегда очень нравился. Есть и настройки эквалайзера.

Единственное, что откровенно подводит — браузер. Последним вариантом осталась Opera Mini 7 — она позволяет смотреть сайты, но не поддерживает динамический контент, только статику. Ну, зайти на википедию или почитать статью на Хабре хватит. Родной браузер уже не в состоянии что либо загрузить :(

Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения Гаджеты, Android, Смартфон, Покупка, Galaxy, Samsung, Java, Программирование, Самопал, ВКонтакте, Ретро, Девайс, Ништяки, Мобильные телефоны, Электроника, Телефон, Linux, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост



Ну а в общем, производителньость смартфона весьма радует, согласитесь? Нельзя сказать, что он уж слишком тормозной — по крайней мере, современные ультрабюджетные смартфоны (до 4-5 тысяч рублей) зачастую показывают себя гораздо хуже чем и флагманы прошлых лет, и даже бюджетники!

Заключение

И всё таки, я считаю что мне удалось в каком-то смысле вдохнуть новую жизнь в старенький девайс. Если использовать подобный девайс как второй — на случай, если сел основной смартфон, то такой миниатюрный красаввчик может неождианно выручить даже в довольно сложной ситуации. Кроме того, эти смартфоны всеядны к аккумуляторам — достаточно подпаять + и — и они будут работать хоть от BL-4C.

Главная ценность Galaxy Pocket — в его компактных размерах. А поскольку по настоящему дешевых, маленьких и шустрых смартфонов становится всё меньше и меньше, то нам остаётся лишь продлять жизнь моделям прошлых лет! Есть ли в этом смысл и получил ли смартфон новую жизнь? Пишите в комментариях!

Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения Гаджеты, Android, Смартфон, Покупка, Galaxy, Samsung, Java, Программирование, Самопал, ВКонтакте, Ретро, Девайс, Ништяки, Мобильные телефоны, Электроника, Телефон, Linux, Видео, Без звука, Вертикальное видео, YouTube, Длиннопост


Клиент ВК можно сказать на 4pda. Там лежит самая последняя версия (для скачивания нужна регистрация на форуме). Если по каким-то причинам не хотите регистрироваться на форуме — я выложил актуальную версию в комментариях.


Эта статья поддерживается командой ITGLOBAL.COM

Мы — первый облачный провайдер в России, а также интегратор, поставщик ИТ-услуг, продуктов, сервисов и разработчик собственного ПО.

• Наш сайт
• Наш блог про виртуализацию и Enterprise IT
• Истории успеха наших клиентов

Показать полностью 13 2
[моё] Гаджеты Android Смартфон Покупка Galaxy Samsung Java Программирование Самопал ВКонтакте Ретро Девайс Ништяки Мобильные телефоны Электроника Телефон Linux Видео Без звука Вертикальное видео YouTube Длиннопост
91
595
monobogdan
monobogdan
2 года назад
TECHNO BROTHER

Этот китайчик просто любит жизнь: реставрируем игровую консоль с помойки за 250 рублей⁠⁠

Этот китайчик просто любит жизнь: реставрируем игровую консоль с помойки за 250 рублей Покупка, Девайс, Гаджеты, Планшет, Игры, Консоли, Ретро, Китайцы, AliExpress, Android, Диковинки, Барахолка, Длиннопост



Ни для кого не секрет, что иногда на онлайн-барахолках можно встретить продавцов, которые продают различные устройства с помойки. И ведь иногда прямо слёзы наворачиваются от того, какие крутые штуки люди умудряются выкидывать. Зачастую подобные девайсы требуют серьёзного обслуживания, но и стоят копейки: недавно я увидел симпатичную игровую консоль PGP Aio Droid Letto, которая привлекла моё внимание своими миниатюрными размерами и симпатичным дизайном, а ещё тем, что была в ужаснейшем состоянии и стоила всего 250 рублей. А поскольку я обожаю копаться в различных девайсах и давать им вторую жизнь, я сразу же её заказал! Сегодня мы с вами: приведем корпус устройства в подарок, подберем дисплей от GPS-навигатора, найдём прошивку на безымянное устройство и перепрошьём с помощью замыкания ножек NAND, а также посмотрим, годится ли на что-то консоль по цене кофе в столице!

Покупка

Мои давние читатели знают, что я просто обожаю различные старые китайские консоли. Денди, сеги, портативные устройства: уже как минимум с 10'ок игровых консолей я отремонтировал и написал о них статьи. Как уже было упомянуто выше, нашим сегодняшним героем станет некая PGP Aio Droid Letto 2012 года выпуска — ODM устройство, на которое налепили шилдик PGP. В своё время, подобные консоли были довольно популярны (в первую очередь — из-за своей цены) и как минимум несколько китайских заводов разрабатывали и продавали их локальным брендам под реализацию. Средняя цена была 2.000-6.000 рублей, что было весьма немного.

Этот китайчик просто любит жизнь: реставрируем игровую консоль с помойки за 250 рублей Покупка, Девайс, Гаджеты, Планшет, Игры, Консоли, Ретро, Китайцы, AliExpress, Android, Диковинки, Барахолка, Длиннопост



Листал я себе онлайн-барахолку в поисках игровых консолей и увидел Letto за преусловный прайс 250 рублей. Как уже говорил в интро — меня привлек приятный дизайн и компактность: я любитель поиграть в дороге, но даже PS Vita/PSP может оказаться великоватой для кармана летних шорт. А тут идеальный вариант! Ну и конечно же я видел плачевное состояние консоли и мне хотелось в ней покопаться и попытаться довести до ума.

Этот китайчик просто любит жизнь: реставрируем игровую консоль с помойки за 250 рублей Покупка, Девайс, Гаджеты, Планшет, Игры, Консоли, Ретро, Китайцы, AliExpress, Android, Диковинки, Барахолка, Длиннопост



Заказ сделан, консоль пришла из Анапы в Ейск за несколько дней и вот, уже дома я начинаю осматривать покупку и разбирать консольку. И конечно же без серьезного ремонта не обошлось!

Хардварный ремонт

Разобрать устройство довольно легко: лишь выкрутить 4 винтика, которые уже кто-то до меня потерял и расщелкнуть корпус. Перед нами открывается плата, которая не похожа на топляка, но явные следы попадания влаги имеют. Кроме того, она очень пыльная.

Этот китайчик просто любит жизнь: реставрируем игровую консоль с помойки за 250 рублей Покупка, Девайс, Гаджеты, Планшет, Игры, Консоли, Ретро, Китайцы, AliExpress, Android, Диковинки, Барахолка, Длиннопост
Этот китайчик просто любит жизнь: реставрируем игровую консоль с помойки за 250 рублей Покупка, Девайс, Гаджеты, Планшет, Игры, Консоли, Ретро, Китайцы, AliExpress, Android, Диковинки, Барахолка, Длиннопост



Поскольку устройство действительно могло лежать в грязном месте, я решил сначала полностью отмыть корпус в два этапа: мылом и спиртом. Причём спиртом мы не только дезинфицируем устройство, но и оттираем неприятное и липкое софт-тач покрытие, которое разлагается от времени.

Этот китайчик просто любит жизнь: реставрируем игровую консоль с помойки за 250 рублей Покупка, Девайс, Гаджеты, Планшет, Игры, Консоли, Ретро, Китайцы, AliExpress, Android, Диковинки, Барахолка, Длиннопост
Этот китайчик просто любит жизнь: реставрируем игровую консоль с помойки за 250 рублей Покупка, Девайс, Гаджеты, Планшет, Игры, Консоли, Ретро, Китайцы, AliExpress, Android, Диковинки, Барахолка, Длиннопост



После мытья и сушки корпуса, я решил заодно и заменить дисплей. Родной оказался с царапинами и неприятной трещиной на тачскрине. И вот тут есть маленький лайфхак: кто сказал, что дисплеи для таких устройств нужно покупать по названию модели втридорога? Секрет вот в чём: в небольшие консоли, китайцы обычно ставили стандартные матрицы с разрешением 480x232 и интерфейсом TTL RGB от… автомобильных навигаторов и фоторамок! Почти все дисплеи с этим интерфейсом унифицированы и имеют одинаковый шлейф (40 пин) и распиновку, а поскольку тачскрин у таких модулей резистивный (резистивный тач требует всего 4 сигнальных линии), то он сразу же включен в общий шлейф дисплея, делая дисплеи навигаторов и китайских консолей взаимозаменяемыми! Вот вам и идея, куда можно применить старый нерабочий авто-навигатор :)

Этот китайчик просто любит жизнь: реставрируем игровую консоль с помойки за 250 рублей Покупка, Девайс, Гаджеты, Планшет, Игры, Консоли, Ретро, Китайцы, AliExpress, Android, Диковинки, Барахолка, Длиннопост



Включаем устройство и проверяем новый дисплей. Всё работает отлично — цветопередача стала немного лучше по сравнению с родным дисплеем, а ещё на этом этапе выяснилось, что устройство висит на заставке. Но нам ещё есть что сделать по хардварной части.

Этот китайчик просто любит жизнь: реставрируем игровую консоль с помойки за 250 рублей Покупка, Девайс, Гаджеты, Планшет, Игры, Консоли, Ретро, Китайцы, AliExpress, Android, Диковинки, Барахолка, Длиннопост



После осмотра платы, на фронтальной стороне можно увидеть сгнивший SMD-элемент. Скорее всего, это ключ и я изначально предположил, что он отвечает за питание камеры (т.к находился близкой к ней). К сожалению, после того, как я счистил коррозию, оказалось что один пятачок и ножка ключа сгнили :( И чуть позже это стало серьёзной проблемой.

Этот китайчик просто любит жизнь: реставрируем игровую консоль с помойки за 250 рублей Покупка, Девайс, Гаджеты, Планшет, Игры, Консоли, Ретро, Китайцы, AliExpress, Android, Диковинки, Барахолка, Длиннопост



Не забываем почистить аналоговой стик от грязи и пыли. Подойдет спирт или контакт-клинер.

Этот китайчик просто любит жизнь: реставрируем игровую консоль с помойки за 250 рублей Покупка, Девайс, Гаджеты, Планшет, Игры, Консоли, Ретро, Китайцы, AliExpress, Android, Диковинки, Барахолка, Длиннопост



Программный ремонт

Поскольку консоль висела на заставке, нам предстояло найти прошивку и прошить устройство. Тут нам очень помогает Wayback Machine: ищемоф. сайт устройстваи пытаемся найти кликабельные ссылки на прошивку. В моём случае, ссылка была наяндекс диски файл был на месте!

Этот китайчик просто любит жизнь: реставрируем игровую консоль с помойки за 250 рублей Покупка, Девайс, Гаджеты, Планшет, Игры, Консоли, Ретро, Китайцы, AliExpress, Android, Диковинки, Барахолка, Длиннопост



Однако в архиве нет никакой инструкции: лишь софт для прошивки и сама прошивка. У меня был опыт с GP33003, поэтому я быстро разобрался: нам придется замкнуть пару ножек на чипе NAND. Для этого гуглим модель NAND и ищем даташит. В даташите смотрим на распиновку и ищем пины I/O — это сигнальные линии, в моём случае они находятся снизу, 5 и 6. Суть манипуляций проста: при загрузке, первичный загрузчик (Boot ROM) пытается загрузить вторичный загрузчик из встроенной памяти. Если зажата одна из сервисных кнопок (а таковых у этой консоли нет) или вторичный загрузчик найти не удалось (если плата только-только с конвейера), то он переводит консоль в режим прошивки с помощью фирменного софта. Замыкая сигнальные линии, отвечающие за ввод-вывод (и таким образом, выдавая билиберду вместо нормальных данных), мы обманываем первичный загрузчик и как-бы делаем вид, что в памяти нет системы и плата только-только с конвейера.

Этот китайчик просто любит жизнь: реставрируем игровую консоль с помойки за 250 рублей Покупка, Девайс, Гаджеты, Планшет, Игры, Консоли, Ретро, Китайцы, AliExpress, Android, Диковинки, Барахолка, Длиннопост



По итогу девайс определился и пошёл прошиваться фирменной программой без каких либо проблем. 5 минут и вуаля! Устройство уже загрузилось и предложило откалибровать тачскрин!

Этот китайчик просто любит жизнь: реставрируем игровую консоль с помойки за 250 рублей Покупка, Девайс, Гаджеты, Планшет, Игры, Консоли, Ретро, Китайцы, AliExpress, Android, Диковинки, Барахолка, Длиннопост
Этот китайчик просто любит жизнь: реставрируем игровую консоль с помойки за 250 рублей Покупка, Девайс, Гаджеты, Планшет, Игры, Консоли, Ретро, Китайцы, AliExpress, Android, Диковинки, Барахолка, Длиннопост



Собираем девайс и всё проверяем: кнопки работают, стик работает, всё замечательно! Или не совсем… а звук то где? Я полез менять динамик, предположив, что возможно он не перенес солёной ванны но всё оказалось куда печальнее. Ведь тот самый сгнивший ключ как раз относился к аудиотракту… Звука нет совсем, даже на подключение наушников устройство не реагирует… Вот обидно то, а? И Bluetooth у нас тоже нет. И ведь судя по всему, отлетел пятачок IN, а не GND :(

Этот китайчик просто любит жизнь: реставрируем игровую консоль с помойки за 250 рублей Покупка, Девайс, Гаджеты, Планшет, Игры, Консоли, Ретро, Китайцы, AliExpress, Android, Диковинки, Барахолка, Длиннопост



Но это не помешает нам попробовать потестировать консольку в эмуляторах и проверить её в играх. GP33003 — вполне бодрый чип, который тянет большинство эмуляторов вплоть до PS1. Попробуем поиграть в игры для NES, SMD, SNES и PS1. Справится ли она с ними?

Играем

Сначала я решил погонять парочку предустановленных игр: Fruit Ninja и Trial X. И обе игрушки шли отлично: за Trail X можно даже повспоминать про давно ушедшие годы Gravity Defied. Игра идёт стабильно, без каких-либо лагов. В целом, спокойно можно ставить нативные игры до ~2013-2014 года — они здесь пойдут хорошо.

Этот китайчик просто любит жизнь: реставрируем игровую консоль с помойки за 250 рублей Покупка, Девайс, Гаджеты, Планшет, Игры, Консоли, Ретро, Китайцы, AliExpress, Android, Диковинки, Барахолка, Длиннопост



Эмулятор PS1 в лице EPSXE без проблем дал настроить хардварные кнопки и попробовать поиграть в Time Crisis. FPS хороший, а как я понимаю, это далеко не самая легкая игра для PS1. Никаких лагов нет, но плавность звука, по понятным причинам, проверить нельзя. Автопропуск кадров делает своё дело (при этом рывков нет).

Этот китайчик просто любит жизнь: реставрируем игровую консоль с помойки за 250 рублей Покупка, Девайс, Гаджеты, Планшет, Игры, Консоли, Ретро, Китайцы, AliExpress, Android, Диковинки, Барахолка, Длиннопост



А вот эмуляторы классики, такие, как PS1 или SMD работают без нареканий. Ну если уж тяжелющий эмуль PS1 потянул, то с чего бы ему не тянуть 8 и 16 битки? Проблем никаких нет, все кнопки можно забиндить без танцев с бубном (виртуальный джойстик можно убрать).

Этот китайчик просто любит жизнь: реставрируем игровую консоль с помойки за 250 рублей Покупка, Девайс, Гаджеты, Планшет, Игры, Консоли, Ретро, Китайцы, AliExpress, Android, Диковинки, Барахолка, Длиннопост
Этот китайчик просто любит жизнь: реставрируем игровую консоль с помойки за 250 рублей Покупка, Девайс, Гаджеты, Планшет, Игры, Консоли, Ретро, Китайцы, AliExpress, Android, Диковинки, Барахолка, Длиннопост



И конечно же, консоль можно использовать в качестве простенького планшета. В ВК ленту полистать, или видос посмотреть (тут был бы HDMI кстати) — короче доступны почти все фишки планшетов 2012-2013 годов. Вполне неплохо, да?

Заключение

Копаться в этом девайсе было весело. Увы, но малину подпортил сгнивший ключ: со звуком от консоли было бы гораздо больше толку. Однако сама по себе концепция устройства очень классная и я понимаю, почему современные анберники в похожем дизайне и форм-факторе расходятся как горячие пирожки: это действительно удобно! И даже несмотря на довольно старое железо, если у вас есть подобный девайс, он всё ещё может оказаться вам полезным.

А вам как этот гаджет? Жду ваше мнение в комментариях! Кстати, если вдруг у вас есть подобные китайские консольки и вы не хотите с ними замарачиваться/не можете сами оживить — я их последнее время начал коллекционировать и оживлять из принципа. Авось кому-то данная в статье информация окажется полезной и вы сможете оживить свой ништяк?

Показать полностью 19
[моё] Покупка Девайс Гаджеты Планшет Игры Консоли Ретро Китайцы AliExpress Android Диковинки Барахолка Длиннопост
94
469
monobogdan
monobogdan
2 года назад
TECHNO BROTHER

Сам себе экосистема: Как я адаптировал старый смартфон под современные реалии и написал клиенты нужных мне сервисов⁠⁠

Сам себе экосистема: Как я адаптировал старый смартфон под современные реалии и написал клиенты нужных мне сервисов Смартфон, Телефон, Идея, Рекомендации, Java, Android, PHP, Ретро, Гаджеты, ВКонтакте, YouTube, Моддинг, Покупка, Приложение, Мобильные телефоны, Сайт, Длиннопост

Время неумолимо бежит вперед: выходят новые гаджеты, постепенно заменяя старые, превращая их в тыкву или в лучшем случае, в «тапочек» для звонков. Сейчас смартфоны стали практически одинаковы во всем: дисплей на всю площадь передней панели, почти полное отсутствие аппаратных кнопок, беспроводная зарядка… Это всё, конечно, здорово, но ведь иногда так хочется взять в руки старый, но такой необычный в наше время QWERTY-смартфон и попытаться его использовать как основной, да и цены на них могут приятно удивить: БУ девайс можно купить за несколько сотен рублей (~5-10$). Одна проблема — клиенты приложений на версии Android 1.6-2.0 безбожно устарели и давно не работают. Но иногда желание воскресить старый девайс превыше потребительского качества и тут я пришёл к мысли… а почему бы не написать с нуля свои клиенты популярных приложений? ВК с музыкой, YouTube, трекинг посылок. Так я и сел писать необходимые в повседневной жизни приложения, с нуля, на голом API Android, без каких либо фреймворков (и даже AppCompat). Получилось ли у меня это? Узнаем в статье!

Мотивация


На самом деле копаться в старых девайсах и пытаться найти им применение — это очень интересное и затягивающее дело. Ведь зачастую попытки оживить девайс заключаются в прочтении большого количества мануалов, документации, копании в терминале, а иногда даже компиляции загрузчиков/ядер! И подобные занятия интересны на всех уровнях: хардварный, системный, прикладной и пользовательский. В предыдущих статьях мы с вами моддили девайсы на всех этих уровнях: ремонтировали «железные» болячки, написали несколько статей о системном моддинге и компиляции загрузчиков под неизвестные китайские устройства, а также узнавали о пользовательском опыте установки готовой кастомной прошивки на 7-летнее устройство.

Сам себе экосистема: Как я адаптировал старый смартфон под современные реалии и написал клиенты нужных мне сервисов Смартфон, Телефон, Идея, Рекомендации, Java, Android, PHP, Ретро, Гаджеты, ВКонтакте, YouTube, Моддинг, Покупка, Приложение, Мобильные телефоны, Сайт, Длиннопост


Но до сегодняшнего дня мы с вами обходили прикладной уровень моддинга устройств: т. е. написание самых обычных, повседневных программ, без которых сложно представить жизнь современного человека. Ещё во времена выхода первого Galaxy S в 2010 году, многие из нас уже сутками красноглазили в Java версии «аськи», кто-то уже сидел в ВКонтакте, хоть и большинство не заглядывали в смартфон каждые пару минут для проверки нотификаций.
К 2012 году смартфонная жизнь уже стала похожа на ту, к которой мы привыкли сейчас — соц. сети, мессенджеры, пуши, потоковое видео — многие из нас успели привязаться к такой жизни и… к конкретно тем самым девайсам!

Сам себе экосистема: Как я адаптировал старый смартфон под современные реалии и написал клиенты нужных мне сервисов Смартфон, Телефон, Идея, Рекомендации, Java, Android, PHP, Ретро, Гаджеты, ВКонтакте, YouTube, Моддинг, Покупка, Приложение, Мобильные телефоны, Сайт, Длиннопост


2012 год давно миновал, тенденции в разработке приложений кардинально поменялись, а учитывая, что многие мои читатели не любят выбрасывать девайсы в мусорку (и правильно делают), наверняка кто-то регулярно заглядывает на полочку к своим пыльным «бывшим» гаджетам и рассматривает их с теплотой… но с сожалением понимает, что их время прошло. Или не прошло? :) Ну, тут как посмотреть. Если есть навыки и огромная мотивация, то программер может многое, в том числе и запилить все самые необходимые приложения сам!
Я давно лелеял эту идею, подумывая, как бы лучше её реализовать. Да и почти всю свою жизнь, я писал на C#, практически не «щупав» API Android и его UI фрейморк. В один день у меня очень сильно зачесались руки написать что-нибудь эдакое под него и причём сразу — весьма серьёзное!

Сам себе экосистема: Как я адаптировал старый смартфон под современные реалии и написал клиенты нужных мне сервисов Смартфон, Телефон, Идея, Рекомендации, Java, Android, PHP, Ретро, Гаджеты, ВКонтакте, YouTube, Моддинг, Покупка, Приложение, Мобильные телефоны, Сайт, Длиннопост


Всем этим устройствам более 10 лет. Самым молодым из них является реплика Lumia 1020, которую мы тоже успели замоддить!

Так и родилась идея написать клиент YouTube. А потом и ВК. Ну и трекинг в придачу. Ну а чего б и нет, на всё про всё я выделил себе неделю: за это время я должен успеть закончить пусть и сыроватые, но вполне юзабельные клиенты для моих любимых сервисов. И я начал думать…

Планирование

Сам себе экосистема: Как я адаптировал старый смартфон под современные реалии и написал клиенты нужных мне сервисов Смартфон, Телефон, Идея, Рекомендации, Java, Android, PHP, Ретро, Гаджеты, ВКонтакте, YouTube, Моддинг, Покупка, Приложение, Мобильные телефоны, Сайт, Длиннопост


Написание приложений под старые мобильные ОС, как и под любые другие платформы, требует планирования того, что и как будет работать с учётом ограничений целевой платформы. У меня было сразу несколько ограничений, что только раззадоривало пыл:

  • В большинстве своём, на старых версиях Android работают одноядерные чипсеты, а значит, лимитированная многопоточность. Никакой работы в UI-потоке кроме обновления интерфейса, а поскольку в первых версиях этой системы интерфейс менее отзывчив, чем в более свежих — нужно сохранять баланс между функционалом, симпатичностью и скоростью работы. Мои приложения должны оптимально работать в следующих условиях: 256мб ОЗУ, из которых свободно в среднем 30-40мб (Сбер, привет тебе с вылетами на 2гб ОЗУ), 1 ядро ~600мгц, видео-ядро уровня Mali300-Malii400. Негусто? Ну, нам сойдет.

  • Вторым ограничением стало тотальное устаревание корневых сертификатов, а как многие из нас знают, просто так их на мобильных системах не обновить. Поэтому придётся идти на хаки — делать сервер-реле, который преобразует трафик из https в http там, где нельзя просто отключить проверку верификации SSL (это как раз кейс с API VK). Решено — отдельный сервер-реле, который отправляет запрос на сервер ВК и обратно возвращает нам обычный результат в JSON.

  • Ну а третьим ограничением стал сам Android. targetSDK = 5 (Android 1.5 Cupcake), никакого AppCompat (кушает драгоценное свободное место), никаких сервисов Google (их тут нет лет 5 уже). Всё на чистом API системы, почти в тех же условиях, в каких 13-14 лет назад писались первые приложения для Android.


    Если я его раздобуду когда-нибудь, то в лепешку расшибусь, но портирую на него свои приложения. Тогда я с гордостью скажу, что мои приложения работают на 100% Android устройств %)


    Полный энтузиазма я сел писать код. Основную часть статьи я решил поделить на каждое приложение отдельно с конкретными объяснениями: где, что и как я делал. Хочется заранее сказать — я не особо давно пишу под Android, зато много писал под WinForms, поэтому какие-то решения могут показаться странными. А некоторые решения обусловлены версией Android. Например, нотификации в первых версиях Android не было Notification.Builder, а сам Notification был больше похож на структуру. Приложения, конечно же, мы будем писать на Java.

ВКонтакте


Первым делом я начал писать клиент ВК и сразу определился со своими хотелками, которые были весьма скромными: возможность листать диалоги, читать сообщения и отправлять их (с полной поддержкой QWERTY-клавиатур, т. е. отправка на Enter), плюс возможность слушать музыку без ограничений. На ВК бочку ни в коем случае не гоню, просто публичного API совсем нет, даже с ограничениями, хотя было бы здорово…

Мне снова хотелось почувствовать те эмоции, которые я когда-то ощущал от прослушивания музыки будучи школяром со своим первым Android-смартфоном. В 2013 году я прилетал со школы и слушал плейлист на практически таком же девайсе с идентичным железом и версией Android. Я хорошо помню, как пользовался прелестями многозадачности Android на 2G интернете (3G чипсет просто не поддерживал): одну песню слушаешь, поставил вторую качаться, пока песня доиграет — уже и вторая скачалась. :)

Сам себе экосистема: Как я адаптировал старый смартфон под современные реалии и написал клиенты нужных мне сервисов Смартфон, Телефон, Идея, Рекомендации, Java, Android, PHP, Ретро, Гаджеты, ВКонтакте, YouTube, Моддинг, Покупка, Приложение, Мобильные телефоны, Сайт, Длиннопост


Итак, хотелки выбраны, пора начинать писать приложение. Для дебага у меня было 3 устройства: Galaxy S4 (Android 4.2 JB), китайский Galaxy S3 Mini I9300 (Android 2.2, на фото выше) и Samsung Galaxy S I9000 (Android 2.3), ну и конечно же эмулятор с 4.4 KitKat. Android Studio и сейчас умеет без проблем собирать приложения вплоть до версии Android 2.2 даже с последними Build Tools и Target SDK — главное выкинуть appcompat, androidx, и юнит тесты из build.gradle. Без каких-либо проблем он цепляет и сами устройства по adb. Даже отладчик без проблем работает.

Первым делом я начал писать активити (полноэкранная форма в терминологии Android, или «экран» приложения) с диалогами — он должен раз в n секунд подгружать данные и строить «морду» для всего этого. По сути, почти весь код клиента — это получение ответа от API ВК, разбор JSON на датасет и визуализация этого датасета на экран. Для этого я ввёл два объекта: VK, который делает асинхронные запросы на сервер, оборачивает работу с сервером-реле и парсит JSON и VKObjectProcessor (это скорее всего отрефакторится до VKDataSet чуть позже).

Сам себе экосистема: Как я адаптировал старый смартфон под современные реалии и написал клиенты нужных мне сервисов Смартфон, Телефон, Идея, Рекомендации, Java, Android, PHP, Ретро, Гаджеты, ВКонтакте, YouTube, Моддинг, Покупка, Приложение, Мобильные телефоны, Сайт, Длиннопост


Архитектура приложения получилось довольно простой и примитивной. При старте активити авторизации проверяет данные приложения (PersistStorage) на наличие API-токена и при его отсутствии запрашивает авторизацию. Как это уже стало классическим среди различных «самопальных» клиентов, мой клиент «прикидывается» официальным приложением ВК — для этого используется связка app_id и app_secret приложения ВКонтакте для Android.

После авторизации приложение перенаправляет нас на страницу диалогов. Поскольку у нас нет ни пушей, ни лонгполлинга, метод обновления остается один — в заданные интервалы. Для этого у нас есть Handler, который раз в 3.5сек берет список диалогов с сервера, проверяет, обновились ли данные и если да — обновляет датасет, отправляя сигнал обновления интерфейса (который построен на ListView). Кроме того, у нас есть кэш аватарок — точно так же распаралелленый на несколько потоков, а загруженные на данный момент превьюшки хранятся в хэшмапе.

Сам себе экосистема: Как я адаптировал старый смартфон под современные реалии и написал клиенты нужных мне сервисов Смартфон, Телефон, Идея, Рекомендации, Java, Android, PHP, Ретро, Гаджеты, ВКонтакте, YouTube, Моддинг, Покупка, Приложение, Мобильные телефоны, Сайт, Длиннопост


При этом сообщения реализованы схожим образом — на данный момент возможности горячей подгрузки сообщений «сверху» нет, поэтому обновляются последние 50 сообщений скопом и сразу. Шустро ли всё это работает? Вполне неплохо. Конечно, основное процессорное время уходит на разбор тяжелых JSON, но тут отчасти вина ВК — мало того, что кастрировали функционал getHistory в последних версиях API, так ещё и нет возможности возвращать только те поля, которые нужны.

Сам себе экосистема: Как я адаптировал старый смартфон под современные реалии и написал клиенты нужных мне сервисов Смартфон, Телефон, Идея, Рекомендации, Java, Android, PHP, Ретро, Гаджеты, ВКонтакте, YouTube, Моддинг, Покупка, Приложение, Мобильные телефоны, Сайт, Длиннопост


Как же я поступил с аудиозаписями? Музыка через API — настоящая заноза для разработчиков клиентов, с которой пришлось «подолбаться». Правда, недолго — раз у нас для основных запросов уже есть сервер-реле, то почему бы не сделать ещё и для музыки? Суть обхода простая: если сгенерировать специальный API-токен, то можно свободно обращаться к методам, связанным с музыкой без необходимости притворяться официальным клиентом и «подписывать» запросы md5 ключом. Примитивный PHP-скрипт как раз и предоставляет такую возможность, позволяя получить доступ к базе музыки ВК, однако ограничение типичное — у пользователя должны быть открыты аудиозаписи:

Тут был код на пхп, о его скушал пикабу!

По итогу у меня получился рабочий плеер с поиском музыки и добавленными треками. Опять же — производительность остаётся отличной! Ссориться с ребятами из ВК не хочу, поэтому добавлять возможность качать треки пока не стал — но вам стоило бы быть подружелюбнее к разработчикам кастомных клиентов! :)

Сам себе экосистема: Как я адаптировал старый смартфон под современные реалии и написал клиенты нужных мне сервисов Смартфон, Телефон, Идея, Рекомендации, Java, Android, PHP, Ретро, Гаджеты, ВКонтакте, YouTube, Моддинг, Покупка, Приложение, Мобильные телефоны, Сайт, Длиннопост


Что мы получили по итогу? Довольно простенький клиент ВК, который практически не потребляет ОЗУ и шустро работает. Да, здесь не хватает кучи различных фич — как минимум, прсомотра ленты и стены. Но ещё успеется — если проект будет интересен не только мне, то продолжим наращивать фишечки потихоньку! Уже ближе к релизу я слегка причесал клиент, добавив более «вкшный» дизайн и приделал анимированное боковое меню. Про Animation ещё кто-то помнит? :)

Сам себе экосистема: Как я адаптировал старый смартфон под современные реалии и написал клиенты нужных мне сервисов Смартфон, Телефон, Идея, Рекомендации, Java, Android, PHP, Ретро, Гаджеты, ВКонтакте, YouTube, Моддинг, Покупка, Приложение, Мобильные телефоны, Сайт, Длиннопост

YouTube


С разработкой клиента YouTube были свои особенности: во-первых, в отличии от клиента ВК, видео через реле просто так не загрузишь, слишком много трафика, а во-вторых, YouTube уже не «отдаёт» видео в форматах, которые поддерживают старые устройства — в основном, это h263 до 720p. К сожалению, потоковое видео с софтовым декодированием уложит на лопатки большинство «одноядерников» тех лет.

Сам себе экосистема: Как я адаптировал старый смартфон под современные реалии и написал клиенты нужных мне сервисов Смартфон, Телефон, Идея, Рекомендации, Java, Android, PHP, Ретро, Гаджеты, ВКонтакте, YouTube, Моддинг, Покупка, Приложение, Мобильные телефоны, Сайт, Длиннопост


Ситуация осложнялась тем, что ни VideoView, ни стандартные плееры всех смартфонов, на которых я отлаживал приложение, не умели игнорировать ошибки SSL и просто валились с ошибкой. Пришлось что-то придумывать: ведь видосики хочется смотреть на крутейшем AMOLED дисплее Galaxy S!

Сам себе экосистема: Как я адаптировал старый смартфон под современные реалии и написал клиенты нужных мне сервисов Смартфон, Телефон, Идея, Рекомендации, Java, Android, PHP, Ретро, Гаджеты, ВКонтакте, YouTube, Моддинг, Покупка, Приложение, Мобильные телефоны, Сайт, Длиннопост


Посидел я, подумал и придумал. Для поиска по базе YouTube, получения информации и прямых ссылок на видео я решил использовать альтернативный фронтэнд YouTube, который называется Invidous API — крутая штука со своим API, которая сама распределяет пул токенов самого ютуба и отдаёт ответы в виде JSON. Форматы запросов очень простые: <url инстанса Invidous>/api/v1/метод, например «search?q=test&region=RU&hl=ru» — выдаст нам результат поиска «test» в Российском регионе. Очень удобно, да? А ещё Invidous — не какой-то отдельный сервис, а целая сеть т. н. инстансов — какой хочешь, такой и юзай! Поскольку большинство инстансов «прячется» за свежими сертификатами, пришлось идти на довольно известный костыль с отключением верификации хостнеймов у HttpUrlConnection:

А туть был костыль на Java.

А поскольку у нас нет возможности воспроизводить потоковое видео онлайн, то я решил его просто предварительно загружать через собственный менеджер закачек, с возможностью последующей очистки кэша. Поскольку таким устройствам 2060p качество не нужно, я выбираю 240p-360p mp4 в avc кодеке, в среднем ролики по 30 минут весят около 30-40 мегабайт. При HSDPA+, загрузка подобного видео займет около минуты-двух — не так уж и много, можно и подождать. Закинул тестовую версию в беседу любителей ретро-мобилок — люди были в восторге. ;)

Сам себе экосистема: Как я адаптировал старый смартфон под современные реалии и написал клиенты нужных мне сервисов Смартфон, Телефон, Идея, Рекомендации, Java, Android, PHP, Ретро, Гаджеты, ВКонтакте, YouTube, Моддинг, Покупка, Приложение, Мобильные телефоны, Сайт, Длиннопост


Поскольку Invidous отчасти строится на анонимности — авторизации тут нет. Однако свою задачу посмотреть видосики он выполняет нормально — поэтому весь UI приложения я поделил на 4 вкладки: тренды, популярное, история и поиск. Подписки, как и историю можно реализовать на стороне клиента — для некоторых такой подход покажется плюсом, для кого-то — нет, однако минимальный задел для клиента уже есть — мы можем смотреть видео!

А где скачать?


Приложения и бэкэнд полностью открытые, исходный код доступен по лицензии GPLv3. Следить за статусом проекта можно на моём GitHub!
Последние версии можно скачать в релизах проекта.

Из текущих хотелось:

  • Портировать на Android 1.6. Несмотря на то, что приложение в целом имеет targetSDK = 5, на 2.1 оно работать отказывается. В Android, после 2.1, слегка поменялся бинарный формат xml разметок, из-за чего приложение на старых системах вылетает с исключением. Но это решаемо: eclipse adt в зубы, импортируем проект и вперед! ;)

  • Кроме того, я экспериментировал с попытками как можно сильнее уменьшить нагрузку как на сеть, так и на процессор путём облегчения датасетов. Если один JSON от ВК весит в среднем 30-60кб (который 1 ядерный чипсет частотой 600мгц может «долго» жевать, негативно сказываясь на UI), то примитивный KeyValue формат, который содержит только нужные поля умещается в 5-6-7кб в текстовом виде и благодаря своей примитивности (весь парсинг — два substring, один indexof и поиск ключа по хешмапе) совсем не «налегает» на процессор. Благодаря этим наработкам, я запилил и примитивный клиент ВКшечки для j2me.

    В целом, можно сделать единый формат датасетов для мессенджеров, а на бэкэнде реализовывать всё что угодно — Telegram, ВК, да хоть личные сообщения на хабре, а для платформ только делать «морды»: так можно завести современные мессенджеры и на Sailfish, и на J2ME, и на Symbian, и на WinMobile, практически без пота и крови :)

  • Полная адаптация под кнопочное управление. Сейчас с клиента можно без проблем писать сообщений с любой клавиатуры, в том числе и QWERTY. Однако основной интерфейс всё ещё не полностью адаптирован под кнопки и требует выполнения некоторых действий пальцем.

Заключение


Как по мне — получилось вполне неплохо. Да, приложения кое-где сыроваты и явно не дотягивают по функционалу до их больших версий. Но кое в чем они всё таки выигрывают: они лёгкие и быстрые, а самое главное — ещё могут продлить жизнь любимого девайса для кого-то. И я считаю — это классно! Среднее потребление ОЗУ обеими клиентами: 5-10мб. Вес APK: 30-50кб на момент выхода статьи. Вот что значит писать под голое API без модных фреймворков! ;)
Что до остального функционала — кое-что в Android продолжает неплохо работать и в наше время. Например, DLNA-стриминг в доме, E-Mail клиент или банкинг через смски. Я уверен, это покрывает 80% потребностей большинства пользователей — так разве после этого можно назвать старые смартфоны бесполезными?

Я писал эту статью с целью показать вам, что старые девайсы отнюдь не тыква, если есть щепотка энтузиазма в глазах и любовь к гаджетам, а заодно и поделиться с вами своими приложениями. Часто в комментариях мне пишут, что хотели бы пользоваться своими смартфонами и дальше, если бы не устаревающие версии Android. А вы как считаете? Жду ваше мнение в комментариях.

Статья подготовлена при поддержке компании TimeWeb Cloud. Подписывайтесь на меня и @Timeweb.Cloud, чтобы не пропускать новые статьи про девайсы каждую неделю! А ещё не забудьте проставить плюсик на хабре, если статья вам понравилась - это поможет с финансированием и выходом новых статей!

Показать полностью 13
[моё] Смартфон Телефон Идея Рекомендации Java Android PHP Ретро Гаджеты ВКонтакте YouTube Моддинг Покупка Приложение Мобильные телефоны Сайт Длиннопост
110
117
Timeweb.Cloud
Timeweb.Cloud
2 года назад
TECHNO BROTHER
Серия Старое железо

Редчайший открытый смартфон на Linux: Neo Freerunner. Каким был прадедушка PinePhone?⁠⁠

Автор: bodyawm

Оригинальный материал

Дополнительные фото и видео в
источнике материала.

Слышали ли вы когда-то о PinePhone? Да, это проект открытого смартфона с полностью открытым ПО, который рассчитан не столько на конечного потребителя, сколько на всяческих гиков. Но ведь PinePhone был далеко не первым, а о его предке из далекого 2007 года помнят немногие. Мне удалось раздобыть редчайший Open-Source Linux смартфон, имя которому — Neo Freerunner aka GTA-02! Мы посмотрим, на что был способен этот коммуникатор в своё время, оживим его и подведем итоги: подходило ли такое устройство конечному потребителю. Интересно? Тогда добро пожаловать под кат!

Редчайший открытый смартфон на Linux: Neo Freerunner. Каким был прадедушка PinePhone? Timeweb, Смартфон, Гаджеты, Редкость, Ретро, Раритет, Телефон, Android, Windows mobile, Symbian, Nokia, Длиннопост

❯ Предыстория


Идея создания телефона, который будет полностью открытым во всех отношениях — и в плане железа и в плане софта, витала в воздухе задолго до появления PinePhone или даже Google Nexus (его к открытым телефонам можно причислить лишь отчасти). Например, Motorola делала значительный вклад в развитие Linux на телефонах, таких как Moto RAZR v8 или A1200. Я не знаю, где сегодня можно найти исходный код ядра для этих смартфонов, но полагаю, Motorola предоставляла его по первому требованию. Однако такое решение было профитным во всех смыслах: была единая программная платформа, для портирования которой необходимо было лишь портировать Linux под конкретный BSP, а коммьюнити поддерживала эти телефоны ещё долгое время, умудрившись запустить на них даже OpenMoko:

Редчайший открытый смартфон на Linux: Neo Freerunner. Каким был прадедушка PinePhone? Timeweb, Смартфон, Гаджеты, Редкость, Ретро, Раритет, Телефон, Android, Windows mobile, Symbian, Nokia, Длиннопост
Редчайший открытый смартфон на Linux: Neo Freerunner. Каким был прадедушка PinePhone? Timeweb, Смартфон, Гаджеты, Редкость, Ретро, Раритет, Телефон, Android, Windows mobile, Symbian, Nokia, Длиннопост



Не была в стороне и TrollTech, тогдашний владелец и разработчик фреймворка Qt, который представил свой телефон (к слову, очень сильно напоминающий Sony Ericsson тех лет и был скорее девкитом, нежели полноценным устройством) GreenPhone, работающий на Linux и использующий интерфейс Qtopia, который был построен на базе Qt.

Редчайший открытый смартфон на Linux: Neo Freerunner. Каким был прадедушка PinePhone? Timeweb, Смартфон, Гаджеты, Редкость, Ретро, Раритет, Телефон, Android, Windows mobile, Symbian, Nokia, Длиннопост


В какой-то момент TrollTech прекратили разработку GreenPhone, а его наработки передали сообществу OpenMoko, который и стал основной сегодняшнего аппарата.

Выделялась и Nokia, регулярно представлявшая новые модели в своей линейке интернет-планшетов (да, тогда они назывались именно так) под названием N. Работала она на базе собственной ОС Nokia — Maemo и имела корни от классического Debian. Несколько позже Nokia выпустит легендарный N900 — смартфон с большим на тот момент дисплеем, выдвижной клавиатурой и классическим Linux на борту.

Редчайший открытый смартфон на Linux: Neo Freerunner. Каким был прадедушка PinePhone? Timeweb, Смартфон, Гаджеты, Редкость, Ретро, Раритет, Телефон, Android, Windows mobile, Symbian, Nokia, Длиннопост
Редчайший открытый смартфон на Linux: Neo Freerunner. Каким был прадедушка PinePhone? Timeweb, Смартфон, Гаджеты, Редкость, Ретро, Раритет, Телефон, Android, Windows mobile, Symbian, Nokia, Длиннопост


К сожалению, как закончилась история для Nokia, мы уже с вами знаем: компания попыталась развивать свою новую Linux платформу MeeGo, но — пришёл дяденька из Microsoft на место CEO и резко сменил вектор развития компании с Linux смартфонов на устройства с Windows Phone. Однако старые гаджеты этой компании всё ещё ценятся на вторичном рынке, в том числе и планшеты серии N.

Кроме TrollTech, Motorola и Nokia, в Linux-сообщество смартфонов активно пыталась влиться и Google, причём изначально это были не коммуникаторы с тачскрином, а стандартные QWERTY смартфоны. Несколько лет назад на американской барахолке всплыло объявление о продаже вот таких девкитов от Google, которые работали на самых первых версиях Android, ещё до первой публично доступной 1.5, не имевшие даже тачскрина. Этот прототип был разработан в кооперации с настоящим мастодонтом мира коммуникаторов — HTC, который ещё долго помогал Google с дальнейшим развитием платформы.

Редчайший открытый смартфон на Linux: Neo Freerunner. Каким был прадедушка PinePhone? Timeweb, Смартфон, Гаджеты, Редкость, Ретро, Раритет, Телефон, Android, Windows mobile, Symbian, Nokia, Длиннопост


Но всё же, устройства представленные выше, имели исходный код ядра (без бинарных блобов драйверов). Вероятно, также имели исходный код оболочки, однако они всё ещё оставались закрытыми проприетарными устройствами. И тут приходит тайваньская компания FIC — First International Computer, которая вместе с сообществом OpenMoko представляет первый полностью открытый смартфон. И имя этому первенцу: Neo 1973 (GTA-01)! Но что в данном контексте означает открытый? В чём было отличие от Motorola A1200?

Редчайший открытый смартфон на Linux: Neo Freerunner. Каким был прадедушка PinePhone? Timeweb, Смартфон, Гаджеты, Редкость, Ретро, Раритет, Телефон, Android, Windows mobile, Symbian, Nokia, Длиннопост



Отличие в том, что производитель публично предоставлял всю документацию и исходный код на своё устройство. Она включала в себя: схему платы, разводку, исходный код загрузчика (изначально U-Boot, затем Qi), исходный код ядра почти со всеми драйверами, исходный код оболочки. И всё это под открытой лицензией сообщества. Например: если бы Motorola захотела производить свой Neo FreeRunner, она смогла бы это сделать без каких либо проблем или отчислений FIC. Всего было 4 итерации — GTA-01, GTA-02, GTA-03 и финальная, разработанная сообществом GTA-04.

Работали Neo 1973 и FreeRunner на базе чипсета Samsung S3C2442 с тактовой частотой 400Мгц (это было очень популярное решение для недорогих коммуникаторов, но чип уходил корнями в 2003), имела 64мб встроенной памяти и 128мб ОЗУ, встроенный GPS, Wi-Fi и даже OTG!

К сожалению, проект прожил всего лишь два года. В 2009 году OpenMoko прекратило работу над проектом и остались лишь сторонние разработчики, время от времени выпускавшие обновления и кастомные прошивки для своих устройств. В России официально устройство не продавалось, оно было слишком нишевым, но компания «Линуксцентр» завезла партию, которую распродала интересующимся энтузиастам. Кроме того, я видел ветку на ЛОРе (профильный российский форум о GNU/Linux), где люди хотели скооперироваться и вручную заказать партию устройств. Цена была равна 399$, что по тому курсу примерно 12 тысяч рублей.

И сегодняшнее устройство ко мне попало тоже не просто так, я не зря сказал что оно очень редкое. Маловероятно, что вы найдёте его на онлайн-барахолках. Мне было интересно посмотреть и пощупать это устройство вживую, своими руками, поэтому в один момент я решил создать топик с поиском данного девайса на linux.org.ru и купить его специально для статьи. Пожалуйста, не воспринимайте ссылку на ЛОР как рекламу, это один из самых популярных *nix форумов в РФ и в рекламе он не нуждается (специально для тех, кто читает данную статью не на Хабре).

Редчайший открытый смартфон на Linux: Neo Freerunner. Каким был прадедушка PinePhone? Timeweb, Смартфон, Гаджеты, Редкость, Ретро, Раритет, Телефон, Android, Windows mobile, Symbian, Nokia, Длиннопост


Откликнулся пользователь id0, который предложил бесплатно подарить мне данное устройство, с моей стороны необходимо было оплатить автобус до отделения почты и пересылку. Сказано — сделано, доставка оплачена, а гаджет выслан, за что говорим id0 большое спасибо! В день, когда устройство было доставлено, ко мне пришла ещё и Nokia N70 в родной коробочке, которую вы можете видеть на видео.

Редчайший открытый смартфон на Linux: Neo Freerunner. Каким был прадедушка PinePhone? Timeweb, Смартфон, Гаджеты, Редкость, Ретро, Раритет, Телефон, Android, Windows mobile, Symbian, Nokia, Длиннопост


Смартфон вышел почти 15 лет назад, но от него сохранился даже родной аккумулятор. И даже здесь FIC пошли в сторону унификации: местный аккумулятор — вольная вариация на тему BL-4C/BL-5C и сюда отлично подходит аккумулятор от большинства кнопочных Nokia. Неудивительно, что родной аккумулятор уже не держит, поэтому сюда отправляется мой любимый BL-6C!

Включаем устройство и хоба! В отличии от красивых бутанимаций этих ваших андроидов, здесь обычная консоль linux. И именно благодаря ей, я смог найти причину kernel panic, когда оживлял это устройство (Android при panic либо виснет, либо уходит в ребут, при этом dmesg никто не покажет).
Я почти уверен, что в своё время такая картина вызывала изумление, а возможно и восторженный возглас со стороны юниксовода! Конечно были проекты по портированию Linux на обычные коммуникаторы (например, на IPaq HX4700), но тут это всё из коробки!

Но всё было не так гладко, к сожалению, устройство было в состоянии кирпича. Система загружалась, но висла на этапе загрузки оболочки и система, как бы это правильно выразить, сама себя заряжала.

❯ Ремонт


Смартфон нужно было перепрошивать. Вики OpenMoko всё ещё работает, но все ссылки давно уже не рабочие и найти рабочий образ родной системы практически нереально. Система на OpenMoko устроена так: у нас есть загрузчик, это либо U-Boot, либо Qi (есть возможность менять их), есть ядро Linux и есть сама система — rootfs. И дистрибутивы тоже предлагались отдельно: отдельно скачивай u-boot, отдельно ядро, отдельно rootfs. И к сожалению ссылки на них давно не работают, даже в веб-архиве их нет! Увы.

Но в вики можно найти упоминания кастомных прошивок: GameRunner, QtMoko и SHR. И образ rootfs SHR мне удалось найти в закромах веб-архива! Для прошивки у нас есть два пути: загрузка с карточки micro-sd (да, прямо из коробки!) и прошивка образа в внутреннюю память с помощью режима dfu (это не тот же самый режим dfu, что в iPhone), и утилиты dfu-util.

Редчайший открытый смартфон на Linux: Neo Freerunner. Каким был прадедушка PinePhone? Timeweb, Смартфон, Гаджеты, Редкость, Ретро, Раритет, Телефон, Android, Windows mobile, Symbian, Nokia, Длиннопост


Эта утилита умеет и дампить память, но заставить её работать на Windows у меня не вышло. Однако я заказал EEEPC для экспериментов за целых 700 российских рублей (~10$), куда я скорее всего поставлю Ubuntu и уже там постараюсь восстановить оригинальную прошивку. Поэтому наш сегодняшний путь — это установка на MicroSD флэшку. Я опишу мини-гайд по установке системы на MicroSD, а в конце предоставлю полный образ флэшки, который можно записать с помощью Win32DiskImager. Тут стоит понимать, что скорость NAND памяти смартфона не сильно выше скорости типичной MicroSD флэшки, поэтому на производительности это не скажется. А вот когда я переносил Android на MicroSD флэшку, там система откровенно думала!

Редчайший открытый смартфон на Linux: Neo Freerunner. Каким был прадедушка PinePhone? Timeweb, Смартфон, Гаджеты, Редкость, Ретро, Раритет, Телефон, Android, Windows mobile, Symbian, Nokia, Длиннопост


Итак, для работы системы, флэшку необходимо разбить на два раздела: первый это FAT, второй EXT2/EXT3/JFFS. Под Windows этого сделать не выйдет: ставьте виртуальную машину (у меня, как назло, нормально не работала ни puppy, ни dsl), либо поступите как я.

Редчайший открытый смартфон на Linux: Neo Freerunner. Каким был прадедушка PinePhone? Timeweb, Смартфон, Гаджеты, Редкость, Ретро, Раритет, Телефон, Android, Windows mobile, Symbian, Nokia, Длиннопост


Когда функций кардридера в хабе мне не хватает, я прибегаю к использованию одного из своих смартфонов, на котором у меня стоит TWRP с ROOT доступом через adb. В этом случае, для работ я использовал его, но все команды в статье должны работать под любым десктопным linux дистрибутивом. Только поменяйте имена разделов с /dev/block/mmc, на /dev/sdb или /dev/sdc. На этом смартфоне потихоньку помирает флэш-память и именно на нём я переносил систему на MicroSD! Использовать мы будем флэшку на 2гб, но обязательно либо SD, либо SDHC. SDXC Neo FreeRunner навряд-ли поддерживает.

Вставляем флэшку в слот MicroSD, загружаем вспомогательное устройство в рекавери, заходим в консоль и пишем adb shell. Теперь пишем:

fdisk /dev/block/mmcblk1

Удаляем существующие разделы с помощью d и создаём два раздела: один будет служить хранилищем для ядра и ваших личных данных, произвольного размера и второй под rootfs, на него нужно примерно 500 мегабайт. Записываем таблицу разделов и при необходимости перезагружаем устройство (на некоторых устройствах ioctl с требованием обновить таблицу разделов не проходит). Теперь форматируем первый раздел в FAT:

mkfs.fat /dev/block/mmcblk1p1
А второй в ext:

mke2fs -t ext2 /dev/block/mmcblk1p2

Под Windows закинуть ядро в FAT раздел не получится, он обязательно ломает суперблок второго раздела по какой-то причине! Поэтому создаём две точки монтирования:

mkdir /a/
mkdir /b/

Редчайший открытый смартфон на Linux: Neo Freerunner. Каким был прадедушка PinePhone? Timeweb, Смартфон, Гаджеты, Редкость, Ретро, Раритет, Телефон, Android, Windows mobile, Symbian, Nokia, Длиннопост



И закидываем в них linux и рутфс. Ядро должно называться uImage.bin и должно находится в корне первого раздела. Рутфс необходимо распаковать из tar.gz. Делаем это так:

adb push uImage.bin /a/
adb push rootfs.tgz /b/
cd /b/
tar -xvf rootfs.tgz

Готово. Выключаем устройство, вытаскиваем флэшку, вставляем в Neo FreeRunner и зажимаем кнопку включения с кнопкой AUX. Появится меню загрузчика. Нам нужно выбрать загрузку с SD карты и перед нами будет такая картина (извиняюсь за грязь на устройстве, у него софттач покрытие, которое со временем начинает собирать на себя вообще всё подряд. Нужно оттереть спиртом):

Устройство загрузилось и работает, а система мимикрирует под iOS своим локскрином! Вообще, это кастомная прошивка, поэтому оценивать юзабилити устройство именно по ней не совсем корректно, но всё же прошивке есть что предложить.

❯ Обзор


Итак, это именно Linux, в качестве оконной системы здесь настоящие «иксы» и есть полноценная многозадачность, с возможностью расположить несколько окон на одном экране. Система работает очень нешустро, полная загрузка проходит примерно за полторы-две минуты, а звонилка открывается примерно секунды две, но возможно это издержки кастомной прошивки и на стоковой прошивке всё было хорошо. Во время написании статьи, мне один раз даже пришлось перезагружать устройство!

Вот так в этой прошивке выглядит главное меню. И это практически весь доступный софт: клиент pidgin, плеер, видеоплеер, целых два терминала, настройки, wifi, заметки и это практически всё! Открытие приложений занимает несколько секунд, но, полагаю, на OpenMoko дела обстояли гораздо лучше. Там таких тормозов не было, а SHR кроме GTA-02, работал ещё и на GTA-04 и HTC Hero вроде-бы.

Редчайший открытый смартфон на Linux: Neo Freerunner. Каким был прадедушка PinePhone? Timeweb, Смартфон, Гаджеты, Редкость, Ретро, Раритет, Телефон, Android, Windows mobile, Symbian, Nokia, Длиннопост


Несмотря на наличие Wi-Fi модуля, подключится к домашней сети мне не удалось. Со стоковой прошивки, устройство к Wi-Fi подключалось. Надеюсь, хотя-бы GPRS тут работал!

Редчайший открытый смартфон на Linux: Neo Freerunner. Каким был прадедушка PinePhone? Timeweb, Смартфон, Гаджеты, Редкость, Ретро, Раритет, Телефон, Android, Windows mobile, Symbian, Nokia, Длиннопост


Зато здесь куча настроек: темы, твики, настройки масштабирования, есть практически всё. Загрузка каждого подпункта занимает около секунды.

Редчайший открытый смартфон на Linux: Neo Freerunner. Каким был прадедушка PinePhone? Timeweb, Смартфон, Гаджеты, Редкость, Ретро, Раритет, Телефон, Android, Windows mobile, Symbian, Nokia, Длиннопост


Но у устройства достаточно высокое разрешение экрана. Такое же, было, например у Nokia 5800, которая вышла в том же году.

Редчайший открытый смартфон на Linux: Neo Freerunner. Каким был прадедушка PinePhone? Timeweb, Смартфон, Гаджеты, Редкость, Ретро, Раритет, Телефон, Android, Windows mobile, Symbian, Nokia, Длиннопост


Здесь есть аудиоплеер с эквалайзером, но даже он не умеет сам искать музыку хотя бы в домашней директории! Нужно руками добавлять папки. Выглядит не очень удобно.

Редчайший открытый смартфон на Linux: Neo Freerunner. Каким был прадедушка PinePhone? Timeweb, Смартфон, Гаджеты, Редкость, Ретро, Раритет, Телефон, Android, Windows mobile, Symbian, Nokia, Длиннопост


Ну а ещё здесь, конечно же, есть терминал. По сути, это чуть ли не основной способ управления устройством, но виртуальная клавиатура очень неудобная. Если бы у этого устройства была бы QWERTY клавиатура, всё заиграло бы иными красками. Если систему грузить не с флэшки, то есть возможность передать в commandline ядра перенаправление консоли на usb, что позволит управлять мобилкой с ПК.

Редчайший открытый смартфон на Linux: Neo Freerunner. Каким был прадедушка PinePhone? Timeweb, Смартфон, Гаджеты, Редкость, Ретро, Раритет, Телефон, Android, Windows mobile, Symbian, Nokia, Длиннопост


И это все приложения, что есть в данной прошивке. Я серьёзно! Однако статья уже получилась достаточно объёмной, поэтому Quake мы сюда собирать не будем!

❯ Заключение

Устройство имело перспективы, но было достаточно сырым. Скорее это была достаточно дорогая игрушка, ведь те, кто хотел себе коммуникатор, покупали в первую очередь решения на WinMobile. Те, кто хотел себе смартфон, брали устройства на Symbian. Те, кто хотел себе телефон, брали простую звонилку. Несколько более допиленной вышла небезызвестная Nokia N900, работавшая на ОС Maemo, но в ней из коробки даже поддержки USSD не было. Но вот, спустя столько лет вышел PinePhone и есть pmOS. Осталось ли его юзабилити на таком же уровне или всё стало гораздо лучше!? А какое ваше мнение?

Подпишись на наш блог, чтобы не пропустить новые интересные посты!

Показать полностью 20
Timeweb Смартфон Гаджеты Редкость Ретро Раритет Телефон Android Windows mobile Symbian Nokia Длиннопост
20
290
NeatKonstantin8
NeatKonstantin8
3 года назад

Старые мобильные телефоны - ностальгия⁠⁠

Физкульт-привет, дамы и господа. В наше время почти каждый в мире человек имеет 6- или 7-дюймовый смартфон с неограниченным функционалом. Мы живем в эпоху ВК, Инстаграма, без которых не представит себе свою жизнь среднестатистический человек. Также человек, которому сейчас меньше 20 лет, не представит, как пользовались телефонами много лет назад. Как раз мне и хотелось вспомнить те далекие времена, когда деревья были выше, трава была зеленее. А телефоны не были друг на друга похожи как близнецы. Уже лет 15 прошло, даже больше!


Итак, начнем все по порядку. Самые первые мобильные телефоны пришли на рынки стран СНГ в конце прошлого века. Примерно тогда, на рынок появился легендарный Ericsson A1018s.

Старые мобильные телефоны - ностальгия Ностальгия, Мобильные телефоны, Мобильные игры, Nokia, Sony Ericsson, Ericsson, Symbian, Android, 90-е, 2000-е, 2010, Прошлое, Олдскул, iOS, Ретро, Ретроспектива, Java, Java игры, Видео, Длиннопост

Какой в нем был функционал? Нулевой. Это был не более, чем типичный мобильник по тем годам, ведь все, на что он был способен - так это звонить и отправлять сообщения. А также были такие мелочи, как часы и будильник. О всяких играх и других развлечениях - речи даже не шло. Сама труба стоила дорого настолько, что буквально никто не мог ее себе позволить, тем более с учетом кризиса 1998 года. Поэтому неудивительно, что в 90е годы люди с телефонами считались элитой, опять-таки из-за высокой цены мобил.


Проходит некоторое время, и телефоны впервые стали по-настоящему массовыми (примерно 2000-2001 гг). Сотовые связи только начали покорять уголки нашей величайшей страны. Звонки стоили дорого, а всякая тарификация - еще дороже. Счет пополнялся вовсе не через интернет, а с помощью специальных карточек для различных операторов. Но вернусь к самим мобилам. Это было время, когда для счастья нам хватало всего двух цветов. Самым известным представителем той эпохи является легенда легендных легенд - Nokia 3310.

Старые мобильные телефоны - ностальгия Ностальгия, Мобильные телефоны, Мобильные игры, Nokia, Sony Ericsson, Ericsson, Symbian, Android, 90-е, 2000-е, 2010, Прошлое, Олдскул, iOS, Ретро, Ретроспектива, Java, Java игры, Видео, Длиннопост

Телефон, о котором слышала даже твоя собака. Что с ним только не делали: бросали об стену, уроняли в воду, открывали им разные напитки, обливали бензином, обжигали, кидали с окна 9 этажа, и еще тысяча и один эксперимент был проведен во время краш-теста этой легенды. Честно говоря, мне не доводилось им владеть. Но такой был у моего друга, который владел им аж до 2013 года! Дело было не в том, что он не мог себе позволить телефон лучше, а в том, что ему, кроме звонков и СМС, ничего не было нужно.


А лично мой первый телефон был совсем другим, но был на то время также известен. Это был Ericsson A2628s, купленный весной 2001 года.

Старые мобильные телефоны - ностальгия Ностальгия, Мобильные телефоны, Мобильные игры, Nokia, Sony Ericsson, Ericsson, Symbian, Android, 90-е, 2000-е, 2010, Прошлое, Олдскул, iOS, Ретро, Ретроспектива, Java, Java игры, Видео, Длиннопост

По соотношению качества и стоимости это был один из самых лучших! Стильный на тот момент дизайн, а также хорошее качество сборки, что хрен его убъешь. Он не скрипел и не болтался. Ну и долгий заряд никелевой батареи, что еще раз говорит, что у современных смартфонов батарея просто ниже плинтуса (они дьявольски нагреваются и очень быстро разряжаются - даже двух часов не способны прожить без подзарядки). Ну и куда же без возможности системы ввода Т9, автоматически исправляющая ошибки. Касательно игр - тут довольно скромно - их было три, одной из которых был знаменитый тетрис. Самое крутое было то, что имея подобную мобилу - ты не принуждался ограничиваться только встроенными мелодиями, ведь было аж несколько способов получить их. Первый из них - платный и геморройный. Существовали специальные журналы, в которых были мелодии и картинки. Также в них был номер, на который ты был обязан отправить платное СМС. Касательно самих журналов, они обновлялись довольно часто, и соответственно, были новые мелодии - монофонические, которые пищали громко до боли в ушах! Второй способ, как по мне, был более предпочтительный. Бесплатный и легкий. Собственно - это встроенный редактор мелодий, в которым была возможность создать свою мелодию. Плюс в том, что не было никакой нужды платить деньги и идти на всякие танцы с бубном, а минус - пришлось делать песенку самостоятельно.

Старые мобильные телефоны - ностальгия Ностальгия, Мобильные телефоны, Мобильные игры, Nokia, Sony Ericsson, Ericsson, Symbian, Android, 90-е, 2000-е, 2010, Прошлое, Олдскул, iOS, Ретро, Ретроспектива, Java, Java игры, Видео, Длиннопост

Олды, кто помнит монофоническую мелодию из Бумера или Бригады? Отзовитесь! Вот поэтому и были эти телефоны такими королями, потому что умели многое. И насколько бы смешно это не звучало, но на моем Эриксоне была возможность выхода в интернет. Да-да, интернет на маленьком черно-белом экранчике, да и с очень низкой скоростью. Более того, доступ к WAP стоил настолько дорого, что когда ты случайно нажал на кнопку выхода в WAP, ты хотел как можно быстрее выйти с него, дабы ты не потерял кучу денег со счета. Как раз из-за того, что мобильный интернет стоил сумасшедших денег, люди попросту не могли им пользоваться. Старницы были исключительно текстовыми, да и то открывались неадекватно. Да и зачем это нужно было в 2001-м? Я не знаю. Но это были неимоверно древние времена.


Потом, как не трудно догадаться - пошла вода горячая! Начиная примерно с 2002-2003 гг. началась эра телефонов уже с цветными экранами. Первыми представителями телефонов с ПОЛНОЦЕННЫМИ цветными дисплеями стали:


Nokia 7650

Старые мобильные телефоны - ностальгия Ностальгия, Мобильные телефоны, Мобильные игры, Nokia, Sony Ericsson, Ericsson, Symbian, Android, 90-е, 2000-е, 2010, Прошлое, Олдскул, iOS, Ретро, Ретроспектива, Java, Java игры, Видео, Длиннопост

Sony Ericsson T68

Старые мобильные телефоны - ностальгия Ностальгия, Мобильные телефоны, Мобильные игры, Nokia, Sony Ericsson, Ericsson, Symbian, Android, 90-е, 2000-е, 2010, Прошлое, Олдскул, iOS, Ретро, Ретроспектива, Java, Java игры, Видео, Длиннопост

Motorola T720

Старые мобильные телефоны - ностальгия Ностальгия, Мобильные телефоны, Мобильные игры, Nokia, Sony Ericsson, Ericsson, Symbian, Android, 90-е, 2000-е, 2010, Прошлое, Олдскул, iOS, Ретро, Ретроспектива, Java, Java игры, Видео, Длиннопост

Поначалу они умели тоже самое, что и черно-белые. Только экран стал цветным и мелодии полифоническими - на слух в разы приятнее пищалок. Также было не без болячек: у них памяти было максимум 4 мегабайта, из-за чего были мелодии, при воспроизведении которых играло либо начало, либо песня сразу стартовала с припева. Это во-первых. Во-вторых, у них была посредственная камера, разрешение снимков которой было либо CIF (352х288), либо VGA (640х480). Разнообразие телефонов настолько поражало, что словами не описать! Слайдеры, жабки, трансформеры и это далеко не всё!

Старые мобильные телефоны - ностальгия Ностальгия, Мобильные телефоны, Мобильные игры, Nokia, Sony Ericsson, Ericsson, Symbian, Android, 90-е, 2000-е, 2010, Прошлое, Олдскул, iOS, Ретро, Ретроспектива, Java, Java игры, Видео, Длиннопост
Старые мобильные телефоны - ностальгия Ностальгия, Мобильные телефоны, Мобильные игры, Nokia, Sony Ericsson, Ericsson, Symbian, Android, 90-е, 2000-е, 2010, Прошлое, Олдскул, iOS, Ретро, Ретроспектива, Java, Java игры, Видео, Длиннопост
Старые мобильные телефоны - ностальгия Ностальгия, Мобильные телефоны, Мобильные игры, Nokia, Sony Ericsson, Ericsson, Symbian, Android, 90-е, 2000-е, 2010, Прошлое, Олдскул, iOS, Ретро, Ретроспектива, Java, Java игры, Видео, Длиннопост

Помимо всего этого, также были и телефоны, которые выглядели немного странно, а некоторые - и вовсе имели чересчур упоротый дизайн. Звучит смешно, но их в основном штамповала Nokia.

Старые мобильные телефоны - ностальгия Ностальгия, Мобильные телефоны, Мобильные игры, Nokia, Sony Ericsson, Ericsson, Symbian, Android, 90-е, 2000-е, 2010, Прошлое, Олдскул, iOS, Ретро, Ретроспектива, Java, Java игры, Видео, Длиннопост
Старые мобильные телефоны - ностальгия Ностальгия, Мобильные телефоны, Мобильные игры, Nokia, Sony Ericsson, Ericsson, Symbian, Android, 90-е, 2000-е, 2010, Прошлое, Олдскул, iOS, Ретро, Ретроспектива, Java, Java игры, Видео, Длиннопост
Старые мобильные телефоны - ностальгия Ностальгия, Мобильные телефоны, Мобильные игры, Nokia, Sony Ericsson, Ericsson, Symbian, Android, 90-е, 2000-е, 2010, Прошлое, Олдскул, iOS, Ретро, Ретроспектива, Java, Java игры, Видео, Длиннопост
Старые мобильные телефоны - ностальгия Ностальгия, Мобильные телефоны, Мобильные игры, Nokia, Sony Ericsson, Ericsson, Symbian, Android, 90-е, 2000-е, 2010, Прошлое, Олдскул, iOS, Ретро, Ретроспектива, Java, Java игры, Видео, Длиннопост

В общем, к 2005 году я сделал вывод, что мой Ericsson A2628s - устарел, по сравнению с этими мобилами. И надо бы заработать на новую трубу. Я был в то время подростком, и мне кое-как удалось найти работу и заработать неплохую сумму - целых 11к рубчинских.

Старые мобильные телефоны - ностальгия Ностальгия, Мобильные телефоны, Мобильные игры, Nokia, Sony Ericsson, Ericsson, Symbian, Android, 90-е, 2000-е, 2010, Прошлое, Олдскул, iOS, Ретро, Ретроспектива, Java, Java игры, Видео, Длиннопост
Старые мобильные телефоны - ностальгия Ностальгия, Мобильные телефоны, Мобильные игры, Nokia, Sony Ericsson, Ericsson, Symbian, Android, 90-е, 2000-е, 2010, Прошлое, Олдскул, iOS, Ретро, Ретроспектива, Java, Java игры, Видео, Длиннопост

В начале июля 2005 года, взяв заработанные деньги, вдобавок изучив журнал Связного со "взрослыми игрушками", я отправился покупать новую мобилу. Как раз эти 11000 деревянных и стоил мой следующий телефон, который, кстати работал на Symbian, а также поддерживал GPRS и даже EDGE, имел Bluetooth, инфракрасный порт, поддерживал песни формата MP3, карты памяти и конечно же Java. Вот!

Старые мобильные телефоны - ностальгия Ностальгия, Мобильные телефоны, Мобильные игры, Nokia, Sony Ericsson, Ericsson, Symbian, Android, 90-е, 2000-е, 2010, Прошлое, Олдскул, iOS, Ретро, Ретроспектива, Java, Java игры, Видео, Длиннопост

Nokia 3230. Мой самый первый смартфон и был действительно хорош за свою цену. Первым делом, там стояла хорошая на то время камера в 1.2 мегапикселя. Качество фото для такой камеры было весьма неплохим - 1280х960. Все потому, что сравнивать было не с чем, ведь до того, как у меня появился цифровой фотик, я фоткал на Нокию. Другое дело - видео. Шипение, плохое качество, низкое разрешение в 176х144 - полная жесть......


Также присутствовали и ИК-порт, и Bluetooth. С первым все было не так однозначно. Дело в том, что у большинства в моем окружении были телефоны Siemens, на которых не было Bluetooth, а перекидываться картинками, играми и т. д. были вынуждены именно через инфракрасный порт. А перекидывались именно таким образом:

Старые мобильные телефоны - ностальгия Ностальгия, Мобильные телефоны, Мобильные игры, Nokia, Sony Ericsson, Ericsson, Symbian, Android, 90-е, 2000-е, 2010, Прошлое, Олдскул, iOS, Ретро, Ретроспектива, Java, Java игры, Видео, Длиннопост

Не лихие 90е, а беспощадные и холодные нулевые! Во-первых, перекидывая всякой всячиной через ИК-порт, телефоны нужно было ставить почти вплотную, и только так. А во-вторых, скорость передачи была крайне медленной, что для середины 2000х это была полная боль! Поэтому со временем от ИК-порта начали отказываться в пользу более быстрого Bluetooth, с которым не было почти никакого баяна.


Разрешение экрана в 176х208 для меня было действительно большим. Особенно хорошо впечатлило меня то, какой в Нокии был звук. Наверняка все мы помним те времена, когда каждый вечер и у каждого подъезда собирались парни в спортивках и на всю мощь врубали мелодийную Бутырку! О да, 48-тональная полифония - предел мечтаний любого подъездного диджея!

Теперь пришло время немного упомянуть несколько игрушек:

Старые мобильные телефоны - ностальгия Ностальгия, Мобильные телефоны, Мобильные игры, Nokia, Sony Ericsson, Ericsson, Symbian, Android, 90-е, 2000-е, 2010, Прошлое, Олдскул, iOS, Ретро, Ретроспектива, Java, Java игры, Видео, Длиннопост

Во всех смыслах в серии Need for Speed венцом творения был и остается легендарный Most Wanted, и среди мобильных версий тоже. У ней есть всё: реалистичная физика, агрессивные противники, огромный город и имбовые копы. Все, за что мы любим Самого Разыскиваемого - есть в его мобильной версии.

Старые мобильные телефоны - ностальгия Ностальгия, Мобильные телефоны, Мобильные игры, Nokia, Sony Ericsson, Ericsson, Symbian, Android, 90-е, 2000-е, 2010, Прошлое, Олдскул, iOS, Ретро, Ретроспектива, Java, Java игры, Видео, Длиннопост

Bounce Tales. А эта игра (которую мне скинул друг в 2009 году) - вообще классика жанра. Nokia умела делать свои игры. После залипательной змейки и увлекательной игры Bounce вышла еще одна игра про красного шарика, но на сей раз с сюжетом. Как обычно: проходишь уровни, избавляешься от всякого дерьма и спасаешь шаров, за которых играешь в дальнейшем.

Старые мобильные телефоны - ностальгия Ностальгия, Мобильные телефоны, Мобильные игры, Nokia, Sony Ericsson, Ericsson, Symbian, Android, 90-е, 2000-е, 2010, Прошлое, Олдскул, iOS, Ретро, Ретроспектива, Java, Java игры, Видео, Длиннопост

Знаменитый Gravity Defied был самой попсовой мобильной игрой в моем окружении. Едешь ты на мотоцикле, а тут тебе надо аккуратно ехать по кривым и безумно сложным трассам. В общем, крутая игра, даже несмотря на адскую сложность. Помню, когда кучу времени тратил на уровни, то дрючил джойстик, из-за чего приходилось его чинить...

Старые мобильные телефоны - ностальгия Ностальгия, Мобильные телефоны, Мобильные игры, Nokia, Sony Ericsson, Ericsson, Symbian, Android, 90-е, 2000-е, 2010, Прошлое, Олдскул, iOS, Ретро, Ретроспектива, Java, Java игры, Видео, Длиннопост

Игра про червячков - вообще была самой безбашенной игрой на мобилках! На одном телефоне по Bluetooth можно было сыграть хоть по несколько человек. Скажу, что до этого мы играли в безбашенных червячков у нашего знакомого, у которого был очень древний и допотопный компьютер 1996 года. А на телефоне можно сыграть в червячков где угодно и когда угодно! И даже не представить, как же тогда это было охрененно!


Были и другие игрули, но моя память уже успела их забыть :(


Bluetooth и инфракрасный порт были не единственными способами заполучить игру, песню или смешной видосик. На то время существовал уже более доступный мобильный интернет. Я не имею ввиду встроенный мобильный браузер, который коряво грузил страницы и отжирал много денег со счета. Решение этой дилеммы было одно - установить Opera Mini, с которой все было в порядке. Открывала она страницы адекватно и экономила счет. Самым популярным мессенджером в то время стала ICQ (она же Аська), и была она популярной даже в эпоху ВК.

Старые мобильные телефоны - ностальгия Ностальгия, Мобильные телефоны, Мобильные игры, Nokia, Sony Ericsson, Ericsson, Symbian, Android, 90-е, 2000-е, 2010, Прошлое, Олдскул, iOS, Ретро, Ретроспектива, Java, Java игры, Видео, Длиннопост

Памяти в моем Нокии было мало - всего 6 мегабайт, и со временем этого начало не хватать. Потом у меня появилась карта памяти, на которой было много места (где-то 1 гигабайт, которого тогда было действительно много).


Что же, это было долгое, но прекрасное и незабываемое время с Nokia 3230. Купил ее в июле 2005 года, а была она заменена - в мае 2012-го! Поняли, да - почти 7 лет. Думаю, не стоит напоминать, какое устройство представил знаменитый Стив Джобс в 2007 году. Обыкновенные телефоны с кнопками начали оставаться в прошлом. Наступило именно то время, которое знакомо нам сейчас. Итак, пришло время упомянуть мой первый смартфон, который работал на Android, ставший к 2012 году самой популярной мобильной ОС, при этом сбросив с первенства Symbian.

Старые мобильные телефоны - ностальгия Ностальгия, Мобильные телефоны, Мобильные игры, Nokia, Sony Ericsson, Ericsson, Symbian, Android, 90-е, 2000-е, 2010, Прошлое, Олдскул, iOS, Ретро, Ретроспектива, Java, Java игры, Видео, Длиннопост

Sony Ericsson Live with Walkman. Только попытайтесь вслух произнести такое дикое название! Ну ладно, неважно. Помню, когда шел по торговому центру со своей девушкой за покупками, то в одной витрины я обнаружил в продаже iPhone 4, который имел 16 гигабайт памяти и на борту была iOS 5. Но эта сволочь стоила фантастически - 22000! На следующий день я пошел покупать смартфон, перед этим узнав, что система iOS закрытая, да и ставить туда сторонние приложения нельзя.


"Куплю Айфон за более, чем 20 тысяч рублей, а взамен за такие огромные деньги я получу какую-то закрытую систему с лишением возможности устанавливать сторонний софт? Нет! Ни за что!" - подумал я, обнаружив тот самый яблочкофон. В том же магазине мне попались более дешевые аналоги на зеленом роботе. Так почему же я выбрал именно Sony Ericsson за 9000? Потому что размер и габариты для меня играли значительную роль, чтобы смартфон был не слишком маленьким и не слишком большим. К сенсорному экрану привыкнуть было раз плюнуть, ведь до этого мне повезло пощупать недорогой тачфон (Samsung S5230) одного моего приятеля, а также Sony Ericsson Xperia Mini, которым тогда пользовалась моя девушка.


Фирменная оболочка Sony мне сразу же понравилась, ведь работала вменяемо и выглядела красиво. Чего только стоят фирменный плеер Walkman, рабочий стол, экран блокировки и шторка уведомлений. Кстати про плеер, я никогда не пользовался настолько удобным плеером, как тем же Волкманом. По производительности это был среднячок, и играть в Subway Surfers, Angry Birds, Jetpack Joyride, Fruit Ninja, 2048, Hungry Shark и прочие нетребовательные игрульки было приятно и комфортно. А вот в случае с тяжелыми (для смартфона) проектами в лице GTA 3, было не настолько радужно, но тем не менее, играть можно было. Через какое-то время, на мой Сони Эриксон прилетело обновление Android до версии 4.0, после которого, к сожалению обновлений больше не было. Да и так было не все так гладко. После обновления, смартфон начал чаще тупить, зависать и охотно терял заряд аккумулятора. Спустя какое-то время, когда мне уже окончательно надоели лаги - я пытался поставить на смартфон кастомную прошивку. В итоге, мне кое-как удалось - поставил Cyanogenmod, и он работал уже значительно лучше. Мой Sony Ericsson работал шустрее и дольше держал батарею за счет "голого" Андроида. Встроенной памяти в моем Live with Walkman было немыслимо мало - всего-на-всего 300 мегабайт! Решалось все покупкой карты памяти. Тогда у меня была карта памяти на 16 гигабайт. Память была наполнена не менее, чем на 70%. Чем же у меня было столько занято? Музыкой, видео, фотками и прочим.


С тех пор у меня поменялся смартфон несколько раз, но это никакого вау-эффекта больше не вызывало. По той причине, что смартфоны последних лет начали выглядеть однообразно и стали выглядеть похожими свиду, уже больше не появлялось никакого восторга. Мы изменились. И сейчас мы имеем то, что имеем.


Такая была у меня история. Спасибо всем, кто дочитал. Не забудьте поделиться своей историей о том, какими мобильными телефонами пользовались вы, проходя весь этот долгий путь.

Показать полностью 24 1
[моё] Ностальгия Мобильные телефоны Мобильные игры Nokia Sony Ericsson Ericsson Symbian Android 90-е 2000-е 2010 Прошлое Олдскул iOS Ретро Ретроспектива Java Java игры Видео Длиннопост
131
Партнёрский материал Реклама
specials
specials

Как бросить курить и не сорваться: инструкция от тех, кто смог⁠⁠

Выходишь покурить на пять минут, а возвращаешься через 10 лет: с хрипом, тремя неудачными попытками бросить и пачкой мятных жвачек в кармане. Это как плохой сериал: тянется слишком долго, а финал все равно разочарует. Но выйти из этого сценария можно и даже не обязательно драматично. Мы собрали истории тех, кто боролся с зависимостью ради любимого человека, здоровья или лучшей жизни.

Как бросить курить и не сорваться: инструкция от тех, кто смог Курение, Борьба с курением, Зависимость, Telegram (ссылка), ВКонтакте (ссылка), Длиннопост

История 1 — отражение

@holoroad

Маленькая дочка почти научилась ходить и всюду телепалась за мной. Я не курил при ней. Ходил на балкон, а она, прильнув к стеклу, смотрела на меня и ждала, когда я докурю и выйду к ней. И в какой-то момент она начала повторять за мной вот эти движения. Маленький человечек, ей было года полтора или два, прикладывала воображаемую сигарету к губам, а потом делала вид, что выпускает дым. И весело так на меня смотрела, сквозь стекло балконной двери. Ей нравилось все, что со мной связано, и она подражала всем моим действиям. Я курил уже двадцать лет и, конечно, делал множество попыток бросить до этого. Но в этот раз у меня в первый раз появилась по-настоящему важная причина бросить. Это важно для человека, который безгранично мне доверяет. С тех пор прошло почти десять лет, в течение которых я не сделал ни одной затяжки.

Решение бросить курить — одно из лучших, которое вы можете принять для своего здоровья, будущего и близких. Но справиться с зависимостью только потому, что «это вредно» будет тяжело. А вот если хотите не задыхаться, поднимаясь по лестнице, или волнуетесь за своего ребенка, которые вдыхает табачный дым, — уже другое дело.

Сформулируйте, что для вас значит отказ от никотина. Это может быть желание прожить дольше, избавиться от проблем со здоровьем, выглядеть моложе, сэкономить деньги или защитить близких от пассивного курения. Напоминание об этой причине повесьте на видное место.

История 2 — список

@maxneb

Беременность жены, рождение ребенка, здоровье, деньги — ничего не было веским поводом бросить окончательно. Постоянно срывался. Помогло составить список, что теряю и что получаю от сигарет, и понимание, что хотя бы одна затяжка — и все насмарку: пару месяцев буду курить. Только список и его осознание. Для каждого он свой. И постоянное обращение к нему. После составления списка курил еще. Но он как заноза висел в голове с вопросом «зачем?»... Так, что-то щелкнуло и сейчас не тянет. Иногда тянет физически, но осознание бесполезности курения сразу глушит позывы. Полгода, полет нормальный...

Бросать на авось — идея, которая подойдет не всем. Нужно понимать, что делать в трудные моменты:

  • Определите дату отказа. Подготовьтесь морально, уберите сигареты, зажигалки, пепельницы.

  • Замените привычки. Сигарету в руках можно заменить орешками, палочками морковки, жвачкой или даже кубиком льда.

  • Займите время. Вспомните, чем вы любили заниматься: спорт, хобби, прогулки.

  • Планируйте, что делать при тяге. Она длится всего 3–5 минут. Дыхательные практики или звонок другу помогут пережить сильное желание закурить.

  • Откажитесь от «наградных сигарет». Одна затяжка и вы откатитесь назад.

Можно бросить резко, «с понедельника», или постепенно, снижая количество сигарет до нуля. Главное — определиться и не отступать.

История 3 — переключение

@Spaka

45 лет, стаж 30. Пытался завязать много раз, потом понял, что после каждой попытки бросить, курить начинаешь больше. Как ребенок, которому не дают вкусняшку, а она случайно попала ему в руки. Из чего мозг сделал вывод: не уверен — не бросай. Потом стал замечать, что организм уже стал сам просить перестать курить. По утрам было очень неприятно во рту, удовольствие после сигареты стало короче, а негатив, приходящий следом, ощутимее: неприятные ощущения в горле, боли миндалин, страх схватить онкодиагноз. Хотя врачи говорили, что все ок, в голове-то гоняешь мысли. Я решил попробовать обмануть сам себя. Не делать из процесса отказа какого-то события. Бросить так, как будто это и должно было произойти, но ты не знаешь когда. Про себя помолился, как сумел, и попросил помощи, хитро прищурил глаз и в момент, когда забыл купить про запас (оставалась пара штук в пачке), просто перестал курить. Мне теперь даже странно, как я раньше это делал. Так и живу почти два года. Кстати, раньше в момент завязки курящих ненавидел, дым был очень противен, до тошноты. Теперь все равно. Присоединяйтесь ;)

Есть несколько стратегий отказа от курения:

  • Резкий. Эффективный и решительный подход.

  • Постепенный. Сначала — меньше сигарет, потом — меньше затяжек. И так до нуля.

  • Психологическая замена. Каждая сигарета — это ритуал. Найдите для каждого из них «здоровую замену».

  • Медикаментозная терапия. При сильной зависимости врач может порекомендовать никотинозаместительную терапию (пластыри, таблетки, жвачки) или препараты, которые помогают справиться с синдромом отмены. Но любые лекарства принимаются только по рекомендации специалиста.

Каждый, кто хочет оставить зависимость в прошлом, может обратиться в центры здоровья, которые работают при поддержке нацпроекта «Продолжительная и активная жизнь», и получить необходимую помощь специалистов. Адреса доступны на официальном портале Минздрава России о здоровье: takzdorovo.ru. Также можно позвонить на горячую линию по отказу от зависимостей 8 800 200-0-200.

История 4 — форма

Аноним

Курила электронки 2 года как замену обычным сигаретам. Думала, что это не так дорого, не так вредно да и для девушки вроде более привлекательно: не пахнут волосы и руки. А потом решила привести свое тело в форму. Стала ходить в зал и поняла, что задыхаюсь на первом же упражнении, хотя женщины гораздо старше меня бодрячком. Было очень тяжело слезть. Друзья советовали заменять сигаретами. А потом уехала в отпуск в страну, где нельзя покупать электронки, отвлеклась, и после возвращения уже не тянуло. Даже на тусовках, где все дымят.

За модными гаджетами и фруктовыми ароматами скрывается химическая бомба, разрушающая организм быстрее, чем обычные сигареты. Электронные сигареты активно продвигаются производителями как «безопасная» альтернатива сигаретам. Но курение вейпа может обернуться серьезными проблемами: от кашля и одышки до поражения сосудов и дыхательных путей.

«Особую тревогу вызывает рост потребления табачных изделий и электронных сигарет. Согласно исследованию, проведенному в нашем Центре, 36,8% курильщиков потребляют одновременно и табак, и электронные сигареты. Среди молодежи в возрасте 25-39 лет этот показатель превышает 45%. Электронные никотиносодержащие и безникотиновые устройства поражают сердце, сосуды, дыхательную систему и ДНК организма не менее пагубно, чем традиционные сигареты, а в ряде случаев способны вызывать острые состояния, включая сосудистые поражения и летальные исходы» – рассказывает руководитель Центра профилактики и контроля потребления табака НМИЦ терапии и профилактической медицины Минздрава России Маринэ Гамбарян.

История 5 — пари

@kernima

Вроде не было никаких серьезных предпосылок, чтобы бросить. Да и чтобы начать: просто все вокруг курили, думал, это сейчас тренд. А потом как-то сидели в баре и решили поспорить с некурящим другом. Он затирал, что моя жизнь из-за электронки катится ко дну, я — доказывал, что это всего лишь маленькая шалость. В общем поспорили на пять тысяч. Чтобы было легче и можно было отвлечься, начал бегать по утрам. Друг проиграл, а я возвращаться к курению не стал. Вдруг снова у еды появился вкус, я начал высыпаться и больше не устаю на втором лестничном проеме. Короче, советую!))

Сульфат никотина, один из компонентов электронных сигарет, раньше использовали как пестицид, но запретили из-за высокой токсичности. Жидкость для «электронок» содержит и опасные химикаты вроде пропиленгликоля, ацетальдегида и акролеина — промышленных веществ, способных вызывать воспаления, поражения органов и мутации клеток. Ароматизаторы, создающие иллюзию безвредности, на деле могут привести к более тяжелой интоксикации, чем при курении сигарет. А еще вейпы содержат не природный, а синтетический никотин — солевой. Он быстрее всасывается, дольше выводится и вызывает зависимость стремительнее.

Когда организм отвыкает от никотина, бывает нелегко: люди становятся раздражительным и нервозными, быстро устают, возникают сухость во рту, кашель, трудности с концентрацией. Важную роль в борьбе с этими симптомами играет питание. В рацион стоит включить овощи, фрукты, орехи, семечки. Клетчатка способствует очищению организма от токсинов. Важно питаться сбалансировано: с достаточным количеством белков, жиров, углеводов и витаминов. Лучше временно исключить продукты, усиливающие удовольствие от табака (например, мясо), а также отказаться от алкоголя, кофе и крепкого чая. Они могут спровоцировать желание закурить. А вот большое количество воды, травяных чаев и настоев облегчит очищение организма и поможет справиться с сухостью во рту.

История 6 — связь

Аноним

Устал курить, понял, что мне это мешает заниматься спортом и в целом комфортно себя чувствовать. Пошел через ассоциации: покурил во время головной боли, и потом через самовнушение дал себе установку, что голова болела от курения. Звучит странно, конечно, но это сработало. Никотиновую зависимость снижал постепенно через редкое курение кальяна (2-3 раза в неделю с последующим уменьшением).

Чтобы добиться успеха в отказе от курения, стоит подготовиться. Обязательно расскажите о своем решении друзьям и близким — поддержка со стороны очень важна. Если вы уже предпринимали попытки бросить, вспомните, что тогда пошло не так, и постарайтесь не повторять этих ошибок.

Разберитесь, что именно тянет вас к сигарете: скука, стресс, привычка? Когда вы это осознаете, будет легче подобрать альтернативные действия — прогулку, книгу, разговор с близким. Учитесь распознавать моменты, когда особенно хочется закурить, и переключаться на что-то другое. Можно подключиться к программам или группам поддержки — это поможет не сдаваться. И главное: уберите из дома все сигареты.

История 7 — вершина

Аноним

Поднимался с сыном по Пушкинской тропе на гору Железная. Мне лет сорок пять было, идем общаемся, сын бегает туда-сюда. Ну идем короче, а сзади нас догоняет семейная пара, мирно о чем-то щебеча между собой. Догнали и обходят. И так спокойно удаляются… Все бы ничего, но им лет по шестьдесят, если не больше. Я попробовал в их темпе, но задыхаться стал. Короче, поднялся я на гору, спустился, смял пачку и выкинул в мусорную урну. Вот уже 13 лет не курю. Стаж 27 лет.

Курение — это быстро развивающаяся зависимость, схожая по механизму с наркотической. Никотин воздействует на мозг, вызывая кратковременное улучшение настроения, за которым следует упадок сил и потребность в новой дозе. Со временем формируется толерантность, и прежние негативные реакции организма на табак ослабевают. Физическая зависимость сочетается с психологической: сигарета начинает ассоциироваться с отдыхом, решением задач, рутиной. Курение укрепляется поведенческими шаблонами: кофе, вождение, паузы на работе уже не мыслимы без сигареты.


Каждый, кто пытался избавиться от никотиновой зависимости, знает, как это тяжело. Ломка, раздражительность, навязчивые мысли. Даже при переходе на вейпы, иллюзия «меньшего вреда» быстро развеивается: химические коктейли из ароматических смесей также бьют по легким, сосудам и всему организму.

Хорошая новость в том, что вы не одни. В сообществе «Давай бросать» (ВКонтакте и мессенджере Telegram), который работает при поддержке нацпроекта «Продолжительная и активная жизнь» знают, каково бороться с триггерами, искать замену привычке и удерживать себя от срыва. Здесь делятся историями тех, кто смог, поддерживают тех, кто только начал, и помогают разобраться в главном: как пережить отказ без мучений.

Социальная реклама. АНО «Национальные приоритеты», ИНН: 9704007633

Показать полностью
Курение Борьба с курением Зависимость Telegram (ссылка) ВКонтакте (ссылка) Длиннопост
3
Sashas25
Sashas25
4 года назад

Muscle car⁠⁠

Muscle car Android Раскраска Ретро Видео
0
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии