并行开发时,如何让AndroidStudio识别更新的.jar依赖文件?
解决Android Studio本地Jar更新后编辑器索引不刷新的问题
以下是几种比全局Invalidate Caches更高效的解决方法:
临时刷新Jar依赖配置
找到依赖项目build.gradle中引用该Jar的代码(比如implementation files('libs/your-library.jar')),先注释掉这行代码,点击工具栏的「Sync Project with Gradle Files」按钮完成同步;之后取消注释,再次执行同步操作。IDE会重新读取Jar文件并更新编辑器索引。改用模块依赖替代Jar依赖
既然是并行开发库项目和依赖项目,直接将库项目作为模块导入依赖项目是更彻底的方案:- 打开依赖项目,依次点击
File > New > Module from Existing Sources - 选择库项目根目录下的
build.gradle文件完成导入 - 在依赖项目的
build.gradle中,将原Jar依赖替换为模块依赖:implementation project(':your-library-module')
这种方式下,修改库项目代码后IDE会自动同步类信息,完全避免Jar缓存问题。
- 打开依赖项目,依次点击
清理单个模块的构建缓存
在Android Studio的Terminal中执行针对依赖模块的clean命令:# Windows系统 gradlew :your-app-module:clean # Mac/Linux系统 ./gradlew :your-app-module:clean执行完成后再次同步Gradle项目,IDE会重新解析依赖的Jar文件。
手动触发单个Jar的同步
在Project视图中找到该Jar文件,右键点击并选择「Synchronize 'your-library.jar'」(部分Android Studio版本可能显示为「Reload」),强制IDE重新读取该Jar的类结构。
问题原因:Android Studio的编辑器索引系统与Gradle构建系统是独立运行的,构建时会直接读取磁盘上的最新Jar,但编辑器的索引缓存不会自动监听Jar文件的内容变更,「Reread all from disk」仅刷新文件目录结构,不会重新解析Jar内部的类信息。
内容的提问来源于stack exchange,提问作者mmo
相关产品推荐
相关产品推荐

