MacOS Catalina'da kırık RenderScript (10.15)


10

MacOS Catalina'ya güncelledim. Bu sabah Android projem üzerinde çalışırken, aniden şu istisnayı vermeye başladı: "HATA: Neden: hata = 86, Yürütülebilir uygulamada hatalı CPU türü".

MacOS 10.15'e güncellediğimden ve projem için APK oluşturmaya çalıştığımdan şüpheliyim (bu yüzden render öğelerini yeniden oluşturdu). İşte verilen tam yığın izlemesi:

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

ve bir Gradle Sync yaptıkça

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'

ve

Execution failed for task ':app:compileDebugRenderscript'.

'Komut' /Users/name/Library/Android/sdk/build-tools/28.0.3/arm-linux-androideabi-ld 'işlemi başlatılırken bir sorun oluştu

Android stüdyosunu bunun yerine kütüphanelerin 64 bit uyumlu sürümlerini denemeye ve kullanmaya zorlamanın bir yolu var mı? Projenin büyük bir kısmı Renderscript'e bağlı olduğu için herhangi bir yardım takdir edilecektir.

Ek Notlar:

  1. Ben bu projede androidX kullanmıyorum, çünkü renderscript berbat ve daha sonra Google Play'in 64-bit gereksinimi için uyumlu OLMAMASI neden olur.

  2. Gradle dosyamdaki renderscript kısmı şöyle görünür:

    renderscriptTargetApi 22
    renderscriptSupportModeEnabled true

Yanıtlar:


6

Aynı sorunu yaşayan herkes için bu bir hatadır. Renderscript kullanırken, bağlayıcı 32 bit dosyayı kullanır. Birden çok hata günlüğe kaydedildi. Takip etmek istiyorsanız, burada neler olduğunu takip edebilirsiniz: https://issuetracker.google.com/issues/142590626

Yakında düzeltecekleri başparmak tutarak!

GÜNCELLEME: En son buildtools sürüm 29.0.3'te düzeltildi. Kullanmak için Android Studio 3.6'ya da güncellemeniz gerekir.

BONUS: AndroidX'e güncelleme yapmaya çalışan herkes için WELL - Renderscript Android6'da bozulabilir. RenderscriptSupportModeEnabled öğesini false olarak ayarladığınız bir çözüm var (söyleyebildiğim kadarıyla) - ancak TÜM aygıtlar için düzeltmez (örn. Xiomi Redmi go - Android 8.1 - sonra benim için kırılır).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.