无法找到leakcanary-analyzer.aar,执行清理重建仍报错求助
我之前也碰到过一模一样的坑!给你几个亲测有效的排查和解决步骤,挨个试试应该能搞定:
1. 先检查依赖配置是否正确
LeakCanary的官方依赖推荐是直接引入leakcanary-android,它会自动拉取包括leakcanary-analyzer在内的所有子模块,不需要单独声明analyzer的依赖:
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.12'
另外确认下你是不是把依赖写错了构建变体,比如不小心放到了releaseImplementation里,导致devDebug编译时找不到。
2. 确认仓库配置包含Maven Central
LeakCanary的包托管在Maven Central,所以要确保项目根目录的settings.gradle(或者根build.gradle的repositories块)里配置了:
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() // 必须要有这个 // jcenter() 已经弃用,不用加了 } }
3. 强制刷新Gradle依赖缓存
光./gradlew clean有时候清不干净缓存,试试这个命令强制重新下载所有依赖:
./gradlew clean build --refresh-dependencies
如果还是不行,可以手动删除Gradle的全局缓存目录:
- Mac/Linux:
~/.gradle/caches - Windows:
C:\Users\<你的用户名>\.gradle\caches
删除后再重新执行构建。
4. 排查网络和代理问题
虽然你说URL能访问,但Gradle的代理配置可能和浏览器不一样。检查下gradle.properties里有没有类似这些代理配置,如果不需要代理就注释掉:
# systemProp.http.proxyHost=xxx # systemProp.http.proxyPort=xxx # systemProp.https.proxyHost=xxx # systemProp.https.proxyPort=xxx
也可以试试切换网络(比如手机热点),排除公司防火墙或者网络限制的影响。
5. 检查版本兼容性
确认你的LeakCanary版本和Android Gradle Plugin(AGP)、Gradle版本兼容。比如AGP 7.0+建议搭配LeakCanary 2.10及以上版本,版本不匹配也可能导致依赖解析失败。
你提到的错误信息:
org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all files for configuration ':mainApplication:devDebugCompileClasspath'. at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.rethrowFailure(DefaultConfiguration.java:882) at org.gradle.api.internal.ar...
内容的提问来源于stack exchange,提问作者avez raj

