JavaNoober / Light

a lightweight image compress framework for Android based on libjpeg
111 stars 20 forks source link

dlopen failed: library "libbitherjni.so" not found #8

Open thundertrick opened 5 years ago

thundertrick commented 5 years ago

This issue only happens on oppo r9m currently. Bellowing is the crash log:

java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:304)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: library "libbitherjni.so" not found
at java.lang.Runtime.loadLibrary(Runtime.java:372)
at java.lang.System.loadLibrary(System.java:988)
at com.light.compress.LightCompressCore.<clinit>(LightCompressCore.java:18)
at com.light.core.LightCompressEngine.compress2Bitmap(LightCompressEngine.java:32)
at com.light.proxy.BitmapCompressProxy.compress(BitmapCompressProxy.java:55)
at com.light.proxy.BitmapCompressProxy.compress(BitmapCompressProxy.java:38)
at com.light.body.Light.compressImage(Light.java:173)
at com.light.body.Light.compress(Light.java:146)

I looked into LightCompressCore.java but found bitherjni no where.

For more info, here is my build.gradle:

//...
        ndk {
            abiFilters "armeabi-v7a", "arm64-v8a"
        }
//...
    implementation('com.noober.light:core:1.2.2') {
        exclude group: 'com.android.support'
    }
//...

Update Now the crash is found on OPPO R9M, VIVO X6SA and OPPO A59S. OS Version ranges from 5.0 to 5.1. All of them are arm64-v8a

JavaNoober commented 5 years ago

try to change ndk { abiFilters "armeabi-v7a", "arm64-v8a" } to ndk { abiFilters "armeabi-v7a" }

thundertrick commented 5 years ago

try to change ndk { abiFilters "armeabi-v7a", "arm64-v8a" } to ndk { abiFilters "armeabi-v7a" }

According to Google Official Request, we have to use arm64-v8a after August 1, 2019.

JavaNoober commented 5 years ago

try to change ndk { abiFilters "armeabi-v7a", "arm64-v8a" } to ndk { abiFilters "armeabi-v7a" }

According to Google Official Request, we have to use arm64-v8a after August 1, 2019.

Have other mobile phones in arm64-v8a ever crashed?

thundertrick commented 5 years ago

Have other mobile phones in arm64-v8a ever crashed?

Nope. As mentioned above, the issue only occurs on OPPO R9M, VIVO X6SA and OPPO A59S currently.

I also test on some Samsung, Huawei and Xiaomi devices, but neither of them crashes.

Temporarily, I fix it by using android default jpg saving method when the crash is caught. It's just a walking around, but it is strange that this issue happens.