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


103

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

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

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


您的NDK 哪个版本?如何安装?您如何在项目(在build.gradle,local.properties或中指定)中使用它ANDROID_NDK_HOME?NDK的source.properties文件中包含什么?
丹·艾伯特

2
您从哪里得到此“错误”?我在事件日志中所有项目中的Android Studio更新后收到此消息,但没有任何影响。一切都会按需构建和运行。我从未使用过NDK-所以我不在乎它是否不起作用。
令人难以置信的

1
我认为...“ NDK版本”不是主要问题。...我再次导入项目...并且问题已解决
Farhad Farzin


1
可能所有解决方案都不适合您(它们对我不起作用)。google正在跟踪该问题,您可以在此处加注
Mike Hardy

Answers:


70

我有类似的问题,并通过使用Import project (Gradle, Eclipse, etc.)代替打开项目来解决了Open existing Android Studio project


9
那对我来说并没有解决。再次导入项目后,即使gradle 5.6.1 / plugin 3.5.0 / Android Studio 3.5.0,我仍然有错误
Mike Hardy

为了完整起见(因为我说过对我不起作用),这实际上对我有用,甚至需要解决固定的单独的gradle + react-native原生模块编译问题。因此,将“ Android Studio / gradle”技巧作为一整套技巧,是一个不错的选择。
Mike Hardy

20
转到“文件”>“项目结构”>“ DownloadNDK”,该文件将下载并添加到您的本地属性的路径,如果此答案无效,该路径可能会解决问题
KingKongCoder

3
我关闭了项目,删除了所有的Build文件夹,.iml文件,.idea文件夹。然后打开项目,并成功地建造
德米特里Pavlukhin

1
@KingKongCoder我发现该链接位于文件>项目结构> SDK位置>下载Android NDK
bitlather

18

您可以从左侧面板的文件>项目结构>选择SDK位置下载NDK,然后按一下从NDK位置下载。


9
如果不使用,则没有任何意义。
令人难以置信的

问题是关于错误消息的,答案不应该要求安装它来摆脱该消息。NDK是一个可选软件包
Mike Hardy

答案是给使用NDK并遇到此错误的任何人,并且在问题中没有提到他是否使用NDK。@ The
Zahra

1
NDK将占用您之前的硬盘将近1GB!而且我不确定是否还会有其他影响(例如内存,性能,CPU等)。如果从未使用过,为什么我们需要下载它?我们可以忽略该错误吗?
Pablo Alfonso,

@Pablo是的,如果您不使用NDK并且没有答案帮助,请忽略该错误。
Zahra

11

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

码:

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

3
我使用JAVA编码并且完全没有NDK
Farhad Farzin

2
如果您没有NDK,那么这是没有意义的。它是可选组件
Mike Hardy

local.properties说:“此文件由Android Studio自动生成。请勿修改此文件-您的更改将被清除!”
leoneboaventura

7

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


2
有趣-我认为那有潜力,所以我尝试了一下,但它仍然没有为我解决。这里有一个未解决的问题issuetracker.google.com/issues/140403764
Mike Hardy

2
@MikeHardy当前,我正在使用Gradle插件版本3.5.0和gradle版本5.4.1。尝试更改此版本,而错误将得到修复。希望对您有帮助。
弗拉德

1
一切都是最新的,但仍然一样!
萨汉·帕辛杜·尼尔玛(Sahan Pasindu Nirmal),

6

我有一个先前的答案(由于被主持人删除),我在其中详细说明了一些解决方法(如此处所列)适用于某些人,但是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

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



4

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

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

取决于导致问题的原因,这可能不适用于每个人,但它对我有用。试一试。

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


1
我正在使用AS 3.5.1,我的项目需要NDK。得到确切的错误,清理并重建修复它。进行其他操作之前,先尝试它会更容易。
肖恩

@Sean Nice,很高兴能成功!顺便说一句,我认为重建也是从干净开始的。我意识到,当我打开下部的构建工具栏并且将“清洁”作为第一项任务时,就知道了。从那时起,我才开始着手进行重建。(希望它正在做我认为是大笑的事情)。
瑞安

4

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

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


3

我通过转到file > Invalidate Caches\Restart IDE 来修复它,该问题将得到解决。


转到“文件>项目结构> SDK位置”并下载最后一个NDK,然后转到项目“ local.properties”并指定NDK位置,例如“ ndk.dir = C \:\\ Users \\ Lenovo \\ AppData \ \ Local \\ Android \\ Ndk'
Hocine Djouamaa

这是没有任何意义,如果你不使用它(NDK)
萨汉Pasindu尼尔默尔

3

在最近进行Android Studio升级后,我收到了相同的错误消息。我在这里尝试了其他答案,但没有一个有效。但是@Zahra的回答向我指出了一些行之有效的方法:

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

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

现在在local.properties文件sdk.dir设置为相同的目录“ DEFAULT NDK推荐 ”选项。


在尝试了至少5种不同的“解决方案”之后,这个解决方案终于使我重回正轨,现在继续研究下一个Android Studio错误碰巧是什么……
norlesh

2

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

  • 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 assembleDebug或的输出消息gradle 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的最新版本。


我想念您写了“ Gradle 3.5”和“ build-gradle back to 3.4.2”。
柿崎友

2

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

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

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

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

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


这对我有用,但这只是第一次。如果我在没有先删除.gradle的情况下重新打开该项目,则将得到与以前相同的错误。
凯尔·阿本斯

是的,错误似乎仍会保留在日志中。我的项目正在进行中,但项目构建和运行都很好。
福克斯

1

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


我还必须升级Gradle版本
BlackHatSamurai

1

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


1

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


1

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


1
将目标升级并编译到sdk 29的版本对我
有用

0

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


1
通过说明您如何知道在android studio或文件系统中找到文件的位置,以及确定要进行更改的理由,可能使答案变得更有价值。
Reenactor Rob

5
我的项目中未设置ndk.dir。我从未使用过NDK。尽管如此,我在Android Studio 3.5中遇到了这个“错误”。
令人难以置信的

与The Incredible Jan一样,这不在我的local.properties中,但我仍然收到此消息。因此,这不是一个完整的解决方案,但可能会有所帮助
Mike Hardy

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


0

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


0

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


0

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

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

最后重启Android Studio IDE……


0

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

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


0

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


0

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


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。


0

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


0

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

NDK丢失

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

NDK构建失败

由于某些未知的原因(可能是Gradle中的错误),ndk构建不会在事件日志窗口上显示实际错误,而是显示失败,例如Gradle同步失败:为ndkBuild执行外部本机构建....接下来是NDK解决方案结果:项目设置:Gradle模型版本= 5.4.1,NDK版本为UNKNOWN

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

 ../../sdk/native/jni/OpenCV.mk: No such file or directory
 make: *** No rule to make target '../../sdk/native/jni/OpenCV.mk'.  Stop.

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


0

如果未安装NDK,并且Android Project要求安装NDK,则请先安装NDK。

Windows OS上,将NDK路径添加到PAT H环境变量。这将解决版本问题。

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


0

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

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

chmod -R 777 your_android_project

问题就解决了。


-1

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

这是解决此问题的方法:

转到gradle.properties file项目的根文件夹并添加android.useDeprecatedNdk=true

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.