安卓应用开发困境:Java 转向 Kotlin、官方库频繁更新等

资讯 » 新零售 2025-06-10

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)退出平台。



免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其内容真实性、完整性不作任何保证或承诺。由用户投稿,经过编辑审核收录,不代表头部财经观点和立场。
证券投资市场有风险,投资需谨慎!请勿添加文章的手机号码、公众号等信息,谨防上当受骗!如若本网有任何内容侵犯您的权益,请及时联系我们。