Grandle 报错_项目无法编译问题解决

文章目录


AndroidStudio 编译遇到的问题

自己公司电脑跑着项目OK,但是家里电脑同一个项目,同一个AS版本,项目始终无法编译,折腾好久终于一个一个问题解决。

  • 不同电脑AndroidStudio 版本不一致,导致同一个项目无法能够同时编译
  • 想通电脑,不同AS 版本,同一个项目不能同时编译
  • gradle 无法下载【gradle\wrapper\gradle-wrapper.properties】
  • gradle-wrapper.properties文件找不到
  • 通用的库,比如kt、room、RecycleView 库...找不到
  • 不同AS 版本,配置agp错误导致无法编译
  • 配置不同导致无法编译

Gradle 报错-无法编译需要解决的问题说明

AS 与 AGP 版本对应

AS与AGP版本对应 情况

不同平台AS版本及下载地址

不同电脑,不同开发人员尽量统一AS开发版本,规避不必要的问题,即使不同AS开发同一个项目可能没问题,当AS版本更新频繁或者开发人员使用不同AS版本时候,难免出现非技术问题,导致解决时间很长,浪费时间。
AS开发版本下载地址

gradle 无法下载 和 找不到

使用腾讯镜像

使用腾讯镜像gradle 镜像: 腾讯gradle镜像

比如gradle-wrapper.properties 的gradle 配置如下:

java 复制代码
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.7-all.zip

gradle-wrapper.properties 文件找不到

文件已经存在,可是错误报 文件找不到, 检查一下 gradle-wrapper.properties 是不是哪一个配置有空格导致

依赖库无法下载,下载速度慢

遇到常用的第三方依赖库无法下载,下载超级慢

更换阿里镜像仓库

不同版本AS更换不一致,比如我的AS2024版本,在build.gradle 里面更新为阿里镜像,如下

java 复制代码
        maven{ url 'https://maven.aliyun.com/repository/google'} //修改
        maven{ url 'https://maven.aliyun.com/repository/gradle-plugin'} //修改
        maven{ url 'https://maven.aliyun.com/repository/public'} //修改
        maven{ url 'https://maven.aliyun.com/repository/jcenter'} //修改

阿里仓库镜像下依然无法下载部分第三方依赖

如上已经设置了阿里镜像,居然还是存在部分第三方依赖库无法下载的情况,那是因为阿里仓库镜像也没有全部囊括仓库平台,比方说:jitpack.io 居然没有阿里的仓库镜像。

解决方案,重新添加 jitpack.io 仓库,可以的话最后面把google 镜像也加上,如下配置:

java 复制代码
        maven{ url 'https://maven.aliyun.com/repository/google'} //修改
        maven{ url 'https://maven.aliyun.com/repository/gradle-plugin'} //修改
        maven{ url 'https://maven.aliyun.com/repository/public'} //修改
        maven{ url 'https://maven.aliyun.com/repository/jcenter'} //修改
        maven { url 'https://www.jitpack.io' }
        google()
        mavenCentral()
        gradlePluginPortal()

gradle、AGP、JDK、API各版本插件无法匹配导致无法编译

AS版本对应gradle、AGP、JDK、API 等对应关系 可参考如下,或者develop 平台查找,如下仅参考

Android中AGP与Gradle、AS、JDK的版本关系
gradle、AGP、JDK、API各版本插件匹配关系
最新安卓版本对照表,API对照表(持续更新,更新到安卓15)

标准化配置

只是针对自己研发项目过程中,自己的项目配置,后续可copy 参考,仅供参考。 不同的AS 版本不一致,针对性修改 gradle、agp、jdk 调试自己项目环境。

gradle-wrapper.properties 配置

java 复制代码
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.7-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

settings.gradle 配置

java 复制代码
pluginManagement {
    repositories {
        maven{ url 'https://maven.aliyun.com/repository/google'} //修改
        maven{ url 'https://maven.aliyun.com/repository/gradle-plugin'} //修改
        maven{ url 'https://maven.aliyun.com/repository/public'} //修改
        maven{ url 'https://maven.aliyun.com/repository/jcenter'} //修改
        maven { url 'https://www.jitpack.io' }
        google()
        mavenCentral()
        gradlePluginPortal()
    }
}
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        maven{ url 'https://maven.aliyun.com/repository/google'} //修改
        maven{ url 'https://maven.aliyun.com/repository/gradle-plugin'} //修改
        maven{ url 'https://maven.aliyun.com/repository/public'} //修改
        maven{ url 'https://maven.aliyun.com/repository/jcenter'} //修改
        maven { url 'https://www.jitpack.io' }
        google()
        mavenCentral()
        gradlePluginPortal()
    }
}
rootProject.name = "xxxx"
include ':app'
include ':baselib'
include ':blelibrary'

项目build.gradle 配置

java 复制代码
plugins {
    alias(libs.plugins.androidApplication) apply false
    alias(libs.plugins.jetbrainsKotlinAndroid) apply false
}

app build.gradle 插件配置

java 复制代码
plugins {
    alias(libs.plugins.androidApplication)
    alias(libs.plugins.jetbrainsKotlinAndroid)
}
相关推荐
百锦再17 分钟前
安卓无障碍脚本开发全教程
android·手机·脚本·开发·mobile·phone·无障碍
花花鱼2 小时前
android studio 开启无线调试
android·android studio
stevenzqzq3 小时前
android RecyclerView列表DiffCallback说明
android
TeleostNaCl3 小时前
Android 直接通过 app_process 启动的应用如何使用 Context
android·经验分享
努力学习的小廉6 小时前
深入了解linux系统—— 操作系统的路径缓冲与链接机制
android·linux·服务器
清霜之辰6 小时前
安卓开发用到的设计模式(2)结构型模式
android·设计模式·结构型设计模式
sg_knight6 小时前
Flutter跨平台通信实战|3步打通Android原生能力,实现底层API调用!
android·前端·javascript·flutter·跨平台·web·双向通信
白嫖不白嫖6 小时前
MySQL 8.0 和 5.7 快速生成测试数据
android·数据库·mysql
每次的天空8 小时前
Android-OkHttp与Retrofit学习总结
android·okhttp·retrofit
tmacfrank10 小时前
Android 网络全栈攻略(四)—— 从 OkHttp 拦截器来看 HTTP 协议一
android·网络·okhttp