本期内容主要变化为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日,Gradle、Koltin、Android联合宣布,Kotlin DSL 是 Gradle 构建脚本的默认语言,这意味着新建项目的默认构建脚本从 Groovy DSL 切换到了 Kotlin DSL。 在 Android Studio Giraffe中,创建新项目或模块,现在默认获得 Kotlin DSL。Android Studio 还添加了基于 Toml 的 Gradle Version Catalogs 的支持,这样可以统一管理依赖项版本,并获得编辑器提示等好处。
更多特性
- 新的诊断和错误报告工具
- 新的 Device Explorer
- Compose 动画预览扩展
- Android SDK 升级助手
- Gradle 同步信息面板
- 更多的更新特性请查阅官方博客 Android Studio Giraffe is stable 或者郭佬 Android Studio Giraffe 发布,快来看有什么更新吧
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 Requirements 和New 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" 接收即时的更新推送。