USB 调试时,Android-Studio 因 ArrayOutOfBounds 异常而无法使用 [英] Android-Studio is unusable with ArrayOutOfBounds exceptions while USB debugging
问题描述
我很难在 Opensuse 13.2 上安装可用的 Android Studio.我已经尝试过 Java OpenSDK 1.7.0_75-b13 和 1.8.0_40-b10 以及 Oracle 1.8.0_31-b13(设置 STUDIO_JDK 环境变量并检查文件->其他设置->默认项目结构).我已经从 .还有一个 Java OpenStreetMap 错误,其中的变通方法对我不起作用.
Opensuse bug表示安装texlive-arphic-fonts包时触发了OpenJDK字体问题.删除它对我来说是一种解决方法.
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.
Opensuse bug indicates the OpenJDK font problem is triggered when the texlive-arphic-fonts package is installed. Removing it was a workaround for me.
这篇关于USB 调试时,Android-Studio 因 ArrayOutOfBounds 异常而无法使用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!