Hello
I tried Android app with c++ SNPE on SDM660.
When execute apk, system is not able to load libcdsprpc_system.so file that located on SDM660's system/lib64.
When execute apk, system is not able to load libcdsprpc_system.so file that located on SDM660's system/lib64.
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.askey.aiservice.trvd, PID: 8129
java.lang.UnsatisfiedLinkError: dlopen failed: library "libcdsprpc_system.so" not found
at java.lang.Runtime.loadLibrary0(Runtime.java:1016)
at java.lang.System.loadLibrary(System.java:1669)
at com.test.aiservice.cpptry.MainService.<clinit>(MainService.java:850)
at java.lang.Class.newInstance(Native Method)
at android.app.AppComponentFactory.instantiateService(AppComponentFactory.java:103)
at androidx.core.app.CoreComponentFactory.instantiateService(CoreComponentFactory.java:68)
at android.app.ActivityThread.handleCreateService(ActivityThread.java:3553)
at android.app.ActivityThread.access$1300(ActivityThread.java:201)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1673)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6746)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Can any one give me a hand to solve this problem?
Can you please check if the lnk to libcdsprpc_system.so exists? if appropriate link to the shared library already exists pls add the path system/lib64 to LD_LIBRARY_PATH environment variable and build (edited) again ex: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your/custom/path/
Thank you for replay to me.
I have added "$LD_LIBRARY_PATH" like below.
I try run again, but still same Error occured.
Hi,
Found some information at Hexagon SDK documentation. This can help in checking whether FastRPC is supported on your SDM660 device. Please see this:
PrerequisitesThis walk-through assumes you have an Android device that supports both FastRPC and Dynamic Loading.
SetupThe device should be loaded with DSP image
If you are using an existing DSP image confirm and setup FastRPC on Android by following these instructions (for this link see 'Setup' below).
Follow these steps to setup the FastRPC driver.
Note: when making FastRPC calls, the Remote file system is also handled by the FastRPC driver, so no additional setup is required.
Check if the adsprpc driver is running
If file does not exist start the driver as follows:
If module is not found and /dev/adsprpc-smd is not present this device doesn't support FastRPC.
Re-check if the adsprpc driver is running
FastRPC driver is now setup.
Optionally check that adsprpcd process is running. This daemon could be located in
/system/bin
or/system/vendor/bin
or some other vendor defined location. If runningadb logcat -s </system/bin/>adsprpcd
doesn't show any errors FastRPC is enabled and operational. If not running start the daemon and checklogcat -s </system/bin/>adsprpcd
for errors. On some releases if this daemon is not running, calls into DSP will block until the daemon starts.working for Android app getting notification error.
Dear qualcomm,
I also met a libcdsprpc relative libraries problem.
Thanks