Android Studio同步Gradle时无法加载com.jcraft.jsch.JSchException类
com.jcraft.jsch.JSchException的问题 我正在开发一个可在后台运行的Android Service,用于在用户打开应用时检查某个变量。但执行Sync Project with Gradle Files操作时,出现如下错误:
Unable to load class 'com.jcraft.jsch.JSchException'.
This is an unexpected error. Please file a bug containing the idea.log file.
我已尝试以下方案但均未解决问题:
- 将缺失组件的jar文件添加至/libg目录;
- 以管理员身份运行Android Studio;
- 删除gradle文件夹让Android Studio重新下载;
- 在依赖中添加
implementation 'com.jcraft:jsch:0.1.55'。
可行的解决方向
检查仓库配置完整性
确保项目根目录的build.gradle(或settings.gradle,依Gradle版本而定)中配置了Maven Central仓库,JSch依赖需要从该仓库拉取:repositories { mavenCentral() google() }区分应用依赖与构建脚本依赖
如果JSch是Gradle插件所需的依赖(而非应用代码依赖),需要在项目根的build.gradle的buildscript块中添加类路径依赖:buildscript { dependencies { classpath 'com.jcraft:jsch:0.1.55' } }仅在模块
build.gradle中添加implementation无法满足Gradle同步阶段的类加载需求。彻底清除IDE缓存
执行File -> Invalidate Caches...,选择Invalidate and Restart,清除Android Studio的缓存后重启再尝试同步。修复本地Maven仓库
找到本地Maven仓库中JSch的存储路径(通常为~/.m2/repository/com/jcraft/jsch/0.1.55),删除该目录后重新执行Gradle同步,让系统重新下载完整的依赖文件。升级Gradle版本
部分旧版Gradle与JSch 0.1.55存在兼容性问题,尝试将Gradle插件和Gradle版本升级到稳定版(例如Gradle 7.x搭配Android Gradle Plugin 7.x)。
内容的提问来源于stack exchange,提问作者MyDisplay

