Android应用构建成功但启动闪退,Gradle提示jcenter()废弃如何解决
解决步骤
1. 替换settings.gradle中的仓库配置
找到项目根目录下的settings.gradle文件,删除所有jcenter()声明,替换为mavenCentral(),需要同时修改pluginManagement和dependencyResolutionManagement两个代码块内的仓库配置:
// 修改前 pluginManagement { repositories { google() jcenter() // 待删除 mavenCentral() } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() jcenter() // 待删除 mavenCentral() } }
// 修改后 pluginManagement { repositories { google() mavenCentral() } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
2. 清理构建缓存并重新编译
- 打开Android Studio,点击顶部菜单 File > Invalidate Caches...,勾选 Clear file system cache and local history 后点击「Invalidate and Restart」
- 编辑器重启后,在项目根目录执行构建命令:
- Mac/Linux 执行:
./gradlew clean build --warning-mode all - Windows 执行:
gradlew clean build --warning-mode all
- Mac/Linux 执行:
3. 特殊依赖兼容处理
如果替换仓库后出现「依赖未找到」报错,说明部分依赖未迁移到mavenCentral,可临时保留jcenter配置但调整优先级,后续逐步替换废弃依赖:
repositories { google() mavenCentral() // 临时保留jcenter,放在最后降低优先级 jcenter() { allowInsecureProtocol = true content { // 仅允许jcenter拉取指定的未迁移依赖,避免拉取其他冗余资源 includeGroup("xxx.xxx.xxx") } } }
4. 验证启动逻辑
构建成功后,先卸载测试设备上已安装的旧版应用,再安装新编译的APK,避免缓存残留导致崩溃问题复现。
问题根因说明
你遇到的「构建成功但启动崩溃」现象是因为JCenter停运后,部分依赖拉取不完整,Gradle构建时未触发致命错误,但运行时缺少必要类文件导致应用直接崩溃,所以弹出仅包含「应用信息」「关闭应用」的停止运行提示。
内容的提问来源于stack exchange,提问作者Onwe Meshach Chinaza
相关产品推荐
相关产品推荐

