安装指定版本Android NDK 解决No version of NDK matched the requested version问题

2022-07-03 11:57:34

背景

Android studio 打包apk过程中报错No version of NDK matched the requested version 21.0.6113669. Versions available locally: 20.1.5948944

解决方案

1. 在build.gradle 指定NDK版本或者升级gradle

  • 指定ndk方式

    android{ 
        ndkVersion'20.1.5948944'}
  • 升级gradle从而避免gradle的坑
    20年2月-6月发行的Android Gradle plugin 3.6-4.1之间的版本,如果项目有依赖ndk,可能存在编译不通过问题。4.1.0-beta01已修复该bug。

    可以尝试升级gradle来解决这个问题,而这就需要gradle和gradle plugin, 二者之间还存在版本对应, 原博主给出了一个gradle 7.0.x的例子

    • gradle-wrapper.properties
    distributionBase=GRADLE_USER_HOMEdistributionPath=wrapper/distszipStoreBase=GRADLE_USER_HOMEzipStorePath=wrapper/distsdistributionUrl=https://services.gradle.org/distributions/gradle-7.0.2-bin.zip
    • build.gradle
    buildscript{
        repositories{google()jcenter()}
        dependencies{
            classpath'com.android.tools.build:gradle:7.0.3'}
    
    allprojects{
        repositories{google()jcenter()}}
    
    taskclean(type: Delete){delete rootProject.buildDir}

2. 安装指定版本NDK

除了方式1之外,还可以在Android studio安装指定版本NDK解决这个问题.

  • 打开Android Studio的SDK Manager 或者通过点击Files菜单下Settings 进入 设置页面搜索Android SDK 找到SDK Tools
    在这里插入图片描述
    在这里插入图片描述

  • 选择要下载的NDKCMake, 选中Show PackagesDetails后就能选择自己需要的版本了, 本项目根据报错信息来看需要的是21.0.6113669的NDK

  • 选中之后点击OK进行下载, 下载完成后,点击finish结束

  • 再次运行代码就能解决这个问题了

参考

https://blog.csdn.net/chzphoenix/article/details/124123977
https://blog.csdn.net/qq_46546793/article/details/123018139

  • 作者:kainx
  • 原文链接:https://blog.csdn.net/qq_26545503/article/details/125306785
    更新时间:2022-07-03 11:57:34