谁能告诉我为什么我收到此错误?我已经从GitHub下载了一系列项目,以进行Udacity课程。由于回购中大约有50或60个项目(练习和解决方案),因此我认为这与每个项目都是一个单独的项目有关。通常,当我分叉一个仓库并在本地克隆它时,我没有任何问题。
我还阅读了有关在sdk中卸载和重新安装ndk的其他文章。但是我真的很想知道为什么会这样,以及如何在不盲目卸载和重新安装的情况下进行修复。 任何帮助表示赞赏。谢谢。
答案 0 :(得分:18)
如果您使用的是NDK> = 18,则必须将android gradle插件更新为>=3.1.x
请参见已知问题部分:
https://android.googlesource.com/platform/ndk/+/ndk-release-r18/CHANGELOG.md
答案 1 :(得分:14)
环顾四周后,解决方案是从我的首选项中删除NDK名称。
Android Studio→首选项→系统设置→Android SDK→SDK工具→取消选择NDK→应用按钮。
之后,Project和Gradle编译良好,我得以继续进行我的项目工作。
就为什么发生这种情况,我不知道,但有关NDK的更多信息,请查看:https://developer.android.com/ndk/
我会回过头来启用这些库,但是暂时。
答案 2 :(得分:11)
对我来说,将Android Gradle插件版本升级到3.2 +。
classpath 'com.android.tools.build:gradle:3.2.0'
答案 3 :(得分:9)
Android Studio->首选项->系统设置-> Android SDK-> SDK工具->取消选择NDK->应用按钮。
对我来说很好。
答案 4 :(得分:4)
更新Android Gradle插件绝对是首选解决方案。但是,如果由于某种原因而无法执行此操作,只需创建一个空目录即可简单地“修复”错误,而无需下载,复制或符号链接任何内容,很容易:
mkdir -p $ANDROID_HOME/ndk-bundle/toolchains/mips64el-linux-android/prebuilt/linux-x86_64
$ANDROID_HOME
指向Android SDK安装的根目录。 在MacOS上,将linux-x86_64
替换为darwin-x86_64
。在Windows上使用windows-x86_64
。
答案 5 :(得分:2)
由于NDK版本原因,您已被选中,请执行以下步骤以帮助您解决
如果要使用NDK,请更新Gradle插件
在构建脚本中更改依赖项
FirebaseListAdapter<String> adapter = new FirebaseListAdapter<String>(this,
String.class,
android.R.layout.simple_list_item_1,
databaseReference)
如果您不知道NDK,则只需通过选择首选项>系统设置> android sdk>选择SDK工具>取消选中NDK即可将其禁用
重建正常工作的项目
快乐编码<3
答案 6 :(得分:1)
如果您不想更新gradle插件,则可以执行此操作。下载older NDK releases之一,例如r17c。打开下载的NDK存档,转到工具链目录,然后将缺少的工具链文件夹复制到当前使用的NDK的工具链文件夹中。就我而言,我必须复制的文件夹是mipsel-linux-android-4.9
和mips64el-linux-android-4.9
。