Skip to main content

解决Charles突然无法启动的问题

问题现象

  • 双击Charles无任何反应
  • 重装后问题依旧存在
  • 新安装后首次就无法启动

错误排查步骤

  1. 通过命令行启动定位问题:
cd "c:\Program Files\Charles"
Charles.exe
  1. 观察报错信息(关键错误):
C:\Program Files\Charles>java.awt.AWTError: Assistive Technology not found: com.sun.java.accessibility.AccessBridge
at java.desktop/java.awt.Toolkit.newAWTError(Unknown Source)
at java.desktop/java.awt.Toolkit.fallbackToLoadClassForAT(Unknown Source)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.base/java.util.stream.ReferencePipeline.forEach(Unknown Source)
at java.desktop/java.awt.Toolkit.loadAssistiveTechnologies(Unknown Source)
at java.desktop/java.awt.Toolkit.getDefaultToolkit(Unknown Source)
at de.sciss.syntaxpane.DefaultSyntaxKit.<clinit>(DefaultSyntaxKit.java:105)
at com.xk72.charles.gui.lib.UIUtils.<clinit>(Unknown Source)
at com.xk72.charles.gui.Main.beZk(Unknown Source)
at com.xk72.charles.Main.VPvq(Unknown Source)
at com.xk72.charles.gui.Main.main(Unknown Source)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at com.xk72.lib.yHTo.VPvq(Unknown Source)
at com.xk72.charles.gui.MainWithClassLoader.main(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.sun.java.accessibility.AccessBridge
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Unknown Source)
... 23 more

问题根源

Java Access Bridge(Java辅助功能桥接库)配置异常:

  • 该组件通常随JRE自动安装
  • 开发环境可能只有JDK未包含完整配置
  • 用户目录下的配置文件可能导致冲突:
    C:\Users\<current_user>\.accessibility.properties

解决方案

方法1:删除配置文件

del C:\Users\%USERNAME%\.accessibility.properties

方法2:注释配置内容(推荐)

  1. 用文本编辑器打开配置文件
  2. 在所有行首添加#注释符

验证结果

重新启动Charles应用,应能正常打开

额外说明:

  1. 推荐优先使用方法2,可作为问题回退方案
  2. 本方案适用于Windows系统,macOS/Linux用户需查找对应系统路径