← 返回首页
Yolov8-NCNN模型部署到安卓端
发表时间:2024-10-23 02:26:42
Yolov8-NCNN模型部署到安卓端

1.安装Android studio

这个CSDN上有很多对应的经验体,随便找一个教程,然后切换一下国内源,即可安装成功,Android studio安装的前提是必须保证安装了jdk1.8版本以上(强烈推荐安装jdk11.0版本),去android studio的官网下载最新版本的Android Studio,我这里下载的版本是android-studio-2024.1.2.12-windows.exe。

我们应该安装 SDK,SDK-toolkit,NDK和Cmake。对应版本的截图如下:

2.项目源码和依赖文件的下载安装

下载ncnn-android-vulkan.zip以提供更快的处理速度和更高的能效。

ncnn-android-vulkan下载

下载opencv-mobile-2.4.13.7-android。

opencv-mobile下载地址

下载ncnn-android-yolov8源码。

ncnn-android-yolov8项目源码地址

把ncnn-20240820-android-vulkan.zip和opencv-mobile-2.4.13.7-android.zip解压缩后的文件夹复制一份到ncnn-android-yolov8-main\ncnn-android-yolov8的\app\src\main\jni目录下。效果如下:

3.构建工程

用Android studio 打开ncnn-android-yolov8项目的build.gradle文件。之后Android studio会帮我们构建整个工程,耐心等待他走完,但是会报错,需要我们修改一些配置。

修改ncnn-android-yolov8\app\src\main\jni里面的CMakeLists.txt文件,将opencv-sdk路径添加进去,同时修改ncnn_dir的路径。效果截图如下:

重新重新Sync Project。

检测以下项目配置是否正确。

出现以下提示说明项目建构成功!

4.安装APP到手机端

使用数据线将手机与笔记本连接,手机开启开发者模式打开USB调试选项。检测Android Studio能否正确识别手机型号。如下图所示:

如果出现以下报错:

D:/ncnn-android-yolov8-main/ncnn-android-yolov8/app/src/main/jni/ndkcamera.cpp:485:18: error: 'ALooper_pollAll' is unavailable: obsoleted in Android 1 - ALooper_pollAll may ignore wakes. Use ALooper_pollOnce instead. See The API documentation for more information
    485 |         int id = ALooper_pollAll(0, 0, 0, 0); 

根据报错信息,我们不难分析出在当前版本的ALooper_pollAll已经不可用,建议替换为ALooper_pollOnce

修改ndkcamera.cpp 的第485行代码,修改如下。

        //int id = ALooper_pollAll(0, 0, 0, 0);
        int id = ALooper_pollOnce(0, 0, 0, 0);

重新运行成功,手机端已经安装好这个了这个APP。