使用android studio 3.1.2后,显示错误= 2,没有这样的文件或目录

Mid*_*laj 7 ubuntu android-ndk android-studio

安装Ubuntu 18在带有i7和24gb ram的新桌面后.我们尝试将我们的android studio项目以zip格式移动到新的电脑上,我们的项目在旧电脑上正常工作,但它在新电脑上显示错误.

org.gradle.api.tasks.TaskExecutionException:任务':app:transformNativeLibsWithStripDebugSymbolForDebug'的执行失败.在在org.gradle在org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100) .api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:63)在org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)在org.gradle.api.internal位于org.gradle.api.internal.tasks.execution的org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88).tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58) .ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)在org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)在org.gradle.api.internal.tasks 在org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter的org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)的.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54) .execute(CatchExceptionTaskExecuter.java:34)org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker $ 1.run(DefaultTaskGraphExecuter.java:248)org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java: 336)org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)org.gradle.internal.progress .DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWo rker.execute(DefaultTaskGraphExecuter.java:241)org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java: 124)在org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ $ TaskExecutorWorker.access 200(DefaultTaskPlanExecutor.java:80)在org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ $ TaskExecutorWorker 1.execute(DefaultTaskPlanExecutor.java:105)在org.gradle .execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker $ 1.execute(DefaultTaskPlanExecutor.java:99)org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:625)at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask( DefaultTaskExecutionPlan.java:580)org.gradle.int上的org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:99)ernal.concurrent.ExecutorPolicy $ CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)在org.gradle.internal.concurrent.ManagedExecutorImpl $ 1.run(ManagedExecutorImpl.java:46)在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java :1142)在java.util.concurrent.ThreadPoolExecutor中$ Worker.run(ThreadPoolExecutor.java:617)在org.gradle.internal.concurrent.ThreadFactoryImpl $ ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)在java.lang.Thread中. run(Thread.java:745)引起:org.gradle.process.internal.ExecException:启动进程'command'/ home/developer/Android/Sdk/ndk-bundle/toolchains/mips64el-linux-android-时出现问题4.9 /预建/ Linux的x86_64的/ bin中/ mips64el-Linux的机器人条 '' 在org.gradle.process.internal.DefaultExecHandle.execExceptionFor(DefaultExecHandle.java:220)在org.gradle.process.internal.DefaultExecHandle.setEndStateInfo (DefaultExecHandle.java:204)org.gradle.process.internal.DefaultExecHandle.failed(DefaultExecHandle.java:340)at或 net.rubygrapefruit.platform:g.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:86)在org.gradle.internal.operations.BuildOperationIdentifierPreservingRunnable.run(BuildOperationIdentifierPreservingRunnable.java:39)... 6个所致.NativeException:无法启动"/home/developer/Android/Sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt/linux-x86_64/bin/mips64el-linux-android-strip"在net.rubygrapefruit位于org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java)的net.rubygrapefruit.platform.internal.WrapperProcessLauncher.start(WrapperProcessLauncher.java:36)中的.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:27) :68)... 7更多引起:java.io.IOException:无法运行程序"/home/developer/Android/Sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt/linux-x86_64/ bin/mips64el-linux-android-strip"(在目录"/ home/developer/Documents/working_app/valyangadi_firebase_project/app"中):error = 2,No s java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)中的uch文件或目录,网址为net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:25)... 9更多引起:java.io. IOException:error = 2,java.lang.ProcessImpl.start上的java.lang.UNIXProcess.(UNIXProcess.java:247)中的java.lang.UNIXProcess.forkAndExec(本机方法)中没有此类文件或目录(ProcessImpl.java: 134)在java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)...还有10个

这是什么错误以及如何解决这个问题?这个项目在我Ubuntu 14.04使用android studio 3.0的旧笔记本电脑LTS 上工作正常

Var*_*iag 18

您应检查旧PC上的Android Studio配置,并比较Android SDK> SDK Tools中每个位置的版本:

在此输入图像描述

在我的情况下,主要问题是Android NDK.显然我已经安装了更新到版本17,这导致了问题.所以我做了什么:

  1. 从目录中删除所有内容[android-sdk]\ndk-bundle\ Android Studio\Sdk工具中卸载Android NDK (请参见上图)
  2. 关闭Android Studio(AS).
  3. https://developer.android.com/ndk/downloads/older_releases下载(在我的情况下)NDK版本16b
  4. 提取存档(10个目录和8个文件左右)到 [android-sdk]\ndk-bundle\
  5. 启动AS并执行完全刷新:Build> Refresh Linked C++项目Build> Rebuild项目.

希望能帮助到你.


Ton*_*jas 6

将此代码包含在您的build.gradle中

defaultConfig {

    packagingOptions{
        doNotStrip '*/mips/*.so'
        doNotStrip '*/mips64/*.so'
    }
}
Run Code Online (Sandbox Code Playgroud)