繁体   English   中英

未安装 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。

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

解决方案

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

在 Android 工作室中打开任何项目。 (不管哪个项目。我们只想访问 SDK 经理)

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

  2. 单击 SDK 工具选项卡。

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

SDK 管理器图片

在此处输入图像描述

  1. 单击确定。

  2. 一个对话框告诉您 NDK package 在磁盘上消耗了多少空间。

  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初始化了 ndkVersion,如下所示:

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

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

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

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

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

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

按如下方式添加您的 NDK 路径添加ndk路径

找到您的 NDK 路径

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

快乐编码!

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

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

我添加后

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

我只从 android 工作室安装了 ndk,我的问题刚刚解决,包括...

本地属性

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'
             }
        }
    }
}

这可以帮助某人并节省他/她的时间。

如果您使用的是 Flutter 请使用这种方法(根据您从 android studio 签入的 ndk 版本),它解决了我的问题,我将它用于调试符号本机崩溃

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM