Android Studio sun.font.CompositeFont 无法转换为 sun.font.PhysicalFont

标签 android android-studio android-studio-2.2

尝试在两台不同的 Ubuntu 计算机上运行 Android Studio 2.2.3 时,我不断收到此错误。一个运行 14.04 Trusty,另一个运行 16.04 Xenial。

它运行初始屏幕,加载栏到达末尾,然后它停在那里,并在控制台中显示此错误。

OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=350m; support was removed in 8.0 
Looking in classpath from com.intellij.util.lang.UrlClassLoader@2077d4de for /com/sun/jna/linux-x86-64/libjnidispatch.so 
Found library resource at jar:file:/home/me/Downloads/android-studio/lib/jna.jar!/com/sun/jna/linux-x86-64/libjnidispatch.so 
Trying /home/me/.AndroidStudio2.2/system/tmp/jna3820816485682346846.tmp 
Found jnidispatch at /home/me/.AndroidStudio2.2/system/tmp/jna3820816485682346846.tmp 
[   9485]   WARN - dea.updater.SdkComponentSource - File /home/me/.android/repositories.cfg could not be loaded.  
[   9618]   WARN - s.RepoProgressIndicatorAdapter - File /home/me/.android/repositories.cfg could not be loaded.  
[   9994]  ERROR - llij.ide.plugins.PluginManager - java.lang.ClassCastException: sun.font.CompositeFont cannot be cast to sun.font.PhysicalFont  
java.lang.RuntimeException: java.lang.ClassCastException: sun.font.CompositeFont cannot be cast to sun.font.PhysicalFont 
       at com.intellij.idea.IdeaApplication.run(IdeaApplication.java:204) 
       at com.intellij.idea.MainImpl$1$1$1.run(MainImpl.java:52) 
       at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) 
       at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756) 
       at java.awt.EventQueue.access$500(EventQueue.java:97) 
       at java.awt.EventQueue$3.run(EventQueue.java:709) 
       at java.awt.EventQueue$3.run(EventQueue.java:703) 
       at java.security.AccessController.doPrivileged(Native Method) 
       at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) 
       at java.awt.EventQueue.dispatchEvent(EventQueue.java:726) 
       at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:366) 
       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) 
