Android Studio部署应用遇InaccessibleObjectException异常求助
解决Java模块访问权限导致的Android部署异常
这个异常是Java 9+模块系统的权限限制引发的——项目里的代码或依赖库通过反射访问了java.io.File的私有字段,但java.base模块未对未命名模块开放java.io包的访问权限。以下是具体解决步骤:
确认Android Studio的JDK配置
打开File > Project Structure > SDK Location,确保JDK location准确指向C:\Program Files\Java\jdk-11;再进入Modules标签页,检查每个模块的Sources下Language level设置为与JDK11匹配的选项(如11 - Local variable syntax for lambda parameters)。添加JVM参数开放模块访问
在项目根目录的gradle.properties文件中(无则新建)添加以下配置:org.gradle.jvmargs=--add-opens java.base/java.io=ALL-UNNAMED该参数强制
java.base模块将java.io包开放给所有未命名模块,允许反射访问私有成员。清理缓存并重构项目
依次执行Build > Clean Project和Build > Rebuild Project,清除旧构建缓存后再尝试部署设备。升级依赖库版本
检查build.gradle(Module: app)中的第三方依赖,将过时的库(如旧版图片加载、网络请求库)升级至最新稳定版,这类库通常会修复Java模块系统的兼容问题。
内容的提问来源于stack exchange,提问作者yeshwanth
相关产品推荐
相关产品推荐

