Старый Android (версии 4-6), словари AARD 2 и Fora, запуск приложений через ADB, логи logcat

Apr 18, 2020 08:37

Странная штука происходит с Android приложениями. Google заставляет разработчиков использовать последние версии набор средств разработки SDK. В данный момент для Google Play Store версия SDK должна быть не ниже 26, так что приложения рассчитаны на Андроид 8 и выше.

На e-Ink читалке Likebook Plus, которой всего то пару лет, версия Android 4.2. Китайцы из Boyue вообще не очень заботятся об обновлениях. Хотя более новым версиям их устройств повезло больше (например, Likebook Mars и Ares предлагают Андроид 6), история с пандемией может прилично подкосить компанию. По крайней мере, Android 8 для последних читалок так и не появился, хотя обещали выкатить его в марте.

Поставил словарь с открытым исходным кодом AARD 2. В нём требование к SDK было повышено до 26 версии. Но по непонятной причине, Google Play показывает, что приложение совместимо со всеми моими устройствами, в том числе и Likebook Plus. Я думал, что при этом устанавливается старая версия, но Google Play, к сожалению, не позволяет размещать разные версии приложений, поскольку приложение идентифицируется по названию. Оказалось, что AARD 2 версии 0.43 прекрасно устанавливается на Android 4.2 на моём устройстве. Вот только при нажатии на иконку в лончере он не работал.

Подключил Likebook Plus по кабелю к компьютеру, запустил приложение при помощи ADB команды
adb shell monkey -p itkach.aard2 -c android.intent.category.LAUNCHER 1
К моему искреннему удивлению, приложение запустилось. Правда найти словари я в нём не смог. Отключил кабель и навигация по папкам на устройстве стала нормальной, словари в формате SLOB прекрасно добавились. Закрыл приложение и оно после этого прекрасно запускается из лончера и из читалки вроде Cool Reader.

Попробовал посмотреть логи при помощи команды logcat:
adb logcat | grep itkach.aard2
Можно было вывести все логи, запустив logcat без параметров, но удобнее отфильтровать вывод (хотя разработчику может понадобится более подробная информация). В данном случае для фильтрации использовал grep с указанием названия приложения, а вот уже для Android 8 доступен фильтр по номеру процесса (этот номер меняется после перезапуска):
pid=$(adb shell ps | grep "itkach.aard2" | cut -c10-15) && adb logcat | grep $pid

По видимому, AARD 2 чаще используют для офлайн доступа к Википедии, поэтому для перевода слов с использованием нескольких словарей данное приложение неудобно. MDict в этом плане на голову лучше (BlueDict и EBDic тоже неплохи).

В отличии от AARD 2, приложение Fora Dictionary Pro уже не ставится из Google Play. Поскольку последний магазин приложений не хранит и не предоставляет старые версии (в отличии от того же F-Droid), то приходится искать приложение в других источниках. Хорошо, когда разработчик предлагает старые версии на своём сайте. Но это чаще в основном характерно для приложений с открытым исходным кодом. Жаль, что Гугл таким образом способствует распространению вредоносного программного обеспечения.

В случае с Fora Dictionary Pro стал искать версию для Android 4.2. Для начала установил Fora_Dictionary 11.4, который работал и на Android 2 (Nook Simple Touch, Nook Glowlight Plus). Версия конечно древняя, но пашет. Потом путём перебора от старшей версии к младшей добрался до Fora Dictionary Pro v. 25.0.

Fora Dictionary Pro использует словари StarDict, DSL (Lingvo), так что не может похвастаться отличным форматированием, характерным для MDict словарей. Но с последними на Likebook Plus пока не удаётся найти беспроблемное решение:
  • Приложение MDict работает, но при запуске из Cool Reader убирает с экрана полосу уведомлений, а после закрытия долго переформатирует текст, да и лишнее мерцание при ненужной перерисовке происходит.
  • AlReader прекрасно открывает приложение MDict, но в нём отсутствует обработка двойных нажатий, так что пользоваться и словарём и добавлением цитат/закладок неудобно. Экспериментальная версия AlReaderX прекрасно обрабатывает двойные нажатия, но в ней пока нет цитат/закладок.
  • Приложения BlueDict и EBDic прекрасно работают с mdx/mdd словарями с китайских сайтов, но не работают со сконвертированными при помощи PyGlossary и MDX Builder 4.0 mdx словарями. Старая версия MDX Builder исчезла с сайта MDict, а новые скорвертированные словари подходят только приложения MDict. Китайский разработчик и закрытый формат делают своё дело.
  • EBDic вроде бы должен поддерживать словари StarDict и EPWING, но почему-то у меня закрывается при добавлении StarDict словаря, сконвертированного при помощи PyGlossary.
Хотелось бы конечно использовать именно EBDic в связке с Cool Reader / AlReader, в том числе благодаря экспорту в AnkiDroid (хотя приложение и исчезло из Google Play), но пока наличие только толковых словарей меня останавливает. Приходится пользоваться For Dictionary Pro, несмотря на не особо удобный переход между словарями и отсутствие интеграции с AnkiDroid.

андроид, android

Previous post Next post
Up