解决No version of NDK matched the requested version问题
前言
一個本來好好的項目,突然在運行的時候報錯:
No version of NDK matched the requested version 21.0.6113669. Versions available locally: 20.1.5948944
網上很多人建議在build.gradle中添加ndk,如下:
android { ...ndkVersion '20.1.5948944' }也確實可以解決問題,但是本來一個對ndk版本沒有強依賴的項目,現在固定在一個版本上,其他開發者也必須有這個具體版本才能正常編譯運行。
我認為這并不是一個完美的解決方案,于是繼續調查了一下。
gradle的坑
經過調查發現,這果然是gradle的一個坑,某大佬描述如下:
20年2月-6月發行的Android Gradle plugin 3.6-4.1之間的版本,如果項目有依賴ndk,可能存在編譯不通過問題。4.1.0-beta01已修復該bug。
所以我覺得真正的解決方案應該是升級gradle,如果要升級gradle,就需要gradle和gradle plugin同時升級,而且二者之間存在版本對應,在之前兩者的版本號并不一致,導致每次都需要進行查詢。近期google終于將兩者版本升級成一致的了,也就避免了每次去對照版本了,所以我將gradle和gradle plugin升級到7.0.x后就可以正常編譯運行了,具體如下:
classpath 'com.android.tools.build:gradle:7.0.3'和
distributionUrl=https://services.gradle.org/distributions/gradle-7.0.2-bin.zip關注公眾號:BennuCTech,獲取更多干貨!
總結
以上是生活随笔為你收集整理的解决No version of NDK matched the requested version问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何实现不安装xpoedinstall激
- 下一篇: Flutter入门:如何只关闭自身页面