谷歌安卓应用开发困境:Java 转向 Kotlin、官方库频繁更新带来“破坏性变更”等

发布时间:2025-06-10 15:27:10 来源:互联网

感谢本站网友 Coje_He 的线索投递!

本站 6 月 10 日消息,科技媒体 devclass 今天(6 月 10 日)发布博文,从软件工程师 Ashish Bhatia 视角为切入点,一窥目前开发安卓应用的困境。该媒体称 Bhatia 遇到的问题并非个例,而是代表性问题,是安卓应用开发所面临挑战的一个缩影。

本站简要介绍下 Bhatia,他是一位经验丰富的软件工程师,曾参与 Google 的 Android 安全项目,目前开发一款名为 MusicSync 的媒体应用。

这款应用使用 Java 编写,但随着谷歌将 Kotlin 设为首选开发语言,Java 开发者面临困境。Bhatia 指出,在 Java 中,完全无法使用谷歌官方 UI 库 Jetpack Compose,而依赖库从 Java 迁移到 Kotlin方面,常常需要复杂的解决方法,Kotlin 的协程和挂起函数更是带来了兼容性问题。

此外,安卓官方库的更新频繁带来“破坏性变更”,例如媒体库 ExoPlayer 在 2024 年升级为 ExoPlayer v2,随后又被 Jetpack Media3 取代,每次更新都可能导致应用崩溃。

安卓系统的每次大版本更新都会引入新的“破坏性变更”,尤其是在通知、存储权限和后台代码执行等方面,开发者必须不断调整代码以适应新规。

Bhatia 还提到,UI 设计指南的频繁变动令人头痛,Material 2 被 Material 3 取代,大部分文档只针对 Kotlin,缺乏清晰的 Java 迁移指南。

更糟糕的是,第三方库也常被弃用或停止维护,进一步加重开发负担。开发者无法仅开发一款应用后置之不理,必须持续投入精力更新,否则应用可能因 minSdkVersion 过旧而被 Google Play 商店下架。

Bhatia 的观点引发了广泛共鸣。一位开发者表示,维护应用是“巨大的负担”,每隔几个月就必须更新以符合新政策,包括税务信息、隐私政策和强制性 API 调整等。

另一位开发者提到,他从 2012 年起维护一款应用,在 Google Play 商店发布了 108 个版本,深感疲惫。

此外,谷歌对新应用使用 App Bundles 的要求也引发争议,开发者需将根签名密钥交给谷歌,存在应用被未经授权修改的风险。尽管有“代码透明性”功能作为缓解措施,但许多开发者仍对此表示担忧。

这种开发环境的摩擦显著增加了商业应用的主导地位,因为只有它们有足够的收入支撑开发成本,免费开源或个人爱好者的应用则更容易被放弃。

一位开发者无奈表示:“开发应用本身很简单,但应用商店的官僚作风让人完全不想继续,除非你是大公司。”

另一位开源 SSH 文件传输应用的开发者也指出,Google 的苛刻要求和商业化导向迫使许多优质免费应用(如 Termux)退出平台。

本周热门教程

1
又大又长又租又大的房子是什么歌?揭秘背后含义与文化背景

又大又长又租又大的房子是什么歌?揭秘背后含义与文化背景

2025/03/14

2
如何利用免费网站在线观看第一集吸引更多用户观看:免费策略和观众需求分析

如何利用免费网站在线观看第一集吸引更多用户观看:免费策略和观众需求分析

2025/03/04

3
哪些日本水蜜桃身体乳正品值得购买?资生堂、肌研、DHC哪个更适合你?

哪些日本水蜜桃身体乳正品值得购买?资生堂、肌研、DHC哪个更适合你?

2025/03/02

4
为什么《妈妈让我戴上避孕套》歌词引发热议?:探讨性教育与家庭责任的冲突

为什么《妈妈让我戴上避孕套》歌词引发热议?:探讨性教育与家庭责任的冲突

2025/03/05

5
男生和女生在一起打扑克牌是什么意思

男生和女生在一起打扑克牌是什么意思

2025/02/19

6
如何利用www.crm.6com提高企业销售效率与客户满意度:智能化与定制化功能的双重优势

如何利用www.crm.6com提高企业销售效率与客户满意度:智能化与定制化功能的双重优势

2025/02/19

7
赶尸道士与女僵尸的终极对决:他们的恐怖传说是否真实存在?

赶尸道士与女僵尸的终极对决:他们的恐怖传说是否真实存在?

2025/03/12

8
半推半就的关系:小三如何上位的背后心理与策略解析

半推半就的关系:小三如何上位的背后心理与策略解析

2025/03/14

9
原因揭秘:扌喿辶畐现象背后的深度分析与解决方法

原因揭秘:扌喿辶畐现象背后的深度分析与解决方法

2025/03/14

10
如何与女朋友的妈妈建立良好的关系,成为未来家庭的一部分

如何与女朋友的妈妈建立良好的关系,成为未来家庭的一部分

2025/03/17