问题
将NDK从版本16更新到版本17后,发生以下错误。
Error:Execution failed for task ':MagicFilter:transformNativeLibsWithStripDebugSymbolForDebug'. > A problem occurred starting process 'command '/Users/mingjianhua/Library/Android/sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt/darwin-x86_64/bin/mips64el-linux-android-strip'' org.gradle.process.internal.ExecException: A problem occurred starting process 'command '[Android SDK Path]/sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt/darwin-x86_64/bin/mips64el-linux-android-strip'' at org.gradle.process.internal.DefaultExecHandle.execExceptionFor(DefaultExecHandle.java:220) at org.gradle.process.internal.DefaultExecHandle.setEndStateInfo(DefaultExecHandle.java:204) at org.gradle.process.internal.DefaultExecHandle.failed(DefaultExecHandle.java:340) at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:86) at org.gradle.internal.operations.BuildOperationIdentifierPreservingRunnable.run(BuildOperationIdentifierPreservingRunnable.java:39) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) at java.lang.Thread.run(Thread.java:745) Caused by: net.rubygrapefruit.platform.NativeException: Could not start '[Android SDK Path]/sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt/darwin-x86_64/bin/mips64el-linux-android-strip' at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:27) at net.rubygrapefruit.platform.internal.WrapperProcessLauncher.start(WrapperProcessLauncher.java:36) at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:68) ... 7 more Caused by: java.io.IOException: Cannot run program "[Android SDK Path]/sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt/darwin-x86_64/bin/mips64el-linux-android-strip" (in directory "/Volumes/Seagate/AppeatProject/DogdripRenew/app"): error=2, No such file or directory at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048) at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:25) ... 9 more Caused by: java.io.IOException: error=2, No such file or directory at java.lang.UNIXProcess.forkAndExec(Native Method) at java.lang.UNIXProcess.<init>(UNIXProcess.java:247) at java.lang.ProcessImpl.start(ProcessImpl.java:134) at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029) ... 10 more
原因
我试图在Google中搜索多个关键字, [Android SDK Path]/sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt/darwin-x86_64/
我在文件夹中找不到任何东西。
该文件夹仅包含LOCAL_LDLIBS文件和以下文本。
这个mips64el-linux-android-4.9目录的存在是为了使NDK与Android兼容
SDK的Gradle插件,版本3.0.1和更早版本,期望NDK
有一个MIPS64工具链目录。
解决方案
1、如果您尝试使用SDK Manager重新安装NDK,则无法解决该问题。从NDK下载页面下载 android-ndk-r16b-darwin-x86_64.zip文件并找到,toolchains/mips64el-linux-android-4.9/prebuilt/darwin-x86_64/
,将它复制到NDK文件夹,错误消失。
2、如果还未解决问题,把整个NDK目录删除,换回16b版本。
待解决问题
为什么mips64el-linux-android-4.9从ndk r17中消失
查看NDK修订历史记录 ,看起来在r16中已经有MIPS64弃用的通知。
我不想复制以前的版本,但我认为我需要找到一个基本的解决方案。
为什么我在不使用NDK的项目中出现这个错误?
如果您觉得本文章对您有用,扫码领个红包支持下吧!