论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
软件与程序人生
›
移动端开发
›
Android 高版本 androidx 引发 D8 Cannot invoke “Stri ...
Android 高版本 androidx 引发 D8 Cannot invoke “String.length()“ beca ...
络腮胡菲菲
论坛元老
|
2025-1-16 13:57:01
|
显示全部楼层
|
阅读模式
楼主
主题
1016
|
帖子
1016
|
积分
3048
快速介绍一个 Andorid 升级适配的 Bug ,如果你近期升级某些库的时间,出现了无法编辑,提示类似 D8 Cannot invoke "String.length()" ,那么恭喜你,你遇到了 androidx 高版本的兼容 bug。
类似的 bug 会出现在一些高版本的 androidx 相关库文件中,如:
Failed to transform camera-extensions-1.4.0-alpha05.aar
Failed to transform lifecycle-livedata-core-2.8.0.aar
Failed to transform appcompat-resources-1.7.0.aar
···
如果升级的库包含以上 package 都大概触发 R8/D8 的 bug,因为 androidX 之前已经开始升级到了 JDK 21,其中有些已经包含,但在旧版 AGP 中没有正确处理惩罚。
办理办法之一是升级到 AGP 8.3+ 之后,因为题目在 8.3.3-dev 里修复了题目,修复作为 AGP 8.3 的一部分,对于 AGP 8.1 和 8.0 它也向后移植支持,对应版本是 8.1.44 和 8.0.46
,办理的 fix 也很简单,就是针对 Null 情况做了适配。
也就是单纯升级某个 8.0 版本并不能办理题目,另外貌似 AGP 8.2.7 也有修复题目。
固然,这个 fix 没有移植到 AGP 7.4 的 D8/R8 ,但是如果你真的必要,理论上应该能够将 D8/R8 的 8.0.44 或 8.1.44 与 AGP 7.4 联合利用,利用特定的 D8/R8 版本,可以将以下代码合并到 settings.gradle 或 settings.gradle.kts :
pluginManagement {
buildscript {
repositories {
mavenCentral()
maven {
url = uri("https://storage.googleapis.com/r8-releases/raw")
}
}
dependencies {
classpath("com.android.tools:r8:8.1.44")
}
}
}
复制代码
不得不说,这种题目的修复很简单,但是波及层面还是挺广的, Cannot invoke "String.length()" because "<parameter1>" is null 这样的题目也很让人摸不着头脑,这些年 Kotlin 和 AGP 的发展变革还挺大的,造成的版本兼容题目也是一言难尽,只能说老项目能不动就不动,因为某些第三方库升级依靠的时间,大概真的没有考虑那么多。
比如 Flutter 的某插件,升级后就因为无端端升级 appcompat 到 1.7 导致无法编译的 bug,最终只能告急发布一个降级依靠的 hotfix 。
参考资料:
https://bugs.openjdk.org/browse/JDK-8308450
https://issuetracker.google.com/issues/336164417
https://issuetracker.google.com/issues/342522142
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
络腮胡菲菲
论坛元老
这个人很懒什么都没写!
楼主热帖
论销售、售前的互助与博弈
C++读写文件
B站狂神Docker学习笔记
Python:灵活的开发环境
微信分享iOS Universal Link配置说明 ...
SPSS计算极值、平均值、中位数、方差、 ...
AAA
.NET WebAPI 使用 GroupName 对 Contro ...
视图
UWP/WinUI3 PixelShaderEffect 实现Thr ...
标签云
运维
CIO
存储
服务器
浏览过的版块
云原生
快速回复
返回顶部
返回列表