Сломано скачивания и чтение ранобе

Issue #128 resolved
AniLabX Team created an issue

Скачивание fb2/epub файлов приводит к 100% крашу. Попытка их чтения (ведь они вроде бы докачиваются перед крашем) тоже приводит к крашу.

Проверено на парсере VDPPL, манга - Hai to Gensou no Grimgar http://vdppl.ru/chapters/hai-to-gensou-no-grimgar, книга - самая первая в списке.

Повторено на Нулизин Фамильяр с LibreBook: Novels

Comments (9)

  1. Yury Savelyev repo owner

    Версия андроид, модель телефона, важно, так как не для всех типов процессоров я собирал. Сейчас собрал под x86 и armeabi, расширил 3.0.8.9 до armeabi_v7a

  2. Yury Savelyev repo owner

    Расширил для x86_64 и armeabi_v8a, нужно проверить на 3.0.9.0

  3. AniLabX Team reporter
     JNI DETECTED ERROR IN APPLICATION: JNI GetMethodID called with pending exception java.lang.NoSuchMethodError: no static method "Lorg/geometerplus/fbreader/formats/NativeFormatPlugin;.create(Lorg/geometerplus/zlibrary/core/util/SystemInfo;Ljava/lang/String;)Lorg/geometerplus/fbreader/formats/NativeFormatPlugin;"
       at java.lang.String java.lang.Runtime.nativeLoad(java.lang.String, java.lang.ClassLoader, java.lang.String) (Runtime.java:-2)
       at java.lang.String java.lang.Runtime.doLoad(java.lang.String, java.lang.ClassLoader) (Runtime.java:435)
       at void java.lang.Runtime.loadLibrary(java.lang.String, java.lang.ClassLoader) (Runtime.java:370)
       at void java.lang.System.loadLibrary(java.lang.String) (System.java:1076)
       at void org.geometerplus.fbreader.formats.PluginCollection.<clinit>() (PluginCollection.java:32)
       at void org.geometerplus.fbreader.book.BookCollection.<init>(org.geometerplus.zlibrary.core.util.SystemInfo, org.geometerplus.fbreader.book.BooksDatabase, java.util.List) (BookCollection.java:68)
       at void org.geometerplus.android.fbreader.FBReader.onCreate(android.os.Bundle) (FBReader.java:338)
       at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:6303)
       at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1108)
       at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2376)
       at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2483)
       at void android.app.ActivityThread.access$900(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:153)
       at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1349)
       at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
       at void android.os.Looper.loop() (Looper.java:148)
       at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:5441)
       at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
       at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:738)
       at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:628)
       at void de.robv.android.xposed.XposedBridge.main(java.lang.String[]) (XposedBridge.java:102)
    
         in call to GetMethodID
         from java.lang.String java.lang.Runtime.nativeLoad(java.lang.String, java.lang.ClassLoader, java.lang.String)
     "main" prio=5 tid=1 Runnable
       | group="main" sCount=0 dsCount=0 obj=0x767d1fb8 self=0x55a5c61f30
       | sysTid=7540 nice=-4 cgrp=default sched=0/0 handle=0x7fb6b85fc8
       | state=R schedstat=( 2561229648 249095212 2716 ) utm=205 stm=51 core=7 HZ=100
       | stack=0x7fc45af000-0x7fc45b1000 stackSize=8MB
       | held mutexes= "mutator lock"(shared held)
       native: #00 pc 000000000048b2fc  /system/lib64/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiPKcPNS_9ArtMethodEPv+236)
       native: #01 pc 000000000045a1f8  /system/lib64/libart.so (_ZNK3art6Thread4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEE+220)
       native: #02 pc 000000000030ee10  /system/lib64/libart.so (_ZN3art9JavaVMExt8JniAbortEPKcS2_+1000)
       native: #03 pc 000000000030f6c8  /system/lib64/libart.so (_ZN3art9JavaVMExt9JniAbortVEPKcS2_St9__va_list+116)
       native: #04 pc 0000000000142d34  /system/lib64/libart.so (_ZN3art11ScopedCheck6AbortFEPKcz+144)
       native: #05 pc 0000000000149be4  /system/lib64/libart.so (_ZN3art11ScopedCheck5CheckERNS_18ScopedObjectAccessEbPKcPNS_12JniValueTypeE.constprop.116+6088)
       native: #06 pc 000000000016057c  /system/lib64/libart.so (_ZN3art8CheckJNI11GetMethodIDEP7_JNIEnvP7_jclassPKcS6_+520)
       native: #07 pc 000000000013ec74  /data/app/org.mangawatcher2-1/lib/arm64/libNativeFormats-v4.so (_ZN7_JNIEnv11GetMethodIDEP7_jclassPKcS3_+72)
       native: #08 pc 000000000013f144  /data/app/org.mangawatcher2-1/lib/arm64/libNativeFormats-v4.so (_ZN6MethodC2ERK9JavaClassRKSsRK8JavaTypeS4_+244)
       native: #09 pc 0000000000140180  /data/app/org.mangawatcher2-1/lib/arm64/libNativeFormats-v4.so (_ZN12StringMethodC1ERK9JavaClassRKSsS4_+76)
       native: #10 pc 0000000000139cdc  /data/app/org.mangawatcher2-1/lib/arm64/libNativeFormats-v4.so (_ZN11AndroidUtil4initEP7_JavaVM+2612)
       native: #11 pc 000000000012df08  /data/app/org.mangawatcher2-1/lib/arm64/libNativeFormats-v4.so (JNI_OnLoad+36)
       native: #12 pc 0000000000310008  /system/lib64/libart.so (_ZN3art9JavaVMExt17LoadNativeLibraryEP7_JNIEnvRKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEP8_jobjectPS9_+1596)
       native: #13 pc 00000000003adc04  /system/lib64/libart.so (_ZN3artL18Runtime_nativeLoadEP7_JNIEnvP7_jclassP8_jstringP8_jobjectS5_+296)
       native: #14 pc 000000000030ab5c  /data/dalvik-cache/arm64/system@framework@boot.oat (Java_java_lang_Runtime_nativeLoad__Ljava_lang_String_2Ljava_lang_ClassLoader_2Ljava_lang_String_2+208)
       at java.lang.Runtime.nativeLoad(Native method)
       at java.lang.Runtime.doLoad(Runtime.java:435)
       - locked <0x0dc61391> (a java.lang.Runtime)
       at java.lang.Runtime.loadLibrary(Runtime.java:370)
       at java.lang.System.loadLibrary(System.java:1076)
       at org.geometerplus.fbreader.formats.PluginCollection.<clinit>(PluginCollection.java:32)
       at org.geometerplus.fbreader.book.BookCollection.<init>(BookCollection.java:68)
       at org.geometerplus.android.fbreader.FBReader.onCreate(FBReader.java:338)
       at android.app.Activity.performCreate(Activity.java:6303)
       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108)
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2376)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2483)
       at android.app.ActivityThread.access$900(ActivityThread.java:153)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1349)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:148)
       at android.app.ActivityThread.main(ActivityThread.java:5441)
       at java.lang.reflect.Method.invoke!(Native method)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:738)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:628)
       at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:102)
    
  4. AniLabX Team reporter

    Добавить в ProGuard конфиг:
    -keep class org.geometerplus. ** { *; }
    -dontwarn org.geometerplus.**

    Заменить весь набор cpp классов на готовые либы под armeabi/armeabi-v7a/x86

  5. Log in to comment