Введение
Есть у меня устройство onyx boox viking, проблема в том, что выпускали его на старом андроиде 4.4.4, казалось бы, какая разница, читать то не важно ведь? В чем то вы правы, но есть нюанс. Я привык пользоваться приложением fbreader, тем более разраб сам заявил что пользователи onyx boox могут бесплатно использовать премиум версию. В свою очередь, компания onyx boox так же писала пост о fbreader, в своей группе. Этот факт и подтолкнул меня к покупке устройств, ведь я читаю не только дома, но и в общественном транспорте, по пути на работу/домой, мне просто необходима синхронизация между смартфоном и читалкой.
Суть проблемы
В этом месяце перестала работать синхронизация и вообще сетевая библиотека fbreader, проблема в сертификатах Let’s Encrypt, ос поддерживающие его указаны здесь https://letsencrypt.org/ru/docs/certificate-compatibility/
Если зайти на сайт fbreader.org, где установлен сертификат Let’s Encrypt, то в ос где нет их корневого сертификата, будет ошибка ERR_CERT_AUTHORITY_INVALID
И если это можно проигнорировать, то вот в приложение не получится нажать "все равно зайти" и синхронизация не включится, т.к. там так же идёт обращение к fbreader.org, только к поддомену data.fbreader.org, а может и к books.fbreader.org, я хз, главное, там один сертификат.
В обычном android смартфоне, пользователь может добавить коневой сертификат самостоятельно, только ему потребуется установить пин или графический ключ. Проблема в том, что на читалках интерфейс кастрированный и такого пункта просто нет.
На просторах интернета встречается такое решение https://www.reddit.com/r/Onyx_Boox/comments/vrmhbq/install_certificates_into_onyx_box/ однако, несмотря на то, что мне удалось попасть в классическое меню, и даже начать процесс добавления, система попросила задать пин и при попытке задать ошибка, ибо очевидно, разрабы выпили эту возможность.
Решение
Все написанное ниже справедливо к моему устройству onyx boox viking на базе android 4.4.4.
Все описанные действия производите на свой страх и риск.
Для начала нам нужен root, я перепробовал кучу приложений и мне помогло только Root Zhushou, ссылка на архив https://disk.yandex.ru/d/_bmkzm1GxIo-7A
Далее я установил adbd Insecure(https://disk.yandex.ru/d/_bmkzm1GxIo-7A), возможно, это было излишнее, но без этого у меня не получалось запустить adb remount. В приложение я активировал обе галочки.
Убедитесь что ADB включен, для этого Настройки-Приложения-Откладка по USB.
Далее нам понадобится adb, инструкцию как установить читайте тут или тут или еще где нравится.
Выполните команду
adb remount если результат не remount succeeded, попробуйте adb shell mount -o rw,remount,rw /system У меня получилось не с первой попытки и в первый раз сработала одна команда, а в другой раз, другая.
Далее нужно файл 6187b673.0 из архива https://disk.yandex.ru/d/_bmkzm1GxIo-7A закинуть в устройство, это можно сделать с помощью команды
adb push 6187b673.0 /system/etc/security/cacerts/ обратите внимание, 6187b673.0 это путь к файлу, если файл находиться в каталоге в котором исполняете команды cmd, то пусть указывать не надо, если в ином месте, к примеру на рабочем столе, то путь будет типа C:\Users\user\Desktop\6187b673.0
Далее выполняете chmod 644 /system/etc/security/cacerts/6187b673.0 и перезагружаете своё устройство.
После выполненных манипуляций, у меня снова заработала синхронизация.
Если нет пк под рукой
В общем то, это не проблема, берёте какой-нибудь root проводник, например Root Explorer. Скачиваете файл 6187b673.0 и закидываете его в /system/etc/security/cacerts/ после чего изменяете права файла на 644 и перезагружаетесь, всё.
Оф ответ тп
Ах да, я же обращался к тп onyx boox, он им плевать, странно что прямо не сказали "купи устройство поновее"