一、前言
在PaddleOCR项目 ( 地址为 https://github.com/PaddlePaddle/PaddleOCR) 中的 deploy 文件夹下有个 android_demo 文件夹.
android_demo 这个文件夹就是一个单独的项目. 但是在未编译 PaddleOCR 时, 单独编译这个项目就会出现问题.
二、解决方案
如果不编译的话, 是可以直接运行这个项目的. 如果对源码进行修改后就需要重新编译, 这个时候就会出现问题.
在第一次进行 Make Build 会出现 OpenCV 的错误, 但这不是 OpenCV 的问题. 错误代码如下所示.
按照网上部分教程, 有些会修改 OpenCVConfig.cmake 中的变量 FASLE 为 TRUE.
但是这个时候编译就会出现新的问题.
这是因为没有编译 PaddleOCR 从而获得其他的芯片架构的运行库文件. 但是这个 Android Demo 里面已经有了 arm-v8 架构的运行库文件. 这里就只需要向 build.gradle 添加编译指定架构的指令.
android {
defaultConfig {
xxxxxxxx
externalNativeBuild {
xxxxxxx
}
// new content
ndk {
abiFilter 'arm64-v8a'
}
}
}
如果不行就尝试在 externalNativeBuild 中添加
android {
defaultConfig {
xxxxxxxx
externalNativeBuild {
xxxxxxx
// new content
ndk {
abiFilter 'arm64-v8a'
}
}
}
}
三、结果
编译成功截图
需要注意的是, 这样编译出的程序用模拟器运行时就需要选择 arm64 架构, 或者使用较为新的安卓真机运行.