Zee*_*Zee 6 macos android renderscript macos-catalina
我已经更新到MacOS Catalina。今天早上,当我在做Android项目时,它突然开始出现以下异常:“错误:原因:错误= 86,可执行文件中的CPU类型错误”。
我怀疑它是因为我更新到了macOS 10.15,并且因为我试图为我的项目构建APK(因此它重建了renderscript的东西)。这是给定的完整堆栈跟踪:
org.gradle.process.internal.ExecException: A problem occurred starting process 'command '/Users/name/Library/Android/sdk/build-tools/28.0.3/arm-linux-androideabi-ld''
at org.gradle.process.internal.DefaultExecHandle.execExceptionFor(DefaultExecHandle.java:232)
at org.gradle.process.internal.DefaultExecHandle.setEndStateInfo(DefaultExecHandle.java:209)
at org.gradle.process.internal.DefaultExecHandle.failed(DefaultExecHandle.java:356)
at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:86)
at org.gradle.internal.operations.CurrentBuildOperationPreservingRunnable.run(CurrentBuildOperationPreservingRunnable.java:38)
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:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
at java.lang.Thread.run(Thread.java:748)
Caused by: net.rubygrapefruit.platform.NativeException: Could not start '/Users/name/Library/Android/sdk/build-tools/28.0.3/arm-linux-androideabi-ld'
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.startProcess(ExecHandleRunner.java:97)
at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:70)
... 7 more
Caused by: java.io.IOException: Cannot run program "/Users/name/Library/Android/sdk/build-tools/28.0.3/arm-linux-androideabi-ld" (in directory "/Users/name/Documents/Projects/onlinetrucks_android/MyApplication/app"): error=86, Bad CPU type in executable
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:25)
... 10 more
Caused by: java.io.IOException: error=86, Bad CPU type in executable
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)
... 11 more
Run Code Online (Sandbox Code Playgroud)
在执行Gradle Sync时,我得到
warning: Linking two modules of different target triples: /Users/name/Library/Android/sdk/build-tools/28.0.3/renderscript/lib/bc/x86/libclcore.bc' is 'armv7--linux-android' whereas '/Users/name/Documents/Projects/onlinetrucks_android/MyApplication/app/build/generated/res/rs/debug/raw/bc32/singlesource.bc' is 'armv7-none-linux-gnueabi'
Run Code Online (Sandbox Code Playgroud)
和
Execution failed for task ':app:compileDebugRenderscript'.
Run Code Online (Sandbox Code Playgroud)
启动过程'命令'/Users/name/Library/Android/sdk/build-tools/28.0.3/arm-linux-androideabi-ld''出现问题
有没有一种方法可以强迫Android Studio尝试使用库的64位兼容版本?任何帮助将不胜感激,因为该项目的很大一部分取决于Renderscript。
附加条款:
我不在此项目中使用androidX,因为它会弄乱renderscript,然后导致它与Google Play的64位要求不兼容。
我的gradle文件中的renderscript部分如下所示:
renderscriptTargetApi 22
renderscriptSupportModeEnabled true
Run Code Online (Sandbox Code Playgroud)对于任何有同样问题的人来说,这是一个错误。使用 renderscript 时,链接器使用 32 位文件。已记录多个错误。如果你想跟踪,你可以关注这里发生的事情:https : //issuetracker.google.com/issues/142590626
握着拇指说他们很快就修好了!
更新:他们已经在最新的 buildtools 版本 29.0.3 中修复了它。您还需要更新到 Android Studio 3.6 才能使用它。
奖励:对于尝试更新到 AndroidX 以及其他任何人 - Renderscript 可能会在 Android6 上中断。有一种解决方法(据我所知)将 renderscriptSupportModeEnabled 设置为 false - 但它并没有为所有设备修复它(例如,Xiomi Redmi go - Android 8.1 - 然后为我中断)。
| 归档时间: |
|
| 查看次数: |
406 次 |
| 最近记录: |