geometer / FBReaderJ

Official FBReaderJ project repository
http://www.fbreader.org/FBReaderJ/
1.83k stars 802 forks source link

FBRreader.apk from Toshiba AC100 misses libLineBreak #66

Closed imz closed 12 years ago

imz commented 12 years ago

I wanted to use FBReader on a Samsung Galaxy telephone, but had no Internet connection. So I found FBReader.apk on my Toshiba AC100 (which is ARM, had Android), and installed it on the phone.

I thought that the dependencies are checked when a package is installed on Android, but I get the following error now (it's about missing libLineBreak).

(The program wanted to report the error via email, but the email address it wanted to use is not valid. See below for the description of the errors.

Please be informed of this two problems.)

Subject: FBReader 0.6.4 exception report

java.lang.ExceptionInInitializerError at org.geometerplus.zlibrary.text.view.ZLTextParagraphCursor.fill(ZLTextParagraphCursor.java:193) at org.geometerplus.zlibrary.text.view.ZLTextParagraphCursor.(ZLTextParagraphCursor.java:177) at org.geometerplus.zlibrary.text.view.ZLTextParagraphCursor.cursor(ZLTextParagraphCursor.java:183) at org.geometerplus.zlibrary.text.view.ZLTextView.setModel(ZLTextView.java:74) at org.geometerplus.fbreader.fbreader.FBView.setModel(FBView.java:41) at org.geometerplus.fbreader.fbreader.FBReader.openBookInternal(FBReader.java:210) at org.geometerplus.fbreader.fbreader.FBReader$1.run(FBReader.java:133) at org.geometerplus.zlibrary.ui.android.dialogs.ZLAndroidDialogManager$3.run(ZLAndroidDialogManager.java:216) at java.lang.Thread.run(Thread.java:1096) Caused by: java.lang.UnsatisfiedLinkError: Library LineBreak not found at java.lang.Runtime.loadLibrary(Runtime.java:461) at java.lang.System.loadLibrary(System.java:557) at org.vimgadgets.linebreak.LineBreaker.(LineBreaker.java:5) ... 9 more

imz commented 12 years ago

The package on Toshiba AC100 is not one the original packages listed at http://www.fbreader.org/FBReaderJ. (BTW, the version of FBReaderJ on Toshiba AC100 seems to be 0.6.4 according to the subject of that message, so an older (obsolete) one.

And the package on Toshiba AC100 indeed doesn't include the required native code libs (I thought that it might have been an installation problem, and not a problem of the archive):

$ unzip -l /media/system/toshiba/apk/FBReader.apk | fgrep -i linebreak $ unzip -l IN/android_fbreader/FBReaderJ-0.7.17.apk | fgrep -i linebreak 44031 2010-11-14 01:39 lib/armeabi/libLineBreak.so $

Also, straightforward attempts to copy the libraris from Toshiba AC100's filesystem into the phone's /system/lib/ failed -- probably, that's because I'm not root on the phone.

Conclusion:

So, I do not know a simple fix for an installation of the incomplete package that can be found on Toshiba AC100. Just install a package from fbreader.org, and it will work.