ailiboy / ebookdroid

Automatically exported from code.google.com/p/ebookdroid
0 stars 0 forks source link

Чёрный экран при открытии djvu на Android 2.3.3 #100

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Доброго времени суток.

Использую Android 2.3.3 на устройстве Perfeo PAT708W 
(оно же - GPad G13).
При попытке открыть любые djvu-файлы получаю 
чёрный экран без какого-либо намёка на 
содержимое. "Go to page" не показывает бегунка 
количества страниц
Пробовал версию 1.2.2.
Попробовал также запустить development версию, 
но она вылетает с ошибкой деления на ноль 
при попытке открыть djvu-файл.

PDF-файлы открываются без проблем.

Аналогичная беда с открытием djvu происходит 
и в vudroid (оригинальном, не plus), и в vuview (если 
это как-то может помочь).

К сообщению прикладываю пример djvu-файла 
(одного из многих), который у меня приводит 
к вышеописанным результатам.

С уважением,
Владимир.

Original issue reported on code.google.com by vladimir...@gmail.com on 29 Nov 2011 at 11:51

Attachments:

GoogleCodeExporter commented 9 years ago
А хоть какой-нибудь djvu открывается? Не 
могли бы вы собрать и прикрепить логи, 
например с помощью aLogCat?

Original comment by Andrei.K...@gmail.com on 30 Nov 2011 at 11:46

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Никакой из djvu, которые я пробовал - не 
открываются, а это около 25 штук (файлов 
больше, тестить просто надоело). Эти 
DJVU-файлы, похоже, объединяет тот факт, что 
они все - сканированный текст, без слоя 
распознанного текста. Но точно не ручаюсь...

Прикладываю записи в логе, связанные с 
EBookDroid.

P. S. Оффтоп. Обратил внимание в логе на 
ошибку запроса к SQLite: EBookDroid случаем не в ней 
хранит закладки, а то они тоже не особо 
работают?..

Original comment by vladimir...@gmail.com on 1 Dec 2011 at 3:59

Attachments:

GoogleCodeExporter commented 9 years ago
На всякий случай прикладываю сам djvu-файл.

Original comment by vladimir...@gmail.com on 1 Dec 2011 at 4:02

Attachments:

GoogleCodeExporter commented 9 years ago
Судя по логам, что-то очень странное либо со 
сборкой EBookDroid (у нас было несколько dev 
билдов выложено с мешаниной вместо id'шек), 
либо с самим андроидом. Но так как вы 
пробовали 1.2.2 с маркета, то скорее всего не 
с EBookDroid.

Да, все настройки, в том числе и закладки, 
хранятся в SQLite. Пробовали делать полный 
uninstall? 

Теперь про ОС. Я зашел на www.perfeo.ru - там они 
пишут, что ОС 2.1. Откуда тогда 2.3.3? Самопал 
какой-то? И еще один момент - у вашего 
устройства всего 256 Мб памяти. Как мне 
кажется это очень мало. DJVU библиотека очень 
прожорлива и использует нативную память, 
которая не учитывается при выделении 
памяти для приложения. 

Оба документа проверил - работают 
нормально.

Original comment by Andrei.K...@gmail.com on 2 Dec 2011 at 7:42

GoogleCodeExporter commented 9 years ago
Верно, "самопал". Сборка 2.3.3 от какого-то 
фаната. Ставил с JIT поиграться, пока не 
узнал, что JIT есть и в 2.1.

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

Вообще, ваш ответ натолкнул меня ещё на 
мысль следующего характера: DJVULivre же под 
арм собранная используется - вполне может 
быть такое, что в ней экспортируются 
какие-то символы из некой гипотетической 
динамической библиотеки libчто-то.so.0, а в 
моей сборке есть файл libчто-то.so.1, но нет 
симлинка для обратной совместимости - мало 
ли, кто упустил или забыл; характерная 
такая линуксячья беда. Жаль, в dmesg'е этот 
факт не отражается, только через 
слинкованный с libdjvu хеллоуворлд тестисть, а 
это надо пересилить лень, поставить 
кросскомпилятор и среду для 
кросскомпиляции. Может быть попробую, коли 
руки дойдут и если существование такого 
рода ошибки имеет ненулевую вероятность :)

Как попробую, выложу сюда окончательный 
результат.

Спасибо за помощь!

Original comment by vladimir...@gmail.com on 2 Dec 2011 at 4:16

GoogleCodeExporter commented 9 years ago
Сборка Пожалуй ни при чем. Библиотека 
собирается без зависимостей. Скорее всего 
проблема с памятью.

Original comment by Andrei.K...@gmail.com on 2 Dec 2011 at 8:09

GoogleCodeExporter commented 9 years ago
В общем, решил я особо не мучиться и 
поставил обратно Android 2.1. На нём прекрасно 
всё заработало, djvu просматриваются вполне 
сносно и не тормозят про прокрутке.
Так что, проблема была всё же в сборке. А что 
это было - покрыто мраком тайны. Скорее 
всего, действительно - что-то связанное с 
управлением памятью (где-нибудь на 
аллокациях памяти больше не выдавалось, 
вот и результат - не открытие файла; жаль, 
ошибка самим EBookDroid'ом не обрабатывалась 
никак), раз библиотека внешних символов не 
экспортирует...

Original comment by vladimir...@gmail.com on 3 Dec 2011 at 11:46

GoogleCodeExporter commented 9 years ago
По правде говоря библиотека экспортирует 
внешние символы для взаимодействия с Java по  
JNI. Кроме того она и импортирует, например, 
native bitmabs, zlib и т.д. Так что вполне могла быть. 
что в сборке эти библиотеки как-то не так 
собраны или изменили ABI интерфейс. Учитывая 
что ситуация одиночная и на сторонней 
прошивке - закрываю issue.

Original comment by mc.creat on 3 Dec 2011 at 12:18