Android-Studio is unusable with ArrayOutOfBounds exceptions while USB debugging

泪湿孤枕 提交于 2019-12-01 08:45:41

问题


I am having a very hard time installing a usable Android Studio on Opensuse 13.2. I have tried Java OpenSDK 1.7.0_75-b13 and 1.8.0_40-b10 as well as the Oracle 1.8.0_31-b13 (setting STUDIO_JDK environment variable and checking File->Other Settings->Default Project Structure). I have installed Android Studio from scratch from the Android developer site. I have installed a brand new SDK in ~/Android/Sdk. I have deleted the old ~/.AndroidStudio directory to try to wipe out any previous configuration, but this has not helped.

The interface is unusable when opening a project because there are constantly ArrayOutOfBounds exceptions being thrown. These are in the Android Studio core, not code that I have written. The following screenshots illustrate the errors.

This occurs when an Android device is connected via USB for debugging.

-29359205: -29359205
java.lang.ArrayIndexOutOfBoundsException: -29359205
    at sun.font.FileFontStrike.getCachedGlyphPtr(FileFontStrike.java:472)
    at sun.font.FileFontStrike.getSlot0GlyphImagePtrs(FileFontStrike.java:438)
    at sun.font.CompositeStrike.getGlyphImagePtrs(CompositeStrike.java:115)
    at sun.font.GlyphList.mapChars(GlyphList.java:272)
    at sun.font.GlyphList.setFromString(GlyphList.java:244)
    at sun.java2d.pipe.GlyphListPipe.drawString(GlyphListPipe.java:71)
    at sun.java2d.SunGraphics2D.drawString(SunGraphics2D.java:2928)
    at com.intellij.openapi.editor.impl.EditorImpl.drawChars(EditorImpl.java:3426)
    at com.intellij.openapi.editor.impl.EditorImpl.access$5000(EditorImpl.java:132)
    at com.intellij.openapi.editor.impl.EditorImpl$CachedFontContent.flushContent(EditorImpl.java:2948)
    at com.intellij.openapi.editor.impl.EditorImpl$CachedFontContent.access$5100(EditorImpl.java:2914)
    at com.intellij.openapi.editor.impl.EditorImpl.flushCachedChars(EditorImpl.java:2989)
    at com.intellij.openapi.editor.impl.EditorImpl.paintText(EditorImpl.java:2865)
    at com.intellij.openapi.editor.impl.EditorImpl.paint(EditorImpl.java:1986)
    at com.intellij.openapi.editor.impl.EditorComponentImpl.paintComponent(EditorComponentImpl.java:153)
    at javax.swing.JComponent.paint(JComponent.java:1056)
    at javax.swing.JComponent.paintChildren(JComponent.java:889)
    at javax.swing.JComponent.paint(JComponent.java:1065)
    at javax.swing.JViewport.paint(JViewport.java:728)
    at com.intellij.ui.components.JBViewport.paint(JBViewport.java:119)
    at javax.swing.JComponent.paintChildren(JComponent.java:889)
    at javax.swing.JComponent.paint(JComponent.java:1065)
    at javax.swing.JComponent.paintToOffscreen(JComponent.java:5219)
    at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1572)
    at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1495)
    at javax.swing.RepaintManager.paint(RepaintManager.java:1265)
    at javax.swing.JComponent._paintImmediately(JComponent.java:5167)
    at javax.swing.JComponent.paintImmediately(JComponent.java:4978)
    at javax.swing.RepaintManager$4.run(RepaintManager.java:824)
    at javax.swing.RepaintManager$4.run(RepaintManager.java:807)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:807)
    at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:782)
    at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:731)
    at javax.swing.RepaintManager.access$1300(RepaintManager.java:64)
    at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1720)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:702)
    at java.awt.EventQueue$3.run(EventQueue.java:696)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:719)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:697)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:524)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:335)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

What gives? What do I have to fix to get a usable Android studio?


It appears this may be an Opensuse issue. There is also a Java OpenStreetMap bug with workarounds that have not worked for me.


回答1:


Opensuse bug indicates the OpenJDK font problem is triggered when the texlive-arphic-fonts package is installed. Removing it was a workaround for me.



来源:https://stackoverflow.com/questions/28288585/android-studio-is-unusable-with-arrayoutofbounds-exceptions-while-usb-debugging

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!