MobileNetV3 failed to run in android_deploy

I convert a mobeilenet_v3 pytorch-based onnx model to tvm model, and run successfully through android_rpc. But, when I try to run android_deploy, it failed at:

// tvm module for compiled functions
Module modelLib = Module.load(libCacheFilePath);

with ERROR:

W/System.err: libtvm4j loads successfully.
E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
    Process: org.apache.tvm.android.demo, PID: 7489
    java.lang.RuntimeException: An error occurred while executing doInBackground()
        at android.os.AsyncTask$3.done(AsyncTask.java:354)
        at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
        at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
        at java.util.concurrent.FutureTask.run(FutureTask.java:271)
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:764)
     Caused by: org.apache.tvm.Base$TVMError: TVMError: Check failed: lib_handle_ != nullptr: Failed to load dynamic shared library /data/user/0/org.apache.tvm.android.demo/cache/tvm4j_demo_1725952703940291915/fast_face_deploy_lib_cpu.so dlopen failed: library "libc++_shared.so" not found
    Stack trace:
      File "/Users/user_name/Project/tvm/tvm/apps/android_deploy/app/src/main/jni/../../../../../../include/../src/runtime/dso_library.cc", line 84
    
        at org.apache.tvm.Base.checkCall(Base.java:173)
        at org.apache.tvm.Function.invoke(Function.java:130)
        at org.apache.tvm.Module.load(Module.java:140)
        at org.apache.tvm.Module.load(Module.java:146)
        at org.apache.tvm.android.demo.MainActivity$LoadModleAsyncTask.doInBackground(MainActivity.java:184)
        at org.apache.tvm.android.demo.MainActivity$LoadModleAsyncTask.doInBackground(MainActivity.java:124)
        at android.os.AsyncTask$2.call(AsyncTask.java:333)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        	... 4 more
Disconnected from the target VM, address: 'localhost:8606', transport: 'socket'

I changed to APP_STL := c++_static to APP_STL := c++_shared in apps/android_deploy/app/src/main/jni/Application.mk, but also failed.

However, I can success to run android_deploy in squeezenet.

1 Like

Hi, I met similar problem, did you solve it?

I do not know why the android_deploy does not generate .so file.