Now in Android #87 带你了解近期 Android 的一些新变化

本期内容主要变化为Android Studio Giraffe、Android 14 Beta 4、Kotlin 1.9.0等,资料部分主要是Android Worldwide、The AOSP and AAOS Meetup两个会议的议题分享

什么是 Now in Android ?

Now in Android 是 Android 官方持续更新的一份指南,以便于开发者了解 Android 开发领域的最新动态和值得关注的内容。

可能由于语言等各方面原因,导致这份指南在国内开发者中很少被知晓,同时还有一些优秀的资料存在"滞后性",为了打破这一信息差,我将会跟随 Now in Android 的更新,翻译整理形成一个系列。

该系列将以每一期 Now in Android 为大纲,结合同一段时间内 Youtube、 Medium、Android Developers Blog 等多方面内容,汇总 Android、Kotlin、Gradle 等最新动态。文章内容主要分为两个部分,一点变化 可以看作是关于 Android 生态链的一份 CHANGELOG,它也正像 CHANGELOG 那样,仅仅把一些重要的变化列举出来,这部分内容推荐大家"浅尝辄止",对变化做到心中有数,以保持自己知识的"新鲜度",碰见问题时也知道查找的方向。一点资料会收集演讲、文章、播客等表现形式,大多是分享者的经验总结以及 Android 官方的最佳实践。

Now in Android #87,本期内容有不重合内容,推荐互相补充查看。

一点变化

Android Studio Giraffe 🦒 发布

Android Studio 的新 UI(预览版)

由于 Android Studio 将 IntelliJ Platform 升级到 2022.3, 同时也引入了 IntelliJ IDE 的新UI,新 UI 表现如下所示。

composables 修改后实时更新 (Live Edit)

您现在可以编辑 composables 并立刻在正在运行的设备上看到更改,而不用重新部署应用,这减少了编写代码和构建应用程序之间的上下文切换。 有关Live Edit 的实现原理请查看 《 [译] 深入探究 Jetpack Compose UI的实时编辑(Live Edit)

Gradle 构建脚本中的 Kotlin DSL

在今年4月13日,GradleKoltinAndroid联合宣布,Kotlin DSL 是 Gradle 构建脚本的默认语言,这意味着新建项目的默认构建脚本从 Groovy DSL 切换到了 Kotlin DSL。 在 Android Studio Giraffe中,创建新项目或模块,现在默认获得 Kotlin DSL。Android Studio 还添加了基于 Toml 的 Gradle Version Catalogs 的支持,这样可以统一管理依赖项版本,并获得编辑器提示等好处。

更多特性

Android 14 Beta 4 已发布 🤖

7 月 11 日,Android 发布了即将发布的 Android 14 操作系统的第 4 个 Beta 版本!Beta 4 也是 Android 14 的第二个平台稳定版,这意味着开发者 API 和所有面向应用的行为都是最终版本不会再变更。

现在是完成兼容性测试并发布任何必要的更新的最佳时间,这可以确保在今年晚些时候 Android 14 最终版本发布之前提供流畅的应用体验。

你可以使用上一章节的 Android SDK 升级助手来帮助你进行升级。

更多信息,请查看官方博客 Android 14 Beta 4

Google Play更新政策 🛡️

为了增强 Google Play 上的信任和透明度,Google Play增加了下面的条款

扩大开发者验证信息

现在Google Play要求验证开发者的更多信息,并且会在应用的商品详情页分享更多的开发者的详细信息来让用户放心。

组织需要提供 DUNS(邓白氏) 编号

当你为组织创建新的 Google Play 开发者帐号时,您现在需要提供 DUNS 号码。DUNS 号码由 Dun & Bradstreet 分配,是唯一的九位数字标识符,广泛用于验证企业。

更多

有关政策的发布时间以及影响,请查看 Play Console RequirementsNew policy update to boost trust and transparency on Google Play了解更多详情。

Kotlin 1.9.0 发布

