级别同步失败,NDK 未配置,下载与 SDK 管理器

我对 Android 开发完全不熟悉,刚刚安装了 Android Studio。我正在做一个非常基本的 HelloGL2练习,我打开了 HelloGL2.iml 文件。我尝试运行它,但它说,梯度项目同步失败,NDK 没有配置。简单地说(对于 Android 的初学者来说) ,我该如何解决这个问题?

123672 次浏览

您可以使用 SDK 管理器安装这些组件:

  1. 从打开的项目中,从主菜单中选择 Tools > Android > SDK Manager
  2. 单击 SDK Tools选项卡。
  3. 选中 NDKCMakeLLDB旁边的复选框
  4. apply

(使用 Android Studio 3.6.1)

编辑: 在 Android Studio 的后续版本中,遵循上面的过程仍然会在构建过程中出现 NDK not installed错误。这是维奥莱特 · 长颈鹿给出的答案解决了这个问题。一旦必要的文件安装完毕,转到 File > Project Structure > SDK并选择 NDK 版本。

有关详细信息,请参阅 这本指南

如果你看到这个错误,你可能没有任何 NDK 在您的 SDK。

所以你最好从 给你下载它,然后复制你 SDK 中的所有文件夹和文件。

你也可以去; 打开 project > select Tools [ in top page ] > Android > SDK Manager [ from main menu ] > 单击 SDK Tools tab > 并选中 NDK 旁边的复选框

如果你没有 NDK 在 SDK 工具标签,你可以下载自动在这个文件夹

我的版本有点不同:

选择打开的项目中的 Tools > Android > SDK Manager 主菜单。在外观和行为 > 系统设置 > Android SDK 我必须点击 SDK 工具标签。选中 NDK 旁边的框,点击 申请

试试这个 1-Android Studio-> Tools-> SDK Manager-> select SDK Tools

选中 LLDB、 CMake 和 NDK 旁边的框

3-应用,并按确定按钮. 。 enter image description here

对于 android 工作室3.0 + ,这个问题的处理方式是不同的。

转到 File > Settings > Android SDK > 并选择 SDK 条目和 update。应该能解决问题。

解决同样问题的另一种方法是,当您进行一个 gradle 项目同步时,它将自动识别需要升级版本的问题,并在控制台中为您提供可点击的链接。通过这些步骤,它还可能提示您更新其他依赖项,如 CMake。

免责声明: 我在 Android Studio 工作

对于新版本(3.6 +)的 Android Gradle 插件,请从 SDK 管理器下载带有“ NDK (Side by Side)”选项的插件,然后在 build.gradle中指定带有完整版本的 NDK 的 ndkVersion,该版本可以从您的机器上本地获得。

例如,从 SDK 管理器下载“ NDK (并列)”下的 NDK 20.1.5948944之后,下载的 NDK 默认情况下将在 ~/Android/Sdk/ndk/20.1.5948944下。然后在您的模块级 build.gradle中,您需要以下内容。

android {
compileSdkVersion 29




defaultConfig {
// ...
}


buildTypes {
// ...
}


externalNativeBuild {
// ...
}


ndkVersion "20.1.5948944" // <<==== Here
}

我反复检查我已经安装了最新的 NDK (所以这不是我的解决方案)。接下来,我做了以下操作: Android Studio Menu-> File-> Project structure-> SDK Location。在这里,没有 NDK 被选中,所以我选择了最新的版本。这解决了问题。

enter image description here

此修复程序只能在本地为此特定计算机和此项目工作,方法是将您的选择写入项目根目录中的 local.properties文件。

更新 : 还有一种方法可以通过 ANDROID_NDK_HOME环境变量全局设置。下面是我调用在构建服务器上构建项目的方式:

export ANDROID_SDK_ROOT=/home/jenkins/Android/Sdk/; export ANDROID_NDK_HOME=$ANDROID_SDK_ROOT/ndk/21.0.6113669; ./gradlew assembleRelease

我在尝试运行 SQLite Android 绑定时遇到了这个错误,它仍然使用一个非常旧的 gradle 配置(包括下面的配置)。

TLDR

请采取 protossor的建议和使用 NDK (Side by side)和设置一个 ndkVersion在您的 build.gradle。只有在非常老的项目使用这一点。

对于旧的项目,您必须从 SDK 管理器安装过时的 NDK。在 Android Studio 中,打开 SDK Manager并选择 SDK Tools选项卡。取消选中 Hide Obsolete Packages,然后滚动到底部查找 NDK (Obsolete)

更多细节

Android Studio, SDK Manager, SDK Tools Tab, Hide Obsolete Packages Unchecked, NDK (Obsolete) checked

我按照说明运行 ./gradlew assembleRelease,得到了以下结果:

FAILURE: Build failed with an exception.


* What went wrong:
A problem occurred configuring project ':sqlite3'.
> NDK not configured.
Download it with SDK manager.


* 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 7s

当 Android Studio 试图配置该项目时,我得到了类似的错误。在我安装了 NDK (Obsolete)包之后,所有的配置都正确了。

SQLitegradle配置严重过时 :

返回文章页面

buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.4'


// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}

返回文章页面

android {
compileSdkVersion 25


defaultConfig {
minSdkVersion 16
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
...
}

对于以上的 Android Studio 4.0,粘贴到 local.properties:

ndk.dir=C\:\\Users\\USER\\AppData\\Local\\Android\\Sdk\\ndk\\21.3.6528147

对于 Linux:
创建文件 local.properties:

ndk.dir=/home/username/Android/Sdk/ndk/21.3.6528147

现在关闭项目并再次导入它。

成功了!

  1. 转到 SDK Manager > android SDK (左侧) > SDK Tools
  2. 下载或如果可用,然后更新到 NDK (side _ by _ side)和 CMake

现在,做好或申请 4. 返回并点击“ Install NDK’21.0.6113669’and sync project”在你失败的版本中。

快乐编码:)

NDK (并排)21. x. xxxxx 是解决问题的关键。

转到上面提到的 SDK 工具/其他答案,然后您可能需要试验 ndk 版本。

单击“显示软件包详细信息”以了解可用的版本。

此外,您可能需要在 local.properties中添加类似的内容 ndk.dir=/home/username/Android/Sdk/ndk/21.x.xxxxx

附注: 你可能还需要根据你所使用的版本升级你的渐变插件

我的设计: MAC M1

打开 android-> local.properties (如果该文件不存在,请在 android 文件夹中创建 local.properties 文件)并添加

ndk.dir=/Users/\{\{username}}/Library/Android/sdk/ndk-bundle #in mac
ndk.dir=C:\\Users\\\{\{username}}\\AppData\\Local\\Android\\sdk\\ndk-bundle #in Windows

检查 ndk-bundle 文件夹是否存在于 android sdk 文件夹中。否则,在 android 工作室中使用 sdk 管理器安装 ndk (并排安装) 然后重建应用程序

ANDROID STUDIO -> tools -> SDK manager -> SDK tools -> ndk (side by side)

或者

ANDROID STUDIO -> preferences -> appearance & behavior -> system settings -> android SDK -> SDK tools -> ndk (side by side)