在网上下载了一份yolo模型利用NCNN集成到android端的祖传代码,需要使用NDK和CMake(简单来说就是涉及到调用C++库的android项目),这里记录下标题的报错解决:
1.尝试降低CMake版本。
在File-> setting-> Languages&Frameworks-> Android SDK-> SDK tools中下载NDK和CMake版本。
我这个项目所有的报错都是修改NDK和CMake版本解决的,所以如果遇到标题的错误或者在gradle sync日志中看到Cause: invalid type code: 00 这种错误,尝试降低CMake的版本。
2. 修改配置
每次重新安装CMake后需要修改相应的配置。模块的build.gradle文件中修改新的CMake版本。
修改的部分为:
externalNativeBuild { cmake { version "3.10.2" // 你安装的CMake版本号 path file('你的CMakeLists.txt相对路径') } }
在项目的local.properties文件中如果有设置cmake.dir,也需要改为相应的文件位置。
cmake.dir=你的SDK路径/Android/Sdk/cmake/版本号
我在修改完重新Gradle sync即成功构建。