【问题标题】:Android Studio Arctic Fox (2020.3.1) crashing while loading XMLAndroid Studio Arctic Fox (2020.3.1) 在加载 XML 时崩溃
【发布时间】:2021-07-29 13:46:52
【问题描述】:

今天我将我的 Android Studio 更新到了最新的稳定版本(Arctic Fox 2020.3.1),每当我尝试打开 xml 布局时,它就会崩溃。我尝试了很多不同的事情,从重建到失效,但没有任何帮助。升级后我无法卸载 Android,因为卸载程序丢失(可能是由于崩溃)。我不得不将系统恢复到我拥有旧版本的程度。此时我设法将 Android Studio 重新安装到最新版本。即使在那之后,程序在尝试打开 xml 后仍然崩溃(初始化时崩溃)。此时我无法再次卸载,因为卸载程序丢失(我相信这是由于崩溃)。我不得不再次恢复系统。有什么想法我应该怎么做,或者以前有人有过同样的问题吗?先感谢您。下面列出了部分错误:

---------------  T H R E A D  ---------------

Current thread (0x0000000047be3000):  JavaThread "Layoutlib Render Thread" daemon [_thread_in_native, id=8752, stack(0x0000000042430000,0x0000000042530000)]

Stack: [0x0000000042430000,0x0000000042530000],  sp=0x0000000042525f20,  free space=983k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libandroid_runtime.dll+0xb37ff]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  android.graphics.HardwareRenderer.nSyncAndDrawFrame(J[JI)I+0
j  android.graphics.HardwareRenderer.syncAndDrawFrame(Landroid/graphics/FrameInfo;)I+13
j  android.graphics.HardwareRenderer$FrameRenderRequest.syncAndDraw()I+8
j  com.android.layoutlib.bridge.impl.RenderSessionImpl.renderAndBuildResult(Landroid/view/ViewGroup;Landroid/graphics/HardwareRenderer;)Lcom/android/ide/common/rendering/api/Result;+18
j  com.android.layoutlib.bridge.impl.RenderSessionImpl.renderAndBuildResult(ZZ)Lcom/android/ide/common/rendering/api/Result;+522
j  com.android.layoutlib.bridge.impl.RenderSessionImpl.render(Z)Lcom/android/ide/common/rendering/api/Result;+3
j  com.android.layoutlib.bridge.BridgeRenderSession.render(JZ)Lcom/android/ide/common/rendering/api/Result;+49
j  com.android.ide.common.rendering.api.RenderSession.render(J)Lcom/android/ide/common/rendering/api/Result;+3
j  com.android.ide.common.rendering.api.RenderSession.render()Lcom/android/ide/common/rendering/api/Result;+4
j  com.android.tools.idea.rendering.RenderTask.lambda$renderInner$13(Lcom/intellij/psi/PsiFile;)Lcom/android/tools/idea/rendering/RenderResult;+4
j  com.android.tools.idea.rendering.RenderTask$$Lambda$5038.call()Ljava/lang/Object;+8
j  com.android.tools.idea.rendering.RenderExecutor$runAsyncActionWithTimeout$2.run()V+205
J 34329 c2 java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V java.base@11.0.10 (187 bytes) @ 0x00000000174fd4a8 [0x00000000174fce40+0x0000000000000668]
j  java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5 java.base@11.0.10
j  java.lang.Thread.run()V+11 java.base@11.0.10
v  ~StubRoutines::call_stub

siginfo: EXCEPTION_ILLEGAL_INSTRUCTION (0xc000001d)

【问题讨论】:

    标签: android-studio


    【解决方案1】:

    适用于 Windows

    替换现有libandroid_runtime.dll@处

    [PATH_TO_STUDIO_DOWNLOAD]/plugins/android/resources/layoutlib/data/win/lib64/
    

    this

    适用于 Linux

    替换现有的libandroid_runtime.so@

    [PATH_TO_STUDIO_DOWNLOAD]/plugins/android/resources/layoutlib/data/linux/lib64/
    

    this

    注意:这些文件适用于北极狐

    来源:issuetracker.google.com/issues/195340081 & issuetracker.google.com/issues/195185622

    【讨论】:

    • 谢谢。就我测试或打开布局文件而言,我没有遇到任何崩溃。
    • 遇到同样的问题,更换 DLL 工作正常。
    • @Ferhatwi 你知道 Mac 的文件吗?