Gradle常见问题及总结

使用android studio开发项目,难免遇到gradle相关的错误,在此总结。

gradle插件与gradle home版本关系错误

参考更新 Gradle
插件版本	所需的最低 Gradle 版本

Gradle下载太慢

Index of /gradle/ (tencent.com) 是国内下载地址,手动下载对应版本即可

缓存不刷新

问题描述
maven发布了一个aar,本地gradle始终同步不下来
问题解决
找到 aar对应的xml配置,在这个目录下:根工程/.idea/libraries/Gradle_aaraname_aar.xml
删除以下文件
Build/clean project
Build/rebuild project
File/Sync Project with Gradle Files
File/invalate cache

Executionfailed forJetifyTransform:xx.jar

问题描述
在导入了一个jar包到Android工程中,遇到了如下错误: Executionfailed forJetifyTransform:xx.jar Failedto transform 'xx.jar'usingJetifier.Reason:3.

问题解决
查询原因是jar包在jetified转换失败了,如果当前的库不需要被jetified处理,不往AndroidX中迁移这个包,则可以将当前jar包剔除转换,方法是在gradle.properties文件中配置黑名单,如下:

android.nonTransitiveRClass=true
android.jetifier.blacklist = xx.jar

然后再重新同步gradle,重新构建,问题解决。

Failed to transform file ‘xxxxx.jar‘ to match attributes

问题描述
maven上的某aar自动更新,该aar使用了非android的aar,导致项目编译不过

问题解决

经排查是新建的项目的gradlew.properties文件中都是默认配置支持androidx:

android.useAndroidX=true
#Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true

第二句的注释意思是把第三方的libs都会自动转换成androidx,有些sdk未作这块的兼容适配,就会爆出上面的错误

只需将第二句改为false即可:

android.enableJetifier=false

Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.9.0, expected version is 1.6.0.

问题描述

.gradle/caches/modules-2/files-2.1/com.squareup.retrofit2/retrofit/2.11.0/6ca8c6caf842271f3232e075519fe04081ef7069/retrofit-2.11.0.jar!/META-INF/retrofit.kotlin_module: 

kotlin插件版本与gradle插件版本不匹配

问题解决

解决1:升级gradle home 版本
kotlin 1.6.0对应gradle home版本为6.8.3,gradle插件版本为4.2.2

 classpath 'com.android.tools.build:gradle:4.2.2'classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.0"classpath "org.jetbrains.kotlin:kotlin-android-extensions:1.9.0"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/14568.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jenkins插件之xunit

分析测试工具执行的结果,并图形化,比如phpunit,phpstan,可分析junit格式的结果 安装jenkins插件 搜索xunit并安装 项目配置 配置 - Build Steps 您的项目 - 配置 - Build Steps, 新增 Run with timeout 超时时间根据实际情况配置 Build…

Day38 贪心算法part05

LC435无重叠区间(未掌握) 思路:先对数组进行排序,找到非重叠的区间的个数,然后区间的总数减去非重叠区间的个数即是需要移除的区间的个数与LC452用最少数量的箭引爆气球类似,但是不同的是[1,2]和[2,3]在此题并不是重叠区间但是在…

oracle怎么处理json格式

向数据库导入json相关jar包 loadjava -r -f -u bsuser/XXXX192.168.10.31/bsorcl json.jar 要删除的话,删除指定jar dropjava -u bsuser/XXXX192.168.10.31/bsorcl json.jar select * from user_java_classes 然后我们就可以取到json串中任意节点的值

SpringBoot项目中redis序列化和反序列化LocalDateTime失败

实体类中包含了LocalDateTime 类型的属性,把实体类数据存入Redis后变成这样: 此时,存入redis不会报错,但是从redis获取的时候,会报错: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Ca…

Springboot项目打包:将依赖的jar包输出到指定目录

场景 公司要对springboot项目依赖的jar包进行升级,但是遇到一个问题,项目打包之后,没办法看到他里面依赖的jar包,版本到底是不是升上去了,没办法看到。 下面是项目打的jar包 我们通过反编译工具jdgui,来…

VUE3和VUE2

VUE3和VUE2 上一篇文章中,我们对VUE3进行了一个初步的认识了解,本篇文章我们来进一步学习一下,顺便看一下VUE2的写法VUE3是否能做到兼容😀。 一、新建组件 我们在components中新建一个组件,名称为Peron,…

缓存降级

当Redis缓存出现问题或者无法正常工作时,需要有一种应对措施,避免直接访问数据库而导致整个系统瘫痪。缓存降级就是这样一种机制。 主要的缓存降级策略包括: 本地缓存降级 当Redis缓存不可用时,可以先尝试使用本地进程内缓存,如Guava Cache或Caffeine等。这样可以减少对Redis…

