Flutter项目运行反复出现Gradle缓存损坏错误,常规操作无效
Gradle缓存损坏导致Flutter运行重复报错的解决办法
错误日志
Failed to execute org.gradle.cache.internal.AsyncCacheAccessDecoratedCache$$Lambda/0x0000000800634480@13e56ce2. org.gradle.api.UncheckedIOException: Could not add entry 'C:\Users\avans.gradle\caches\modules-2\files-2.1\com.android.tools.build\builder\7.3.0\5cc912e81dea92f26b5cc8e4af1bc17c2337be2' to cache file-access.bin (C:\Users\avans.gradle\caches\journal-1\file-access.bin). at org.gradle.cache.internal.btree.BTreePersistentIndexedCache.put(BTreePersistentIndexedCache.java:162) at org.gradle.cache.internal.DefaultMultiProcessSafeIndexedCache.lambda$put$1(DefaultMultiProcessSafeIndexedCache.java:67) at org.gradle.cache.internal.DefaultFileLockManager$DefaultFileLock.doWriteAction(DefaultFileLockManager.java:216) at org.gradle.cache.internal.DefaultFileLockManager$DefaultFileLock.writeFile(DefaultFileLockManager.java:206) at org.gradle.cache.internal.DefaultCacheCoordinator$UnitOfWorkFileAccess.writeFile(DefaultCacheCoordinator.java:472) at org.gradle.cache.internal.DefaultMultiProcessSafeIndexedCache.put(DefaultMultiProcessSafeIndexedCache.java:67) at org.gradle.cache.internal.AsyncCacheAccessDecoratedCache.lambda$putLater$1(AsyncCacheAccessDecoratedCache.java:56) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) at org.gradle.cache.internal.ExclusiveCacheAccessingWorker$2.run(ExclusiveCacheAccessingWorker.java:185) at org.gradle.internal.Factories$1.create(Factories.java:31) at org.gradle.cache.internal.DefaultCacheCoordinator.useCache(DefaultCacheCoordinator.java:248) at org.gradle.cache.internal.DefaultCacheCoordinator.useCache(DefaultCacheCoordinator.java:229) at org.gradle.cache.internal.ExclusiveCacheAccessingWorker.flushOperations(ExclusiveCacheAccessingWorker.java:175) at org.gradle.cache.internal.ExclusiveCacheAccessingWorker.run(ExclusiveCacheAccessingWorker.java:145) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:47) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source) Caused by: org.gradle.cache.internal.btree.CorruptedCacheException: Corrupted IndexBlock 255971 found in cache 'C:\Users\avans.gradle\caches\journal-1\file-access.bin'. at org.gradle.cache.internal.btree.FileBackedBlockStore$BlockImpl.blockCorruptedException(FileBackedBlockStore.java:267) at org.gradle.cache.internal.btree.FileBackedBlockStore$BlockImpl.read(FileBackedBlockStore.java:246) at org.gradle.cache.internal.btree.FileBackedBlockStore.read(FileBackedBlockStore.java:123) at org.gradle.cache.internal.btree.CachingBlockStore.read(CachingBlockStore.java:100) at org.gradle.cache.internal.btree.FreeListBlockStore.read(FreeListBlockStore.java:86) at org.gradle.cache.internal.btree.StateCheckBlockStore.read(StateCheckBlockStore.java:67) at org.gradle.cache.internal.btree.BTreePersistentIndexedCache.load(BTreePersistentIndexedCache.java:182) at org.gradle.cache.internal.btree.BTreePersistentIndexedCache.access$1200(BTreePersistentIndexedCache.java:50) at org.gradle.cache.internal.btree.BTreePersistentIndexedCache$IndexBlock.find(BTreePersistentIndexedCache.java:496) at org.gradle.cache.internal.btree.BTreePersistentIndexedCache$IndexBlock.access$600(BTreePersistentIndexedCache.java:366) at org.gradle.cache.internal.btree.BTreePersistentIndexedCache.put(BTreePersistentIndexedCache.java:144) ... 18 more
问题原因
这个错误的核心是Gradle全局缓存文件损坏,具体是C:\Users\avans\.gradle\caches\journal-1\file-access.bin中的索引块255971已损坏。你之前执行的flutter clean、flutter pub get仅清理项目本地的缓存和Dart依赖,不会触及Gradle的全局缓存,因此无法解决该问题。
解决步骤
- 关闭所有正在运行的IDE(如Android Studio、VS Code)及Gradle相关进程,避免缓存文件被占用
- 删除Gradle全局缓存目录:直接删除
C:\Users\avans\.gradle\caches整个文件夹 - 重新运行项目:执行
flutter run,Gradle会自动重新下载并生成全新的缓存文件
内容的提问来源于stack exchange,提问作者ShekTech
相关产品推荐
相关产品推荐

