NDK分辨率结果:项目设置:Gradle模型版本= 5.4.1,NDK版本为UNKNOWN错误

时间:2019-08-22 12:48:44

标签: android android-studio gradle android-ndk synchronization

将Android Studio和Gradle更新为3.5后, 我现在收到此错误:

  

NDK分辨率结果:项目设置:Gradle模型版本= 5.4.1,NDK版本为未知

我将build-gradle中的Gradle版本改回了3.4.2,但这没有帮助。

31 个答案:

答案 0 :(得分:51)

我遇到了类似的问题,并通过使用Import project (Gradle, Eclipse, etc.)而不是Open existing Android Studio project打开项目来解决了这个问题。

答案 1 :(得分:12)

您可以从File> Project Structur>从左侧面板中选择SDK位置,然后按Download from NDK location部分来下载NDK。

答案 2 :(得分:9)

升级我的android studio后,我遇到了同样的问题。您只需要打开local.properties并将ndk.dir路径更改为您的NDK路径即可。

代码:
ndk.dir = D:\ Android \ SDK \ ndk-bundle
sdk.dir = D:\ Android \ SDK

答案 3 :(得分:6)

我在项目中没有使用NDK,但是我遇到了同样的问题。我将SDK版本更新到最新版本后,问题消失了 compileSdkVersion 29

答案 4 :(得分:4)

如果您不使用NDK,请忽略该错误。

我已经安装了NDK以查看是否有任何区别。没什么区别(除了未使用的大于2 GB的NDK文件夹:)。因此,我将其删除(即删除ndk文件夹并删除您之前设置的NDK environnent变量)。

答案 5 :(得分:4)

我有一个先前的答案(由于被主持人删除),我在其中详细说明了一些解决方法(如此处所列)适用于某些人,但是gradle中存在一个潜在的错误,因为该解决方法并不适用于所有人(特别是:他们都不适合我)

相关的google问题在这里:https://issuetracker.google.com/issues/140403764

更新:截至今天(20190920),他们表示已解决潜在问题,所以我希望今天(20190920)之后的gradle的未来版本将包含此修复程序。