阴影映射(线段树)

实时阴影是电子游戏中最为重要的画面效果之一。在计算机图形学中,通常使用阴影映射方法来实现实时阴影。 游戏开发部正在开发一款 2D 游戏,同时希望能够在 2D 游戏中模仿 3D 游戏的光影效果,请帮帮游戏开发部! 给定 x-y 平面上的…

再次学习History.scrollRestoration

再次学习History.scrollRestoration 之前在react.dev的源代码中了解到了这个HIstory的属性,当时写了一篇笔记来记录我对它的理解,现在看来还是一知半解。所以今天打算重新学习一下这个属性,主要从属性以及所属对象的介绍、使用方法&#xff0…

Linux信号:信号的保存

目录 一、信号在内核中的表示 二、sigset_t 2.1sigset_t的概念和意义 2.2信号集操作数 三、信号集操作数的使用 3.1sigprocmask 3.2sigpending 3.3sigemptyset 四、代码演示 一、信号在内核中的表示 实际执行信号的处理动作称为信号 递达(Delivery) 。 信号从产生到递达…

Mysql数据库——DML操作

目录 添加数据(INSERT) 修改数据(UPDATE) 删除数据(DELETE) 添加数据: (1). 给指定字段添加数据 (2). 给全部字段添加数据 (3). 批量添加数据 修改数据: 案例…

【STM32】HAL库点灯

【STM32】HAL库点灯 一、探究目标二、探究原理2.1 ST开发库2.1.1 直接配置寄存器2.1.2 标准外设库2.1.3 HAL库2.2 HAL开发2.2.1 环境配置2.2.2 时钟配置2.2.3 GPIO配置2.2.4 工程创建2.2.5 KEIL代码![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/bf1c95d5c6724a6a…

NextGen Mirth Connect XStream反序列化远程代码执行漏洞(CVE-2023-43208)

0x01 产品简介 NextGen Mirth Connect是是美国NextGen公司的一个医疗集成引擎,主要用于医疗领域的系统集成和数据交换,支持多种协议和标准。 0x02 漏洞概述 NextGen Mirth Connect 4.4.1之前版本存在远程代码执行漏洞,未经身份认证的攻击者可利用该漏洞远程执行代码。 0…

混合组网VS传统网络:智能硬件混合组网优劣势浅要解析

智能硬件混合组网是一种利用多种通信技术相结合的方法,以实现更灵活、更可靠的网络连接。通过蓝牙、Wi-Fi、LoRa、4G相互之间的不同通讯方式,根据应用场景的不同以及现场实际环境,优选最佳物联网混合组网方案,以达到部署最便捷性价…

一张SSL证书如何同时保护多个域名及其子域名?

在互联网时代,数据安全和隐私保护变得至关重要,而SSL证书作为确保网站安全的重要工具,其重要性不言而喻。本文将详细探讨一种特殊的SSL证书——多域名通配符SSL证书,它为网站管理员提供了一种高效、经济的方式来保护多个域名及其子…

MyBatis从入门到“入土“

💕喜欢的朋友可以关注一下,下次更新不迷路!💕(●◡●) 目录 一、Mybatis为何物?👌 二、快速入门🤣 1、新建项目😊 2、数据库建表😊 3、导入依赖的jar包😊…

Linux学习笔记6

TFTP 服务器搭建和测试 关于TFTP:TFTP(Trivial File Transfer Protocol,简单文件传输协议),是一个基于UDP 协议实现 的用于在客户机和服务器之间进行简单文件传输的协议,适合于开销不大、不复杂的应用场合 搭建服务器…

后量子密码的发展和应用

后量子算法,特别是后量子密码(PQC),是近年来密码学领域的一个热门话题。随着量子计算技术的快速发展,传统的公钥密码算法面临着被量子计算机破解的威胁。为了应对这一挑战,后量子密码应运而生,成为了一种能够抵抗量子计…

【论文笔记】| 蛋白质大模型ProLLaMA

【论文笔记】| 蛋白质大模型ProLLaMA ProLLaMA: A Protein Large Language Model for Multi-Task Protein Language Processing Peking University Theme: Domain Specific LLM Main work: 当前 ProLLM 的固有局限性:(i)缺乏自然…

Redis篇 在linux系统上安装Redis

安装Redis 在Ubuntu上安装Redis 在Ubuntu上安装Redis 在linux系统中,我们安装Redis,必须先使它有root权限. 那么在linux中,如何切换到root用户权限呢? sudo su 就可切换到用户权限了. 在切换到用户权限后,我们需要用一条命令来搜索Redis相关的软件包 apt search redis 会出现非…