通過Android Studio 的Sdk Manager安裝NDK,安裝完之后編譯失敗,報錯信息如下:
No toolchains foundinthe NDK toolchains folderforABIwithprefix: mips64el-linux-android
翻一翻NDK的文檔,看到這樣一段:
ndk-document.png
找到自己本地的android-sdk,如果下載了ndk的相關sdk,會有一個叫“ndk-bundle”的文件夾
里邊有一個叫“toolchains”的文件夾
我們注意到里邊確實沒有mips64el相關的文件
解決辦法如下:
點擊這里通過瀏覽器單獨下載NDK的包.
解壓之后打開“toolchains”文件夾,跟android-sdk->ndk-bundle->toolchains文件夾做對比,找到其缺少的文件夾,復制過去
3.重新編譯,問題解決.
最新補充
有同學反饋說下載的包里并沒有找到我說的這個文件夾(mips64el...-4.9),我注意到官方最近確實新發了一版,最新的穩定版本(r18b)中確實已經移除了這個文件夾,大家可以去下載歷史版本,r17c、16b版本中都可以找到這個文件夾
older.png
另外,在最新的穩定版本(r18b)的變更日志中,我們可以看到這樣一段話:
This version of the NDK is incompatible with the Android Gradle plugin version 3.0 or older. If you see an error like No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android, update your project file touse plugin version 3.1 or newer. You will also need to upgrade to Android Studio 3.1 or newer.
大概的意思就是說,這個版本與Gradle 3.0之前的版本不兼容,會報我們遇到的這個問題,所以,有一個更簡單的解決辦法:
如果項目允許的話,將Gradle版本升級到高于3.0的版本,同時也需要將Android Studio升級到3.1或更高的版本.
當然,還有一種更簡單更純粹的應付辦法:報缺少哪個,就在前文提到的目錄下新建一個對應名字的空文件夾即可。
發現一個更快的,下載的文件大小就1KB,所以嘗試了一下,直接添加
toolchains\mips64el-linux-android-4.9\prebuilt\darwin-x86_64
這個層級目錄就行了