在Android studio中升级NDK后与mips64el-linux-android-strip有关的错误

 mjh1021   2018-05-11 11:11   1460 人阅读  0 条评论

问题 

将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版本。

待解决问题

  1. 为什么mips64el-linux-android-4.9从ndk r17中消失

    查看NDK修订历史记录 ,看起来在r16中已经有MIPS64弃用的通知。

  2. 我不想复制以前的版本,但我认为我需要找到一个基本的解决方案。


  3. 为什么我在不使用NDK的项目中出现这个错误?


如果您觉得本文章对您有用,扫码领个红包支持下吧!

hongbao.jpeg





本文地址:http://mingjianhua.com/post/71.html
版权声明:本文为原创文章,版权归 mjh1021 所有,欢迎分享本文,转载请保留出处!

 发表评论


表情

还没有留言,还不快点抢沙发?