将Android Studio和Gradle更新为3.5后,现在出现此错误:
NDK分辨率结果:项目设置:Gradle模型版本= 5.4.1,NDK版本未知
我将build-gradle中的Gradle版本改回了3.4.2,但这没有帮助。
将Android Studio和Gradle更新为3.5后,现在出现此错误:
NDK分辨率结果:项目设置:Gradle模型版本= 5.4.1,NDK版本未知
我将build-gradle中的Gradle版本改回了3.4.2,但这没有帮助。
Answers:
我有类似的问题,并通过使用Import project (Gradle, Eclipse, etc.)
代替打开项目来解决了Open existing Android Studio project
。
您可以从左侧面板的文件>项目结构>选择SDK位置下载NDK,然后按一下从NDK位置下载。
升级Android Studio后,我遇到了同样的问题。您只需要打开路径local.properties
并将其更改ndk.dir
为NDK路径即可。
码:
ndk.dir=D\:\\Android\\SDK\\ndk-bundle
sdk.dir=D\:\\Android\\SDK
我没有在项目中使用NDK,但是我遇到了同样的问题。我将SDK版本更新为最新的compileSdkVersion 29后,问题消失了
我有一个先前的答案(由于被主持人删除),我在其中详细说明了一些解决方法(如此处所列)适用于某些人,但是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
在此之前,您可以尝试解决方法,但是当出现供应商错误且解决方法不起作用时,您只需要等待供应商补丁即可。
从今天的Android Studio 3.5.0升级到3.5.1之后,我首先遇到了这个问题。
我只是从顶部菜单Build-> Rebuild Project进行了重建。
取决于导致问题的原因,这可能不适用于每个人,但它对我有用。试一试。
(此外,我不使用NDK,也从未下载过它。仍然没有下载过)
如果您不使用NDK,请忽略该错误。
我已经安装了NDK,看看是否有任何区别。没什么区别(除了未使用的NDK文件夹大于2 GB :)。因此,我将其删除(即删除ndk文件夹并删除您之前设置的NDK environnent变量)。
我通过转到file > Invalidate Caches\Restart
IDE 来修复它,该问题将得到解决。
在最近进行Android Studio升级后,我收到了相同的错误消息。我在这里尝试了其他答案,但没有一个有效。但是@Zahra的回答向我指出了一些行之有效的方法:
转到“ 文件”->“项目结构... ”, 在“ Android NDK位置 ”下,单击下拉列表,然后选择“ 建议使用DEFAULT NDK ”选项。
在选择默认值之前,其中的路径略有不同。使用SDK Manager进行升级的地方,路径似乎已更改。
现在在local.properties文件sdk.dir设置为相同的目录“ DEFAULT NDK推荐 ”选项。
我有同样的问题。我的环境是:
我通过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的最新版本。
我在Mac上也遇到了同样的问题。
建议:强制.gradle文件夹自行重建。
这仍然在事件日志中显示“ NDK版本为未知”,但它可以成功构建并且没有出现任何问题。(我没有下载NDK)
这将导致Android Studio重建并重新下载您的.gradle文件夹,从而在此过程中修复了有冲突的文件。
当我同时将Android Gradle插件版本从3.1.4更新到3.4.0,并将Gradle版本从4.4更新到5.1.1时,此问题已解决。当然,我使用SDK管理器下载了最新的NDK(Side by Side)。
升级后,我的一个项目遇到了同样的问题。我解决了它,只是从local.properties文件中删除了ndk.dir = D:\ Android \ SDK \ ndk-bundle行。
通过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
更新Android Studio后,我遇到了同样的问题。更新Android SDK Build-Tools后解决了我的问题。[工具-> SDK管理器-> SDK工具-> Android SDK生成工具]。
然后尝试清理项目[Build-> Clean Project]。
最后重启Android Studio IDE……
我遇到了这个问题,没有一种解决方案适合我。问题是,可能由于非常广泛的原因而出现此错误或警告。您可以按照以下步骤找出问题所在:
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.
从这里开始,您可以了解引擎盖下出了什么问题。
ANDROID_NDK_HOME
?NDK的source.properties文件中包含什么?