下面是这次更新的一些亮点功能:

  • 新的Kotlin K2编译器更新:
  • 枚举类型的 entries 属性现在是稳定状态。entries 在1.8.20作为实验性功能引入,是 values() 的高性能的替代品。
  • ..<运算符现在是稳定状态,可以替代until消除它包含上限的歧义
  • 通过名称获取正则表达式捕获组的新通用函数
  • 用于创建父目录的新路径实用函数
  • Kotlin Multiplatform 中的 Gradle 配置缓存预览
  • Kotlin Multiplatform 中对 Android 目标支持的更改,Android 将和 Kotlin Multiplatform 合作,提供官方的Gradle插件以支持 Kotlin Multiplatform 生成 Android 产物,所以 Kotlin 将 android 更改为androidTarget为 Google 释放 DSL 命名空间
  • Kotlin/Native 中自定义内存分配器的预览、
  • Kotlin/Native 中的库链接
  • Kotlin/Wasm 中的大小相关优化

有关更改的详细信息,和更多的最新变化,请参阅 What's new in Kotlin 1.9.0

AndroidX 发布 🚀

Compose Compiler 1.5.0 发布,最大的特性是带来了 K2编译器 实验性支持。发布日志请看 Compose Compiler

一点资料

以下资料大多需要一点技巧才能访问

Android 开发

标题 类型 描述
深入探究 Jetpack Compose UI的实时编辑(Live Edit) 文章 带你理解Android Studio Live Eidt背后的实现
In depth on Compose Performance 🎙️ 播客 采访Compose团队,了解Compose的性能
Kotlin Multiplatform. Make your Android App Cross-Platform 视频 使用Kotlin Multiplatform使您的应用具有跨平台特性
Building Managers Over 3rd Party SDKs for Easy Access 视频 构建SDK Manager减少模版代码,轻松迁移
Battle of the Titans: RxJava vs Kotlin Coroutines 视频 RxJava 和 Kotlin 协程对比
Unveiling the Unseen Threat: Demystifying Memory Leaks in Android 视频 探讨内存泄漏的原因、症状和后果,阐明它们如何逐渐降低用户体验并影响设备性能。
Six Things ViewBinding Teaches Us 视频 与大家分享在不同项目中进行视图绑定时学到的 6 个经验教训,并在演讲中讲述它内部是如何工作的,幕后使用了哪些原理,我们使用时会遇到哪些问题?
JetPack Compose Performance Tips & Tricks 视频 Compose性能优化相关
Designing Jetpack Compose architecture for Gradual Migration from Fragments at Turo 视频 分享如何在已有项目中,无缝从Fragment切换到Compose
Android Worldwide 更多主题 视频 -

Framework 开发

标题 Slide Video 描述
Binder RPC - AIDL for distributed systems 链接 链接 Google工程师分享的Binder IPC
Debugging AOSP using Android Studio - revisited 链接 链接 如何使用 Android Studio 调试 AOSP 经验分享

这里穿插一点小知识,在Android 13后如果你使用 userdebug 构建 AOSP,导入 Android Studio 后你会发现 attach to process 不会显示系统进程,这是因为这次提交导致的2217921: Reland "Don't enable jdwp by default on userdebug builds"",可以手动修改这里或者使用 eng 构建

最后

这一篇 Now in Android 的汇总就在这里结束啦,如果大家对该栏目有任何建议或者资料推荐,可以在评论区留言,希望这份资料对大家有帮助,我们下期再见。

如果对该系列感兴趣,请关注专栏,也可以关注我的公众号 "简绘Android" 接收即时的更新推送。

相关推荐
长亭外的少年6 小时前
Kotlin 编译失败问题及解决方案:从守护进程到 Gradle 配置
android·开发语言·kotlin
JIAY_WX6 小时前
kotlin
开发语言·kotlin
建群新人小猿9 小时前
会员等级经验问题
android·开发语言·前端·javascript·php
1024小神10 小时前
tauri2.0版本开发苹果ios和安卓android应用,环境搭建和最后编译为apk
android·ios·tauri
兰琛10 小时前
20241121 android中树结构列表(使用recyclerView实现)
android·gitee
Y多了个想法11 小时前
RK3568 android11 适配敦泰触摸屏 FocalTech-ft5526
android·rk3568·触摸屏·tp·敦泰·focaltech·ft5526
NotesChapter12 小时前
Android吸顶效果,并有着ViewPager左右切换
android
_祝你今天愉快13 小时前
分析android :The binary version of its metadata is 1.8.0, expected version is 1.5.
android
暮志未晚Webgl13 小时前
109. UE5 GAS RPG 实现检查点的存档功能
android·java·ue5
麦田里的守望者江13 小时前
KMP 中的 expect 和 actual 声明
android·ios·kotlin