ibroadlink / APPSDK_Android_Demo

Demo for APPSDK Android Lib
10 stars 5 forks source link

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.testing.smarthome-1/base.apk"],nativeLibraryDirectories=[/data/app/com.testing.smarthome-1/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "libNetworkAPI.so" #1

Closed jerrychong25 closed 5 years ago

jerrychong25 commented 5 years ago

Hi all,

I would like to integrate Broadlink Android SDK as mentioned in https://docs.ibroadlink.com/public/configuration-sdk+ctc/sdk-integrations_-_configuration/

However, after integrated into my app successfully, it would cause my app crashed when there is no Broadlink device is presence during calling sdkInit() line.

Is there any ways I could get an error code when Broadlink device not found?

So that I could display an error screen when Boradlink device not found.

Error Code:

09-07 20:09:19.048 15952-15952/com.testing.smarthome E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.testing.smarthome, PID: 15952
    java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.testing.smarthome-1/base.apk"],nativeLibraryDirectories=[/data/app/com.testing.smarthome-1/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "libNetworkAPI.so"
        at java.lang.Runtime.loadLibrary(Runtime.java:367)
        at java.lang.System.loadLibrary(System.java:1076)
        at cn.com.broadlink.networkapi.NetworkAPI.<clinit>(Unknown Source)
        at cn.com.broadlink.sdk.BLLet.init(Unknown Source)
        at com.testing.smarthome.imotecontroller.iMCConfigureConfirm.sdkInit(iMCConfigureConfirm.kt:303)
        at com.testing.smarthome.imotecontroller.iMCConfigureConfirm.onCreate(iMCConfigureConfirm.kt:80)
        at android.app.Activity.performCreate(Activity.java:6355)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2438)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2545)
        at android.app.ActivityThread.access$1100(ActivityThread.java:151)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1396)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:157)
        at android.app.ActivityThread.main(ActivityThread.java:5601)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:774)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:652)

Thanks.

jerrychong25 commented 5 years ago

Found the solution.

Need to add armeabi for ndk.abiFilters in app level build.gradle as per below: ndk.abiFilters 'armeabi'

Then, no longer have above errors.