| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> android将Gradle从3.x升级到7.x的过程 -> 正文阅读 |
|
[移动开发]android将Gradle从3.x升级到7.x的过程 |
这些天为了在老的项目上使用Compose,于是将Gradle从3.3.3 升级到了7.0.4,其中经历了百来个Error的折磨,一点一点的解决后,终于成功run起了项目,将踩过的坑分享出来,以便同样需求的人参考。 1:依赖方式的改变: buildscript或者allProjects,老的项目依赖了许多的jecenter仓库与maven仓库,在gradle升级后,很多时候会爆仓库不安全错误,其中有LIKE(HTTPS)字样,需要将地址从http改为https,例如: maven { url "http://jitpack.io" } --> maven { url "https://jitpack.io" } 而有些仓库地址 只有http的版本时,需要添加allowInsecureProtocol去绕过检测,如: maven { allowInsecureProtocol(true) url "http://mvn.mob.com/android" } 2:compileSdkVersion与targetSdkVersion版本改变 这个根据error提示,改成需求的队友版本即可,不过参与编译的只有compileSdkVersion,所以根据实际情况来就可以了,注意去sdkmanager中下载需要的版本 3:一些语法上的更改 compile改为implementation或者api,implementation可以认为private,只允许当前model使用的依赖,api是public,别的model依赖当前包后,如果当前包依赖申明为api,则后者默认也依赖了这个包(有些扰,简而言之,implementation依赖的包体只能在当前model使用,api依赖的包体,可以当这个model被依赖时,被使用)。 apply plugin ‘xxx’ 更改为 plugins{ id 'xxx' id'xxx'}方式 4:当找不到sdk依赖时 有一些厂家,当gradle升级后,你在他的仓库里找不到依赖路径的包(例如阿里百川),而你出于各种考虑并不想去升级这一部分的sdk,且他的仓库已关闭,你获取不到老版本的sdk,这时你可以尝试下我的思路-> ?????????(1):运行老版本工程,sync工程,获得申明的各种sdk ? ? ? ? ?(2):在gradle缓存中,找到对应包名的aar或者jar,将其移动至升级工程中,然后以本地化依赖的方式进行,gradle缓存地址,以mac为例在.gradle/caches/modules-2/file-2.1中,其中 .gradle为隐藏文件,command+shift+. 这个组合按键可显示出,然后根据aar对应的包名去寻找对应的aar包体,例如: ???????? ?以上能解决大部分sdk找不到的问题 5:gradle.properties中有一些以前的配置不再需要,可进行删除,例如: com.android.build.gradle.overridePathCheck=true android.enableD8.desugaring=false 6: gradleJDK依赖版本,通常都会从 1.8 改为11,如下-> ? ? 7:一些其他的问题: 可能会存在一些其他的sdk包体编译报错或者运行报错的问题,这时一般error信息会比较清晰的展示出来,例如github上面的sdk错误,很多时候在其仓库的issues中都会存在,找到并修复就好, 还有一些硬性的plugin找不到的,这时基本只能去其官网或者仓库,升级到新版本再编译。 总结:升级不易,且行且珍惜(坑太多了)? |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 19:35:13- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |