钟良堂 2021-10-12 23:31 采纳率: 42.9%
浏览 362
已结题

在Android上面部署yolov5报错(ncnn-android-yolov5-master)

最近想在Android上面部署yolov5,但是在运行ncnn-android-yolov5-master项目时,遇到了如下错误,不知道这个是什么原因,app直接闪退。
我是按照这个教程来做的:


报错图片:

img

img

报错信息如下所示:

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.tencent.yolov5ncnn, PID: 7181
    java.lang.UnsatisfiedLinkError: dlopen failed: library "libyolov5ncnn.so" not found
        at java.lang.Runtime.loadLibrary0(Runtime.java:1087)
        at java.lang.Runtime.loadLibrary0(Runtime.java:1008)
        at java.lang.System.loadLibrary(System.java:1664)
        at com.tencent.yolov5ncnn.YoloV5Ncnn.<clinit>(YoloV5Ncnn.java:37)
        at com.tencent.yolov5ncnn.MainActivity.<init>(MainActivity.java:45)
        at java.lang.Class.newInstance(Native Method)
        at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java:95)
        at android.app.Instrumentation.newActivity(Instrumentation.java:1253)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3353)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3601)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:223)
        at android.app.ActivityThread.main(ActivityThread.java:7656)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
D/libEGL: loaded /vendor/lib/egl/libEGL_emulation.so
D/libEGL: loaded /vendor/lib/egl/libGLESv1_CM_emulation.so
D/libEGL: loaded /vendor/lib/egl/libGLESv2_emulation.so
W/System: A resource failed to call close. 
I/cent.yolov5ncn: Waiting for a blocking GC ProfileSaver

我认为是这里的问题:
couldn't find "libyolov5ncnn.so"
但是我在网上看了查了一些资料,但是都无法找到这方面的教程,我感觉很难受,我之前看到的问题是NDK的版本过低的问题,但是我发现在Android studio上面好像无法提升NDK的版本,最高版本都被限制了:

img


这个问题我弄了好多天,希望如果有弄出来的同学可以回答一下这个问题,或者推荐一个可以把目标检测算法部署到Android的办法,谢谢!

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 10月20日
    • 修改了问题 10月13日
    • 修改了问题 10月12日
    • 创建了问题 10月12日

    悬赏问题

    • ¥15 HLs设计手写数字识别程序编译通不过
    • ¥15 Stata外部命令安装问题求帮助!
    • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
    • ¥15 TYPCE母转母,插入认方向
    • ¥15 如何用python向钉钉机器人发送可以放大的图片?
    • ¥15 matlab(相关搜索:紧聚焦)
    • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
    • ¥15 路易威登官网 里边的参数逆向
    • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
    • ¥50 需求一个up主付费课程