问题描述

好久之前的一个Android项目,最近需要重构一下

因为Android Studio的开发环境以及Gradle的版本等等都进行了一定的更新,于是导入Project以后,出现了报错:

No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android

如图所示:

只需5步完美解决 No toolchains found in the NDK问题_第1张图片

显然这个错误是由于Android3.0(当然也可能是更高的版本)开发环境的版本更新所导致的

相关背景

NDK,是Native Development Kit的缩写,这是 Android的一个工具开发包,与java语言没有直接的关系

Native就是指C、C++这些语言

使用NDK可以快速开发C、C++的动态库,并自动将这些so文件与其他内容一起打包成APK

只需5步完美解决 No toolchains found in the NDK问题_第2张图片

只需5步完美解决 No toolchains found in the NDK问题_第3张图片

Android Studio环境下关于NDK的配置

先把目录切换为Project模式,点这个地方就行

只需5步完美解决 No toolchains found in the NDK问题_第4张图片

然后选择local.properties文件,就是我标红的这个

只需5步完美解决 No toolchains found in the NDK问题_第5张图片

可以看到这里记录了NDK和SDK在本地计算机上的存储路径

只需5步完美解决 No toolchains found in the NDK问题_第6张图片

进一步分析

首先打开SDK manager

只需5步完美解决 No toolchains found in the NDK问题_第7张图片

出现以下界面

只需5步完美解决 No toolchains found in the NDK问题_第8张图片

这里可以看到我的NDK是已经下载好的

只需5步完美解决 No toolchains found in the NDK问题_第9张图片

那么这个下载好的NDK的路径在哪里呢,或者说这个下载好的NDK究竟放在哪里呢,我们查找一下

如下图操作,打开project structure

只需5步完美解决 No toolchains found in the NDK问题_第10张图片

弹出如下界面

只需5步完美解决 No toolchains found in the NDK问题_第11张图片

这里就是我们NDK的路径(位置了)

只需5步完美解决 No toolchains found in the NDK问题_第12张图片

把这个路径复制一下,然后在我的电脑中打开,如图所示

只需5步完美解决 No toolchains found in the NDK问题_第13张图片

打开这个目录下的toolchains文件夹

只需5步完美解决 No toolchains found in the NDK问题_第14张图片

可以看到,这里确实没有IDE里报错说我们需要的那种库

只需5步完美解决 No toolchains found in the NDK问题_第15张图片

解决方法

打开如下链接,这是Android开发者的官方网站

https://developer.android.com/ndk/downloads/?hl=zh-cn

选择这个

只需5步完美解决 No toolchains found in the NDK问题_第16张图片

点击下载

只需5步完美解决 No toolchains found in the NDK问题_第17张图片

这个还是挺大的,需要等一会儿

只需5步完美解决 No toolchains found in the NDK问题_第18张图片

下载完成后,解压缩,如图所示

只需5步完美解决 No toolchains found in the NDK问题_第19张图片

打开这个目录下的toolchain文件夹,找到报错信息里你缺少的文件夹,比如我缺少的文件如下图所示

只需5步完美解决 No toolchains found in the NDK问题_第20张图片

把这个文件夹复制到NDK所在的路径即可

打开NDK所在路径的方法上面已经说过了

大功告成

结语

  • 现在随着短视频,抖音,快手的流行NDK模块开发也显得越发重要,需要这块人才的企业也越来越多,随之学习这块的人也变多了,音视频的开发,往往是比较难的,而这个比较难的技术就是NDK里面的技术。
  • 音视频/高清大图片/人工智能/直播/抖音等等这年与用户最紧密,与我们生活最相关的技术一直都在寻找最终的技术落地平台,以前是windows系统,而现在则是移动系统了,移动系统中又是以Android占比绝大部分为前提,所以AndroidNDK技术已经是我们必备技能了。
  • 要学习好NDK,其中的关于C/C++,jni,Linux基础都是需要学习的,除此之外,音视频的编解码技术,流媒体协议,ffmpeg这些都是音视频开发必备技能,而且
  • OpenCV/OpenGl/这些又是图像处理必备知识,下面这些我都是当年自己搜集的资料和做的一些图,因为当年我就感觉视频这块会是一个大的趋势。所以提前做了一些准备。现在拿出来分享给大家。

有需要的小伙伴可以私信(NDK)我免费分享给你或者点击下面链接自行领取
Android学习PDF+架构视频+面试文档+源码笔记
如果你有其他需要的话,也可以在 GitHub 上查看,下面的资料也会陆续上传到Github

只需5步完美解决 No toolchains found in the NDK问题_第21张图片

只需5步完美解决 No toolchains found in the NDK问题_第22张图片