關於新版本AS打開舊Gradle插件項目報錯

其實標題說的也不嚴格,實際上是因爲打開Gradle低版本構建的項目時,舊版本的插件(3.0以前)回去檢查本地NDK的工具鏈.但是隨着NDK版本的升級有些工具鏈被捨棄了,但是舊版本的Gradle依然去檢查,於是報如下錯誤:

No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
This version of the NDK may be incompatible with the Android Gradle plugin version 3.0 or older.
Please use plugin version 3.1 or newer.

以前有細想過原因,於是就一通升級Gradle插件版本,Gradle版本,但是改這兩個東西,會有一堆的連鎖反應,比如有些項目使用的其他地方發插件跟升級後的Gradle版本不兼容等等一系列的問題,比較讓人頭痛.

其實這個問題比較簡單,從老版本的NDK中,把缺失的工具鏈拷貝到你自己本地的NDK相應目錄下就好了.

我的NDK版本是n20,按照報錯提示,缺失的是mips64el-linux-android(我的操作系統是Linux),於是到NDK官方網站下載舊版本的NDK,android-ndk-r17c-linux-x86_64和之前的版本中,toolchain中才有mips64el-linux-android.解壓下來一看,我去,只是一個目錄結構的嵌套,最裏層有個文本文檔:

This mips64el-linux-android-4.9 directory exists to make the NDK compatible with the Android
SDK's Gradle plugin, version 3.0.1 and earlier, which expects the NDK
to have a MIPS64 toolchain directory.

說的清清楚楚明明白白,這個傢伙只是爲了兼容3.0.1以前的Gradle版本而存在的一個目錄而已,沒有什麼實際內容的.換句話說,你在自己的NDK目錄–>ndk-bundle–>toolchains目錄下,自己一層一層新建目錄結構也是OK的,根本不需要從NDK中拷貝.完整的目錄結構是:

ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt/linux-x86_64

整完之後,構建項目,跐溜跐溜的構建成功,打完收工.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章