slz929 / mobileSAM-Android-MNN

23 stars 2 forks source link

apk在手机上跑不了,会crash #4

Open dengwhao opened 3 months ago

dengwhao commented 3 months ago

不管是adb install安装release包中的apk,还是git拉代码运行,都是会报这个crash FATAL EXCEPTION: main Process: com.tencent.mSAM, PID: 1193 java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "__emutls_get_address" referenced by "/data/app/~~tGL45OphhTBF3gE9Vazrzg==/com.tencent.mSAM-2ZaC6hNKARtlXJkzEBVk_g==/base.apk!/lib/arm64-v8a/libMNN_Express.so"... at java.lang.Runtime.loadLibrary0(Runtime.java:1191) at java.lang.Runtime.loadLibrary0(Runtime.java:1112) at java.lang.System.loadLibrary(System.java:1661) at com.tencent.mSAM.mSAM.(mSAM.java:28) at com.tencent.mSAM.MainActivity.(MainActivity.java:46) at java.lang.Class.newInstance(Native Method) at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java:95) at android.app.Instrumentation.newActivity(Instrumentation.java:1378) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4193) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4459) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:139) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:96) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2853) at android.os.Handler.dispatchMessage(Handler.java:108) at android.os.Looper.loopOnce(Looper.java:226) at android.os.Looper.loop(Looper.java:328) at android.app.ActivityThread.main(ActivityThread.java:9221) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:586) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)

slz929 commented 3 months ago

什么手机和android版本?可考虑尝试一下不同的mnn版本

dengwhao commented 3 months ago

什么手机和android版本?可考虑尝试一下不同的mnn版本

vivo X80,处理器是天玑9000,Android 14

slz929 commented 3 months ago

Android

本项目是在android13的8gen2手机测试的,考虑你的手机底层可能较新,重新选一下合适的sdk和最新的mnn

swint71 commented 3 months ago

同问题 结论用来编译mnn库的ndk版本和工程的ndk版本不匹配(高版本删除了__emutls_get_address符号) gradle内强制指定高版本ndk可解决

jzyztzn commented 3 months ago

非常棒的工作, 👍🏻针对android14, 我使用ndk 25.1.8937393 和 26.1.10909125 跑通了,但使用新的27.0.11718014 rc1会有问题