ncnn填坑记录五:在安卓端运行ncnn

上一篇:ncnn填坑记录四:pytorch模型转ncnn

一.安装Android Studio

下载地址:https://developer.android.google.cn/

参考https://blog.csdn.net/qq_33431368/article/details/85009758#t4进行安装,因版本不同,安装界面有一点不同,基本没啥问题。

android-studio/bin/中有个studio.sh,启动即可,之后点安卓图标右键锁定到启动器,以后直接点击桌面左面图标即可。

在settings里如下图示,找到SDK Tools,安装这几个包,不挂vpn的话基本下不动。
CMake的版本选择3.10.2的,个人后面报了版本不匹配的错。
ncnn填坑记录五:在安卓端运行ncnn

二.设置环境

sudo gedit .bashrc
# 在后面添加
export NDK_HOME=/home/lgy/Android/Sdk/ndk
PATH=$NDK_HOME:$PATH

source ~/.bashrc

三.运行demo

下载ncnn-android-mobilenetssd,并用Android Studio 打开项目。

根据readme的步骤进行即可

1.下载预编译库ncnn-android-vulkan.zip

2.将ncnn-android-vulkan.zip解压后移至ncnn-android-mobilenetssd/app/src/main/jni/文件夹内;

3.打开上一步jni文件夹内的CMakeLists.txt,修改ncnn-20210525-android-vulkan,需要与你下载的版本号匹配;

set(ncnn_DIR ${CMAKE_SOURCE_DIR}/ncnn-20210525-android-vulkan/${ANDROID_ABI}/lib/cmake/ncnn)

4.在Android Studio内,点击File>Sync Project with Gradle Flies,会自动下载一些缺少的文件,并构建项目;

5.点击run>run app,会打开模拟的手机界面,稍等便会出现算法检测的界面。

四.问题

1.CMake版本不匹配

CMake '3.10.2' was not found in PATH or by cmake.dir property.
- CMake '3.18.1' found in SDK did not match requested version '3.10.2'.
- CMake '3.19.8' found in PATH did not match requested version '3.10.2'.

安装3.10.2版本即可

2.报错

Cannot build selected target ABI: x86, no suitable splits configured: armeabi-v7a, arm64-v8a

参考https://blog.csdn.net/jiangpeng59/article/details/108759414?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242
打开build.gradle

        ndk {
            moduleName "ncnn"
            abiFilters "armeabi-v7a", "arm64-v8a"
        }

"arm64-v8a"后添加"x86"

abiFilters "armeabi-v7a", "arm64-v8a", "x86"

3.在Android Studio上打开模拟的手机界面后,不能启动app

undefined symbol: glslang::InitializeProcess()

ncnn填坑记录五:在安卓端运行ncnn

此问题在ncnn-android-squeezenet项目遇到的,询问了ncnn群里的大佬,说是这个项目存在一点问题,故换了mobilenetssd进行测试。

4.Android Studio上打开的算法界面,选择图片检测时,只有一张

ncnn填坑记录五:在安卓端运行ncnn
尝试了各种方法:在sdcard下upload图片,打开文件夹复制图片进去,甚至将这张图片删了,把我的图片在该文件夹下改名都不行。

五.在手机上运行

将安卓手机与电脑相连,安卓手机打开调试模式,在Android Studio上 run app,会自动将算法安装在手机上,手机上需要收入密码
 ncnn填坑记录五:在安卓端运行ncnn

上一篇:神秘钥匙-快速幂


下一篇:在Windows上搭建ncnn环境