未安装 NDK

NDK is not installed

构建 Flutter 应用程序时,我收到一条错误消息

FAILURE: Build failed with an exception.                                
                                                                        
* What went wrong:                                                      
Execution failed for task ':app:extractReleaseNativeDebugMetadata'.     
> NDK is not installed                                                  
                                                                        
* Try:                                                                  
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
                                                                        
* Get more help at https://help.gradle.org                              
                                                                        
BUILD FAILED in 822ms                              

但是,android NDK 已安装。

我在为 Android 构建的 AppCenter 上的 React Native 0.64 应用程序上遇到了这个错误。 解决方案是转到 android/app/build.gradle 文件并注释 ndk { debugSymbolLevel 'FULL' } 行(如果有的话)(defaultConfig { ndk { debugSymbolLevel } })

解决方案是我的同事 Jose 找到的,所有功劳都归功于他)

我遇到了同样的问题。我想提取调试符号以便在生产环境中更好地调试。

解决方案

第 1 步:从 android 工作室安装 NDKCMAKE SDK 工具(如果已经安装,可以跳过)

在 Android 工作室中打开任何项目。 (不管哪个项目,我们只是想接入SDK manager)

  1. 打开项目后,单击 Tools > SDK Manager

  2. 单击“SDK 工具”选项卡。

  3. Select NDK(并排)和 CMake 复选框。

SDK 管理器图片

  1. 单击确定。

  2. 一个对话框会告诉您 space NDK 包消耗了多少磁盘空间。

  3. 单击确定。

  4. 安装完成后,单击“完成”。

第 2 步

1。检查系统中安装的 NDK 版本。

要检查,请在 Android SDK 文件夹中找到 NDK 文件夹。对于 mac 用户,它位于 - ~/Library/Android/sdk/ndk/

您将在该目录中找到一个具有 NDK 版本名称的文件夹。 例如 - 在我的例子中,安装的 NDK 版本是 23.0.7599858。所以,我能够在这个位置找到这个目录 ~/Library/Android/sdk/ndk/23.0.7599858/

注意:对于Ubuntu或windows用户,sdk/ndk目录的位置会有所不同。

2。确保您具有 android/build.gradle 文件中提到的相同 NDK 版本。
buildscript {
    ext {
        ...
        ndkVersion = "23.0.7599858"  # the installed version of ndk.
    }
    ...
}

编辑:

确保在 app/build.gradle 中初始化了 ndkVersion 像这样:

android {
    ...
    ndkVersion rootProject.ext.ndkVersion
    ...
}

或者你也可以在这里直接写版本:

android {
    ...
    ndkVersion "23.0.7599858"
    ...
}

如果这样做,您不必在 android/build.gradle 中添加 ndkVersion。

我只从 android studio 安装了 ndk 并且 我的问题刚刚解决,包括...

local.properties

ndk.dir=<ANDROID_SDK>\ndk\XX.X.XXXXXXX

android/app/build.gradle

android {
    // ...

    ndkVersion "XX.X.XXXXXXX"
    // ...

    buildTypes{
        release{
            signingConfig signingConfigs.release
            ndk {
            debugSymbolLevel 'SYMBOL_TABLE'
             }
        }
    }
}

这可以帮助某人并节省 his/her 时间。

如果您正在使用 Flutter 请使用此方法(根据您在 android studio 中的 ndk 版本), 它解决了我的问题,我用它来调试符号本机崩溃

android{ ... ndk版本“23.0.7599858” ... }

  1. 使用android工作室打开 一种。转到设置,系统设置,android sdk,在 select SDK 工具选项卡上确认是否安装了 NDK(并排)和 CMake 工具 b.如果未安装,请检查它们并按应用下载并安装它们。

  2. 确认成功后。 打开你的项目android文件夹找到local.properties文件,android/local.properties。你会发现这样的东西

添加你的NDK路径如下

找到你的 NDK 路径

  1. 如果linux,进入home文件,android文件夹,sdk文件夹,里面找到ndk文件夹,即 /Android/Sdk/ndk/24.0.8215888

编码愉快! ! !

我添加后

ndk {
    debugSymbolLevel 'FULL'
}

在应用程序 build.gradle 文件中我收到有关未安装 NDK 的错误。

我通过在主 build.gradle 文件中进行此更改解决了同样的问题

    dependencies {
        classpath 'com.android.tools.build:gradle:7.1.3'
...
    }

此 Gradle 升级迫使我升级 gradle/wrapper/gradle-wrapper.properties 文件中的 url

distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip

我有 Android Studio Bumblebee 2021.1.1 补丁 3