Caused by: java.lang.ClassCastException: sun.font.CompositeFont cannot be cast to sun.font.PhysicalFont 
       at sun.font.CompositeFont.doDeferredInitialisation(CompositeFont.java:293) 
       at sun.font.CompositeFont.getSlotFont(CompositeFont.java:360) 
       at sun.font.CompositeGlyphMapper.getSlotMapper(CompositeGlyphMapper.java:114) 
       at sun.font.CompositeGlyphMapper.convertToGlyph(CompositeGlyphMapper.java:124) 
       at sun.font.CompositeGlyphMapper.charToGlyph(CompositeGlyphMapper.java:162) 
       at sun.font.CompositeStrike.getCodePointAdvance(CompositeStrike.java:158) 
       at sun.font.FontDesignMetrics.handleCharWidth(FontDesignMetrics.java:416) 
       at sun.font.FontDesignMetrics.getLatinCharWidth(FontDesignMetrics.java:425) 
       at sun.font.FontDesignMetrics.stringWidth(FontDesignMetrics.java:476) 
       at sun.swing.SwingUtilities2.stringWidth(SwingUtilities2.java:403) 
       at javax.swing.SwingUtilities.layoutCompoundLabelImpl(SwingUtilities.java:1005) 
       at javax.swing.SwingUtilities.layoutCompoundLabel(SwingUtilities.java:890) 
       at javax.swing.plaf.basic.BasicGraphicsUtils.getPreferredButtonSize(BasicGraphicsUtils.java:282) 
       at javax.swing.plaf.basic.BasicButtonUI.getPreferredSize(BasicButtonUI.java:376) 
       at javax.swing.plaf.basic.BasicButtonUI.getMinimumSize(BasicButtonUI.java:366) 
       at javax.swing.JComponent.getMinimumSize(JComponent.java:1744) 
       at java.awt.GridLayout.minimumLayoutSize(GridLayout.java:390) 
       at java.awt.Container.minimumSize(Container.java:1848) 
       at java.awt.Container.getMinimumSize(Container.java:1832) 
       at javax.swing.JComponent.getMinimumSize(JComponent.java:1746) 
       at java.awt.GridBagLayout.GetLayoutInfo(GridBagLayout.java:1117) 
       at java.awt.GridBagLayout.getLayoutInfo(GridBagLayout.java:916) 
       at java.awt.GridBagLayout.minimumLayoutSize(GridBagLayout.java:750) 
       at java.awt.Container.minimumSize(Container.java:1848) 
       at java.awt.Container.getMinimumSize(Container.java:1832) 
       at javax.swing.JComponent.getMinimumSize(JComponent.java:1746) 
       at java.awt.BorderLayout.minimumLayoutSize(BorderLayout.java:663) 
       at java.awt.Container.minimumSize(Container.java:1848) 
       at java.awt.Container.getMinimumSize(Container.java:1832) 
       at javax.swing.JComponent.getMinimumSize(JComponent.java:1746) 
       at java.awt.BorderLayout.minimumLayoutSize(BorderLayout.java:673) 
       at java.awt.Container.minimumSize(Container.java:1848) 
       at java.awt.Container.getMinimumSize(Container.java:1832) 
       at javax.swing.JComponent.getMinimumSize(JComponent.java:1746) 
       at javax.swing.JRootPane$RootLayout.minimumLayoutSize(JRootPane.java:944) 
       at java.awt.Container.minimumSize(Container.java:1848) 
       at java.awt.Container.getMinimumSize(Container.java:1832) 
       at javax.swing.JComponent.getMinimumSize(JComponent.java:1746) 
       at java.awt.BorderLayout.minimumLayoutSize(BorderLayout.java:663) 
       at java.awt.Container.minimumSize(Container.java:1848) 
       at java.awt.Container.getMinimumSize(Container.java:1832) 
       at com.intellij.openapi.wm.impl.welcomeScreen.FlatWelcomeFrame.<init>(FlatWelcomeFrame.java:109) 
       at com.intellij.openapi.wm.impl.welcomeScreen.FlatWelcomeFrameProvider.createFrame(FlatWelcomeFrameProvider.java:29) 
       at com.intellij.openapi.wm.impl.welcomeScreen.WelcomeFrame.showNow(WelcomeFrame.java:171) 
       at com.intellij.idea.IdeaApplication$IdeStarter.main(IdeaApplication.java:340) 
       at com.intellij.idea.IdeaApplication.run(IdeaApplication.java:200) 
       ... 16 more 
[   9998]  ERROR - llij.ide.plugins.PluginManager - Android Studio 2.2.3  Build #AI-145.3537739  
[   9998]  ERROR - llij.ide.plugins.PluginManager - JDK: 1.8.0_76-release  
[   9998]  ERROR - llij.ide.plugins.PluginManager - VM: OpenJDK 64-Bit Server VM  
[   9998]  ERROR - llij.ide.plugins.PluginManager - Vendor: JetBrains s.r.o  
[   9998]  ERROR - llij.ide.plugins.PluginManager - OS: Linux  
[   9999]  ERROR - llij.ide.plugins.PluginManager - Last Action:   
^C[  13652]   WARN - pl.local.NativeFileWatcherImpl - Watcher terminated with exit code 130 

最佳答案

首先感谢评论问题的各位,你们的意见解决了我的问题。我只是想添加一个正确的答案。

正如在问题评论中的几个跟踪链接中所发现的,问题似乎与 Mac 中的 Helvetica 字体文件有关。来自链接:

The problem is a bad font: /usr/share/fonts/TTF/Helvetica.ttf

It was copied from OS X machine and is attached.

When the font is removed, the problem is resolved.

号称修复,IDEA为我运行。只需要等待谷歌将更改集成到我怀疑的 Android Studio 版本中。

关于Android Studio sun.font.CompositeFont 无法转换为 sun.font.PhysicalFont,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41281606/

相关文章:

java - 更改以前的 ListView 中的 ListView 项目

android - 将 Java 文件转换为 Kotlin 文件是如何工作的?

android - gradlew appengineEndpointsInstallClientLibs不会安装客户端库(但会生成它们)

android - 应用程序不会在启用即时运行的 gradle 2.14.1 的新 Android Studio 2.2 上执行

java - 尝试通过列表从 .txt 中删除一行时应用强制关闭

android - 如何在 Espresso 中获取 TextView 的实际颜色值

Android 背景占满屏幕的一半

android - 在 Android Studio 中的所有模块的顶层构建文件中设置 proguard

Android Studio 2.2.2 无法将 apk 安装到设备/模拟器

android - 在 Android Studio 2.2 的开发者服务中看不到云选项