Android Studio 升级 3.6 之后,sync 原本正常的 Module 时提示 NDK 问题:

NDK not configured. Download it with SDK manager. Preferred NDK version is ‘20.0.5594570’. Log: /Users/shawn.xiafei/Workspace/AndroidStudio/Marmot/iCtrl/.cxx/ndk_locator_record.json

上面的报错信息中指出了log文件,其内容如下:

  1. {
  2. "messages": [
  3. {
  4. "level": "INFO",
  5. "message": "android.ndkVersion from module build.gradle is not set"
  6. },
  7. {
  8. "level": "INFO",
  9. "message": "ndk.dir in local.properties is not set"
  10. },
  11. {
  12. "level": "INFO",
  13. "message": "ANDROID_NDK_HOME environment variable is not set"
  14. },
  15. {
  16. "level": "INFO",
  17. "message": "sdkFolder is /Users/shawn.xiafei/Library/Android/sdk"
  18. },
  19. {
  20. "level": "INFO",
  21. "message": "Because no explicit NDK was requested, the default version \u002720.0.5594570\u0027 for this Android Gradle Plugin will be used"
  22. },
  23. {
  24. "level": "INFO",
  25. "message": "Considering /Users/shawn.xiafei/Library/Android/sdk/ndk-bundle in SDK ndk-bundle folder"
  26. },
  27. {
  28. "level": "INFO",
  29. "message": "Considering /Users/shawn.xiafei/Library/Android/sdk/ndk/21.0.6113669 in SDK ndk folder"
  30. },
  31. {
  32. "level": "INFO",
  33. "message": "Rejected /Users/shawn.xiafei/Library/Android/sdk/ndk/21.0.6113669 in SDK ndk folder because that NDK had version 21.0.6113669 which didn\u0027t match the requested version 20.0.5594570"
  34. },
  35. {
  36. "level": "INFO",
  37. "message": "Rejected /Users/shawn.xiafei/Library/Android/sdk/ndk-bundle in SDK ndk-bundle folder because that NDK had version 20.1.5948944 which didn\u0027t match the requested version 20.0.5594570"
  38. },
  39. {
  40. "level": "ERROR",
  41. "message": "No version of NDK matched the requested version 20.0.5594570. Versions available locally: 20.1.5948944, 21.0.6113669"
  42. }
  43. ]
  44. }

解决方法:

根据上面 log 信息的第一条,在 Module 的 build.gradle 中加入如下 NDK 版本定义:

  1. android{
  2. compileSdkVersion 28
  3. buildToolsVersion "29.0.2"
  4. // 加入下面这行代码。
  5. // 参数是SDK Manager 里面 看到的NDK版本号,也可以在 sdk/ndk/ 下面找。
  6. ndkVersion "21.0.6113669"
  7. }

加入 ndkVersion 之后再次 sync,问题就解决了。

如果还没有解决,可以尝试 log 中后面几条提示信息。
如果还没有解决,那就按 AS 的提示,下载对应的版本吧。


[app] Android Studio 3.6 NDK not matched - 图1
本文经「原本」原创认证,作者Shawn.XiaFei,访问yuanben.io查询【614WNIDL】获取授权信息。