aarch64-linux-android-strip文件丢失

时间:2017-03-11 19:56:14

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

我更新到Android studio 2.3并且我的项目收到了这些错误

Error:org.gradle.process.internal.ExecException: A problem occurred starting process 'command 'C:\Users\...\AppData\Local\Android\sdk\ndk-bundle\toolchains\aarch64-linux-android-4.9\prebuilt\windows-x86_64\bin\aarch64-linux-android-strip''


Error:net.rubygrapefruit.platform.NativeException: Could not start 'C:\Users\...\AppData\Local\Android\sdk\ndk-bundle\toolchains\aarch64-linux-android-4.9\prebuilt\windows-x86_64\bin\aarch64-linux-android-strip'


Error:java.io.IOException: Cannot run program "C:\Users\...\AppData\Local\Android\sdk\ndk-bundle\toolchains\aarch64-linux-android-4.9\prebuilt\windows-x86_64\bin\aarch64-linux-android-strip" (in directory "E:\projectNmame\app"): CreateProcess error=2, The system cannot find the file specified

任何人都可以帮我解决这个问题吗?我坚持这个问题。

9 个答案:

答案 0 :(得分:96)

我有Android Studio 3.1.2,之后我批准了IDE建议的更新 我得到了下一个错误:

org.gradle.api.tasks.TaskExecutionException: Execution failed for task '...'.

Caused by: org.gradle.process.internal.ExecException: A problem occurred starting process 'command '/Users/.../Library/Android/sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt/darwin-x86_64/bin/mips64el-linux-android-strip'

Caused by: net.rubygrapefruit.platform.NativeException: Could not start '/Users/.../Library/Android/sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt/darwin-x86_64/bin/mips64el-linux-android-strip'

Caused by: java.io.IOException: Cannot run program "/Users/.../Library/Android/sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt/darwin-x86_64/bin/mips64el-linux-android-strip" (in directory "/Users/.../.../.../app"): error=2, No such file or directory

Caused by: java.io.IOException: error=2, No such file or directory

看起来NDK版本17.0.4754217存在问题。

由于我不能在我的项目中使用ndk组件,因此解决方案是 从SDK Manager中删除NDK

转到SDK Manager - > SDK工具标签 - >取消选中NDK - >应用

enter image description here

答案 1 :(得分:89)

使用NDK版本17.0.4754217时遇到了同样的问题。 您可以通过在gradle.build中添加以下代码来解决此问题:

packagingOptions{
    doNotStrip '*/mips/*.so'
}

或者

packagingOptions{
    doNotStrip '*/mips/*.so'
    doNotStrip '*/mips64/*.so'
}

如果您使用的是本机代码(C ++),我建议您也添加以下代码:

ndk {
    abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86' // <- only the supported ones
}

确保您不会嵌入任何MIPS二进制文件。

答案 2 :(得分:21)

将这些添加到gradle.build文件:

packagingOptions{
    doNotStrip '*/mips/*.so'
    doNotStrip '*/mips64/*.so'
}

答案 3 :(得分:16)

是的,我将NDK更新为17.0.4754217后出现此错误。

我刚尝试使用v.16中的复制文件夹解决方法(\ android-ndk- r16b -windows-x86_64 \ android-ndk- r16b \ toolchains \ mips64el来自https://developer.android.com/ndk/downloads/older_releases的-linux-android-4.9 \ prebuilt \ windows-x86_64)它对我有用。

不确定稳定但它对我有用,直到等待谷歌的新修复。

答案 4 :(得分:14)

我找到了一个包here,我从中复制了所有丢失的文件,现在它已经完美无缺。

答案 5 :(得分:9)

为了获得这些小软件包,我必须下载大约1 GB的文件,以便任何有这些软件包问题的人都可以从下面的链接下载它们,然后将其提取到

sdk\ndk-bundle\toolchains\

mips64el-linus-android

aarch64-linux-android

答案 6 :(得分:2)

我通过将NDK版本更改为旧版本来解决此问题。   您可以从https://developer.android.com/ndk/downloads/older_releases获取旧版本的ndk。 NDK的路径在android项目中名为local.properties的文件中定义。清空原始NDK文件,然后将oloder版本NDK存档解压缩到local.properties中定义的路径。最后清理并重建项目。

答案 7 :(得分:0)

我在构建詹金斯奴隶时遇到了这个问题。

我已经删除了开发计算机上的NDK,该计算机可以成功构建,然后再也无法构建成功。

所以我用android studio在jenkins slave上打开了项目

download ndk by sdk manager as picture

下载完成后,我的项目可以成功构建。

希望这会有所帮助

答案 8 :(得分:-3)

对此非常有用的提示是下载

> android-ndk-r16b

然后只需将NDK路径更改为android-ndk-r16b

喜欢我:

C:\ Android \ android-ndk-r16b

那么绝对可以避免我的第一个应用程序体验。

显示的图片here