FolioReader / FolioReader-Android

A Java ePub reader and parser framework for Android.
BSD 3-Clause "New" or "Revised" License
2.24k stars 715 forks source link

Failing to initialize book #424

Open nerandell opened 4 years ago

nerandell commented 4 years ago

Issue / Feature - Initializing the book FolioReader version - 0.5.4 FolioReader Stock / Modified - Stock Android SDK - 29 Mobile / Tablet / Emulator Info - Pixel 3 API 29 enulator Crash / Error

2020-01-03 00:49:18.955 18197-18197/com.achandaw.grantha V/FolioActivity: -> initDistractionFreeMode
2020-01-03 00:49:18.961 18197-18197/com.achandaw.grantha V/FolioActivity: -> hideSystemUI
2020-01-03 00:49:18.961 18197-18197/com.achandaw.grantha V/FolioActivity: -> showSystemUI
2020-01-03 00:49:18.991 18197-18197/com.achandaw.grantha V/FolioActivity: -> setDayMode
2020-01-03 00:49:18.991 18197-18197/com.achandaw.grantha V/FolioActivity: -> initMediaController
2020-01-03 00:49:18.995 18197-18197/com.achandaw.grantha V/FolioActivity: -> setupBook
2020-01-03 00:49:18.995 18197-18197/com.achandaw.grantha V/FolioActivity: -> initBook
2020-01-03 00:49:19.001 18197-18197/com.achandaw.grantha E/FileUtil: /storage/emulated/0/folioreader/Test/Test.epub: open failed: ENOENT (No such file or directory)
2020-01-03 00:49:19.022 18197-18197/com.achandaw.grantha E/Error: Could not generate container
    java.lang.Exception: Missing File
        at org.readium.r2.streamer.parser.EpubParser.generateContainerFrom(EpubParser.kt:52)
        at org.readium.r2.streamer.parser.EpubParser.parse(EpubParser.kt:71)
        at com.folioreader.ui.activity.FolioActivity.initBook(FolioActivity.kt:477)
        at com.folioreader.ui.activity.FolioActivity.setupBook(FolioActivity.kt:447)
        at com.folioreader.ui.activity.FolioActivity.onCreate(FolioActivity.kt:296)
        at android.app.Activity.performCreate(Activity.java:7802)
        at android.app.Activity.performCreate(Activity.java:7791)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1299)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7356)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
2020-01-03 00:49:19.022 18197-18197/com.achandaw.grantha D/AppUtil: -> getAvailablePortNumber -> portNumber 8080 available
2020-01-03 00:49:19.029 18197-18197/com.achandaw.grantha E/FolioActivity: -> Failed to initialize book
    kotlin.KotlinNullPointerException
        at com.folioreader.ui.activity.FolioActivity.initBook(FolioActivity.kt:493)
        at com.folioreader.ui.activity.FolioActivity.setupBook(FolioActivity.kt:447)
        at com.folioreader.ui.activity.FolioActivity.onCreate(FolioActivity.kt:296)
        at android.app.Activity.performCreate(Activity.java:7802)
        at android.app.Activity.performCreate(Activity.java:7791)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1299)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7356)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
2020-01-03 00:49:19.034 18197-18197/com.achandaw.grantha V/FolioActivity: -> onPostCreate
2020-01-03 00:49:19.034 18197-18197/com.achandaw.grantha V/FolioActivity: -> onResume

Steps to reproduce / Describe in detail -

Sample code that produces the error:

FolioReader folioReader = FolioReader.get();
folioReader.openBook("file:///android_asset/Test.epub")

I can confirm that /src/main/assets/Test.epub exists. Based on my understanding, the crash happens in FileUtil.saveEpubFileAndLoadLazyBook

cccaballero commented 4 years ago

Same issue here (https://github.com/FolioReader/FolioReader-Android/issues/433). @nerandell, have you solved this?

abduroid commented 4 years ago

Try renaming of the epub file. For example Test.epub -> testBrandNew.epub

mraslamiii commented 2 years ago

Try renaming of the epub file. For example Test.epub -> testBrandNew.epub

amin doret bgardeh