Как оживить старый ридер на Android и читать современные книги по подписке (опыт с Onyx Boox Darwin)
Всем привет! Хочу поделиться опытом решения одной наболевшей проблемы со старыми читалками.
У меня уже лет семь живет верный ридер Onyx Boox Darwin. Чисто физически аппарат отличный: экран E-Ink Carta, мягкая двухтоновая подсветка, приятные боковые кнопки и аккумулятор, который даже спустя годы спокойно держит 2–3 недели чтения.
Но последний год он тупо лежал на полке и собирал пыль.
В чем была проблема?
Я, как и многие, читаю книги по подписке (сервис Яндекс Книги / бывший Букмейт). Каталог удобный, новинки появляются сразу. Но читать приходилось со светящегося экрана смартфона, сажая зрение перед сном.
Потому что на читалке творился тупик:
На старых ридерах стоит Android 4.2 – 4.4. Официальное приложение из маркета туда даже не ставится (требует свежий Android).
Если найти старый APK и запустить — книга намертво виснет. Современные клиенты строятся на базе тяжелого браузерного движка Chromium WebView и сжирают 250–300 МБ оперативки. А у читалки всего 512 МБ ОЗУ на всё устройство! В итоге аппарат уходит в глухой ступор до сброса скрепкой.
Сетевой стек Android 4.x не знает современных протоколов шифрования TLS 1.3, из-за чего авторизация падает с ошибками сети.
Получался абсурд: подписка оплачена, отличный E-Ink экран лежит рядом, а ты либо портишь глаза в телефон, либо по старинке ищешь пиратские FB2 на торрентах и перекидываешь через шнур с ноутбука.
Как удалось решить проблему технически
Вместе со знакомым разработчиком мы решили разобраться, можно ли вообще заставить старое железо нормально открывать подписные книги без лагов и перегрева.
Оказалось — можно, если полностью пересмотреть архитектуру:
Полный отказ от WebView. Весь текст рисуется напрямую через нативный легковесный холст Android (Canvas + StaticLayout). Вместо 300 МБ потребление памяти упало до 15–20 МБ! Страницы стали листаться мгновенно (быстрее 5 миллисекунд).
Сетевой стек TLS 1.3. Проблему устаревших сертификатов Android 4.x решили внедрением Google Conscrypt (BoringSSL). Защищенные запросы к серверам книг начали проходить штатно.
Вход по QR-коду со смартфона. Набирать длинный пароль с экранной E-Ink клавиатуры — пытка. Сделали вход через QR-код: сканируешь телефоном, нажимаешь «Войти» в браузере мобильного — и ридер мгновенно подхватывает профиль подписки.
Книжная типографика. Встроили классические слоговые переносы TeX (как в AlReader), чтобы текст выравнивался по ширине без огромных дыр между словами, и вывели показ картинок в главах через монохромный растр.
Ночной режим и офлайн-полки. Добавили инверсный режим (белые буквы на черном фоне) для чтения в темноте и возможность в 1 клик скачать нужную полку в память книги, чтобы читать в самолете или поезде без интернета.
В итоге старый Darwin буквально обрел вторую жизнь: работает плавно, батарею не жрет вообще, прогресс чтения синхронизируется со смартфоном, физические боковые кнопки листают идеально.
Мораль
Если у вас дома тоже без дела пылится старая читалка Onyx Boox (Darwin, Vasco da Gama, Faust, Monte Cristo и другие) — не спешите списывать её на свалку или тратить 25-30 тысяч на новый ридер только ради свежего Android. Экраны E-Ink Carta не устарели, им просто противопоказан тяжелый веб-софт.
Кому актуально настроить свой ридер: энтузиасты выложили это решение в открытый доступ как бесплатный Open Source проект. По правилам сайта ссылки прикреплять нельзя, но найти его очень просто: ищите на 4PDA в каталоге Android > Android - Программы > «Яндекс Книги Lite (E-Ink Edition)» или на GitHub по названию onyx-yandex-books.
Берегите зрение и приятного чтения!


