मैंने मैकओएस कैटालिना को अपडेट किया है। आज सुबह जब मैं अपने एंड्रॉइड प्रोजेक्ट पर काम कर रहा था, तो उसने अचानक निम्नलिखित अपवाद देना शुरू कर दिया: "त्रुटि: कारण: त्रुटि = 86, निष्पादन में खराब सीपीयू प्रकार"।
मुझे इस पर संदेह है क्योंकि मैंने macOS 10.15 में अपडेट किया है और क्योंकि मैंने अपने प्रोजेक्ट के लिए एपीके बनाने की कोशिश की है (इसलिए यह रेंडरस्क्रिप्ट सामान को फिर से बनाता है)। यहाँ पूर्ण स्टैक ट्रेस दिया गया है:
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
और ग्रैडल सिंक करने पर, मुझे मिलता है
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'
तथा
Execution failed for task ':app:compileDebugRenderscript'.
'कमांड' / 'कमांड' / 'यूआर / लॉर्ड्स / ऑन्ड्रॉइड / एसडीके / बिल्ड-tools/28.0.3/arm-linux-androideabi-ld' शुरू करने में एक समस्या हुई।
एंड्रॉइड स्टूडियो को इसके बजाय पुस्तकालयों के 64-बिट आज्ञाकारी संस्करणों का उपयोग करने के लिए मजबूर करने का एक तरीका है? किसी भी मदद की सराहना की जाएगी, क्योंकि परियोजना का एक बड़ा हिस्सा रेंडरस्क्रिप्ट पर निर्भर करता है।
अतिरिक्त नोट्स:
मैं इस परियोजना में androidX का उपयोग नहीं करता हूं, क्योंकि यह रेंडरस्क्रिप्ट को गड़बड़ कर देता है और फिर इसका कारण Google Play की 64-बिट आवश्यकता के लिए संगत नहीं होना है।
मेरे ग्रेड फ़ाइल में रेंडरस्क्रिप्ट भाग ऐसा दिखता है:
renderscriptTargetApi 22 renderscriptSupportModeEnabled true