Update2:今天(20190926),我从一位Googler收到回复,称有问题的代码位于Android Studio中,并且包含在3.6版本的分支中,但目前在任何可公开使用的版本中均不可用(Android Studio 3.6 Canary 12已在进行此修复之前发布。无论如何,这使您知道要更新的组件以及要注意的版本。看起来Android Studio 3.6 Canary 13及更高版本应该具有https://issuetracker.google.com/issues/140403764#comment13

在此之前,您可以尝试解决方法,但是当出现供应商错误且解决方法不起作用时,您只需等待供应商补丁即可。

答案 6 :(得分:3)

今天从Android Studio 3.5.0升级到3.5.1之后,我首先遇到了这个问题。

我只是从顶部菜单Build-> Rebuild Project进行了重建。

这可能并非对每个人都有效,具体取决于导致问题的原因,但对我而言却有效。试一试。

(此外,我不使用NDK,也从未下载过它。仍然没有下载过)

答案 7 :(得分:3)

我通过转到file > Invalidate Caches\Restart进行了修复 IDE将重新启动,问题将得以解决

答案 8 :(得分:2)

您需要使用SDK管理器安装NDK Here are the official instructions on how to install the NDK https://developer.android.com/studio/projects/install-ndk

答案 9 :(得分:1)

在应用级build.gradle文件中添加了两个库之后,我遇到了相同的错误。
解决方案只是清理项目
在菜单栏中选择:Build >> Clean Project
在那之后,错误对我来说已经消失了。我什么也没做。

答案 10 :(得分:1)

我在Mac上也遇到了同样的问题。

建议:强制.gradle文件夹自行重建。

这仍然在事件日志中显示“ NDK版本为未知”,但它构建成功,并且没有出现任何问题。 (我没有下载NDK)

  1. 打开您的/ Users / macuser /文件夹
  2. 按CMD + SHIFT +。 (点/句号)以查看隐藏的文件夹
  3. 删除.gradle文件夹
  4. 重新启动Android Studio

这将导致Android Studio重建并重新下载您的.gradle文件夹,从而在此过程中修复有冲突的文件。

答案 11 :(得分:1)

就我而言,我通过升级到SdkVersion 29来解决它并迁移到AndroidX。

答案 12 :(得分:1)

我有同样的问题。我的环境是:

  • Android Studio 3.5.1
  • 4.4级
  • Android-Gradle-Plugin 3.1.2
  • CMake 3.10和3.6

我通过SDKManager卸载了CMake 3.10。 (仅CMake安装为3.6)

Gradle同步和构建成功。

(1)

android-gradle-plugin 3.1.2使用了CMake 3.10。

在android-gradle-plugin 3.1.2(或3.1。+)中,对CMake 3.7及更高版本的支持是预览功能。

(来自gradle assembleDebuggradle sync的输出消息。)

(2)

https://developer.android.com/studio/projects/add-native-code.html#use_a_custom_cmake_version

  

SDK Manager包含3.6.0的CMake分支版本和3.10.2。在build.gradle中未设置特定CMake版本的项目是使用CMake 3.6.0构建的。

也许此行为是android-gradle-plugin 3.3或更高版本。 (它来自android-studio 3.3,可以下载CMake 3.10)

android-gradle-plugin 3.1.2使用了已安装的CMake的最新版本。

答案 13 :(得分:1)

最近一次Android Studio升级后,我收到了相同的错误消息。我在这里尝试了其他答案,但没有一个有效。但是@Zahra的回答向我指出了确实有用的东西:

转到文件->项目结构... 在“ Android NDK位置”下,单击下拉列表,然后选择“ 建议使用DEFAULT NDK ”选项。

在选择默认值之前,其中的路径略有不同。使用SDK Manager进行升级的地方,路径似乎已更改。

现在,在local.properties文件中,将 sdk.dir 设置为与“ DEFAULT NDK Recommendation ”选项相同的目录。

答案 14 :(得分:1)

就我而言,Android Studio已安装在新的Mac上。只需下载Android 9(我的目标/编译SDK为28)和构建工具。此后问题解决了。

答案 15 :(得分:0)

在build.gradle脚本中将claaspath更改为'com.android.tools.build:gradle:3.5.2'

答案 16 :(得分:0)

将ndk版本从20降级到r17c,将cmake版本从3.10降级到3.6.411459为我解决了这个问题

答案 17 :(得分:0)

好的。我最近下载了最新版本的Android Studio,并遇到了类似的错误。所以最终我创建了一个新项目。 选择Kotlin语言,然后选择Jelly Bean(谈论“从中挑选选项”)。 然后整个同步开始,但是第一次同步失败,最终再次自动同步,一切开始正常进行。 自从我是初学者以来,是否修改了默认代码(文本),但未收到任何错误消息。 预览还不错,我继续学习。 对不起,我无法解释清楚。我只是一个初学者。 哦!您需要连接到Internet才能正常工作。

答案 18 :(得分:0)

如果在Android Studio升级后发生此问题,并且您从右下角通知启动了插件更新:打开File > Project structure,然后将Android Gradle版本更改为Android Studio版本,然后将Gradle版本降级为上一个版本

就我而言,我将Android Gradle插件从3.5.3降级到3.2.1,并将Gradle版本从5.4.1降级到4.6。

答案 19 :(得分:0)

我将gradle-wrapper.properties文件的gradle版本从4.1修改为4.6。

答案 20 :(得分:0)

我遇到了这个问题,没有一种解决方案适合我。问题是,可能由于非常广泛的原因而出现此错误或警告。您可以按照以下步骤找出问题所在:

缺少NDK

当Gradle开始编译本机依赖项时,它将在“ app”文件夹中创建“ .cxx”文件夹。在该文件夹中,您可以找到“ ndk_locator_record.json”文件,这是非常奇怪的日志文件类型。基本上,Gradle会检查所有路径以查找NDK文件夹。如果NDK版本号有任何错误或不匹配,您可以在此文件中看到。

NDK构建失败

由于某些未知原因(可能是Gradle中的错误),ndk生成不会在事件日志窗口上显示实际错误,而是显示失败,例如 Gradle sync failed:为ndkBuild执行外部本机生成.... < / em>,后跟 NDK分辨率结果:项目设置:Gradle模型版本= 5.4.1,NDK版本为UNKNOWN

在这种情况下,请返回.cxx> ndkBuild> debug> x86(x64或任何其他CPU拱门) 在此文件夹中,您可以找到“ json_generation_record.json”文件,它是相同类型的日志,通常最后一个条目有实际错误。例如,对我来说

import random

def shuffle_columns(list_of_rows):
    columns = []
    for column in zip(*list_of_rows):
        # shuffled list of column values
        shuffled = random.sample(column, len(column))
        columns.append(shuffled)
    return [list(row) for row in zip(*columns)]

从这里开始,您可以了解引擎盖下出了什么问题。

答案 21 :(得分:0)

如果未安装NDK,并且Android项目需要它,则首先安装NDK。

Windows操作系统上,将NDK路径添加到 PAT H环境变量。这样可以解决版本问题。

在我的情况下,NDK路径是 C:\ Users \\ AppData \ Local \ Android \ Sdk \ ndk \ 21.0.6113669

答案 22 :(得分:0)

我之前遇到过此问题,并通过确保对应用程序目录具有正确的权限来解决此问题。

我正在使用macOS,所以我做了:

chmod -R 777 your_android_project

问题消失了。

答案 23 :(得分:0)

我刚刚关闭了项目,关闭了android studio,重新启动了PC,跟踪了我的项目,并删除了“ B:/PROJECTNAME/.idea”中的.Idea文件夹,瞧。

问题解决了。重新同步。 N / B:我的gradle是androidx。祝你好运。

答案 24 :(得分:0)

更新Android Studio后,我遇到了同样的问题。 更新Android SDK生成工具后,解决了我的问题。 [工具-> SDK管理器-> SDK工具-> Android SDK生成工具]。

然后尝试清理项目 [Build-> Clean Project]。

最后重新启动Android Studio IDE……

答案 25 :(得分:0)

在检查项目结构中的建议并更新了两个建议的更新后,问题为我解决了。抱歉,当我按下每个模块的更新并逐步同步时,模块名称便消失了,我不记得了。自动启动,此问题消失后

答案 26 :(得分:0)

通过Bitbucket超链接从版本控制导入项目后,出现了此错误(以及其他一些错误)。

一旦导入,请关闭项目并使用File > New > Import Project重新导入。之后,一切正常构建。 (已经正确指定了NDK路径,并且只能以新的方式导入)

元: Android Studio 3.5 Build #AI-191.8026.42.35.5791312, built on August 8, 2019 JRE: 1.8.0_202-release-1483-b49-5587405 x86_64 JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o macOS 10.13.6 Gradle 3.4.0

答案 27 :(得分:0)

当我同时将Android Gradle插件版本从3.1.4更新到3.4.0并将Gradle版本从4.4更新到5.1.1时,问题已解决。当然,我使用SDK管理器下载了最新的NDK(Side by Side)。

答案 28 :(得分:0)

升级后,我的一个项目遇到了同样的问题。 我解决了它,只是从local.properties文件中删除了ndk.dir = D:\ Android \ SDK \ ndk-bundle行。

答案 29 :(得分:-1)

当我将Android Gradle插件版本从3.1.2更新到3.5.1时,我也遇到了这个问题

这是解决此问题的方法:

转到项目根文件夹中的gradle.properties file,然后添加 android.useDeprecatedNdk=true

答案 30 :(得分:-1)

我有同样的问题,而不是打开项目,而是从导入

File -> New -> Import Project...

问题已解决