Ich habe auf MacOS Catalina aktualisiert. Während ich heute Morgen an meinem Android-Projekt arbeitete, gab es plötzlich die folgende Ausnahme: "FEHLER: Ursache: Fehler = 86, fehlerhafter CPU-Typ in ausführbarer Datei".
Ich vermute es, weil ich auf macOS 10.15 aktualisiert habe UND weil ich versucht habe, die APK für mein Projekt zu erstellen (also hat es das Renderscript-Zeug neu erstellt). Hier ist die vollständige Stapelverfolgung angegeben:
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
und wenn ich eine Gradle-Synchronisierung mache, bekomme ich
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'
und
Execution failed for task ':app:compileDebugRenderscript'.
Beim Starten des Prozesses 'Befehl' /Users/name/Library/Android/sdk/build-tools/28.0.3/arm-linux-androideabi-ld '' ist ein Problem aufgetreten.
Gibt es eine Möglichkeit, Android Studio zu zwingen, stattdessen die 64-Bit-kompatiblen Versionen der Bibliotheken zu verwenden? Jede Hilfe wäre willkommen, da ein großer Teil des Projekts von Renderscript abhängt.
Zusätzliche Bemerkungen:
Ich verwende androidX in diesem Projekt nicht, da es das Rendercript durcheinander bringt und es dann NICHT mit der 64-Bit-Anforderung von Google Play kompatibel macht.
Der Renderscript-Teil in meiner Gradle-Datei sieht folgendermaßen aus:
renderscriptTargetApi 22 renderscriptSupportModeEnabled true