You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Arduino 1.8.16上传ESP32程序报java.lang.NullPointerException如何解决

解决方案

以下为对应该类上传报错的可行修复步骤,按优先级依次尝试:

  • 降级ESP32开发板包到兼容版本
    Arduino IDE 1.8.16与2.0.6及以上版本的ESP32开发板包存在兼容性问题,是该类java.lang.NullPointerException报错最常见的诱因。操作路径:打开IDE>工具>开发板>开发板管理器,搜索esp32,卸载当前安装的高版本包,选择2.0.4或2.0.5版本重新安装,重启IDE后再尝试上传。
  • 关闭「使用编程器上传」选项
    若误勾选了工具菜单下的使用编程器上传项,IDE会绕过串口上传逻辑调用编程器上传链路,未连接对应编程器时就会触发该空指针报错,确认该项处于未勾选状态即可。
  • 清理IDE残留配置后重装开发板包
    标准/便携安装不会自动清理旧的配置缓存,会导致兼容性问题残留。操作步骤:关闭IDE,删除对应系统路径下的Arduino15配置文件夹:
    • Windows:C:\Users\用户名\AppData\Local\Arduino15
    • macOS:~/Library/Arduino15
    • Linux:~/.arduino15
      清理完成后重启IDE,重新安装适配版本的ESP32开发板包即可。
  • 手动触发开发板进入下载模式
    部分兼容ESP32开发板的自动复位电路逻辑和Arduino IDE 1.8.x的触发逻辑不兼容,上传前按住开发板上的BOOT键,点击上传按钮直到IDE控制台出现上传进度提示后再松开按键即可。

对应报错信息如下:

java.lang.NullPointerException at cc.arduino.packages.uploaders.SerialUploader.uploadUsingProgrammer(SerialUploader.java:295)
at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:90)
at cc.arduino.UploaderUtils.upload(UploaderUtils.java:77)
at processing.app.SketchController.upload(SketchController.java:732)
at processing.app.SketchController.exportApplet(SketchController.java:703)
at processing.app.Editor$UploadHandler.run(Editor.java:2061)
at java.lang.Thread.run(Thread.java:748)

内容的提问来源于stack exchange,提问作者Massimo Manca

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 00:36:04