让Android为数十亿Android用户中的每一个用户良好运行是我们Android硬件制造商与您(我们的开发者社区)之间的协作过程。2月8日,Android发布了Android14的第一个开发者预览版,您在这些预览版中的反馈是让Android更好地服务于所有人的关键部分。Android14继续专注于提高开发人员的工作效率,同时增强性能、隐私、安全性和用户自定义。此预览只是一个开始,随着发布周期的推进,我们将分享更多内容。Android全年不断提供增强功能和新功能,您对Android14开发者预览版和季度平台发布(QPR)测试版计划的反馈在帮助Android不断改进方面发挥着关键作用。Android14开发者网站提供了有关预览版的更多信息,包括Pixel下载和发布时间表。我们期待听到您的想法,并提前感谢您一直以来的帮助,使Android成为每个人的平台。跨设备和外形工作Android14建立在Android12L和13中完成的工作之上,以支持平板电脑和可折叠外形。为了帮助您构建适应不同屏幕尺寸的应用程序,我们创建了窗口大小类、滑动窗格布局、活动嵌入、带约束的框等,所有这些都在JetpackCompose中受支持。对于每个版本,我们的目标是让您更轻松地在所有Android平台上优化您的应用程序。为了帮助简化应用程序准备工作,我们更新了适用于大屏幕的应用程序质量指南,并提供了有关构建适用于大屏幕和可折叠设备的更多学习机会。BigScreengallery包含经过验证的设计模式和设计灵感,围绕您的应用程序支持的市场,例如社交和通信、媒体、生产力、购物和阅读应用程序。多设备体验是Android未来的重要组成部分。您可以立即开始使用跨设备SDK预览版,让您能够构建丰富的体验,这些体验可以直观地跨不同的设备和外形规格工作,未来还会有更多。简化后台工作Android14继续致力于优化应用程序协同工作的方式,改善系统健康状况和电池寿命,并改善最终用户体验。更新和添加JobScheduler和前台服务以执行一些后台工作比必要的更复杂,例如在WiFi可用时下载大文件。我们正在为这项工作创建一个标准路径,以简化您的应用程序开发并可能改善用户体验。我们对前台服务的使用方式也更加自以为是,只为最高优先级的面向用户的任务保留它们,以便Android可以改善资源消耗和电池寿命。在Android14中,我们正在对现有的AndroidAPI(前台服务和JobScheduler)进行更改,包括为用户启动的数据传输添加新功能,并更新声明前台服务类型的要求。用户启动的数据传输作业将使管理用户启动的下载和上传变得更加容易,尤其是在需要限制它们时,例如仅在Wi-Fi上下载。声明对前台服务类型的要求允许您清楚地定义应用程序后台工作的意图,同时明确哪些用例适合前台服务。此外,GooglePlay将引入新政策以确保正确使用这些API,更多详细信息即将推出。优化广播我们对内部广播系统进行了多项优化,以提高电池寿命和响应速度。虽然大多数优化是Android内部的,不会影响您的应用程序,但我们调整了您的应用程序在缓存状态下接收上下文注册广播的方式。对上下文注册的接收者的广播可能会排队,并且在它脱离缓存状态之前不会传递给应用程序。此外,一旦应用程序脱离缓存状态,一些重复的上下文注册广播(例如BATTERY_CHANGED)可能会在交付前合并为一个最终广播。精确警报调用精确警报会显着影响设备的资源,例如电池寿命。因此在Android14中,新安装的针对Android13+(SDK33+)的非时钟或日历应用必须要求用户授予它们SCHEDULE_EXACT_ALARM特殊权限,然后才能设置确切的闹钟。应用程序可以将用户引导至设置页面以切换此权限,但我们鼓励您评估您的用例并尽可能选择更灵活的计划替代方案。针对Android13+(SDK33+)的时钟和日历应用依赖精确警报作为其核心应用工作流程的一部分,将能够改为声明USE_EXACT_ALARM正常权限(在安装时授予)。应用程序将无法通过清单中的此权限将其应用程序版本发布到Play商店,除非它们符合政策语言。定制我们将继续确保Android用户可以根据他们的个人需求定制他们的体验,包括增强的可访问性和国际化功能。具有非线性缩放的更大字体从Android14开始,用户将能够将字体放大最多200%。以前,Pixel设备上的最大字体大小比例为130%。为了缓解文字过大的问题,从Android14开始,系统自动应用非线性字体缩放曲线。这确保已经足够大的文本不会以与较小文本相同的速度增长。在Android14中,您应该使用“辅助功能”>“显示大小和文本”设置中的“字体大小”选项以最大字体大小测试您的应用UI。确保调整后的大文本大小设置反映在UI中,并且不会导致文本被截断。我们的文档有更多关于最佳实践的内容。Per-app语言首选项可以使用LocaleManager.setOverrideLocaleConfig动态更新应用程序的localeConfig,以自定义AndroidSettings中per-app语言列表中显示的语言集。这允许您自定义每个区域的语言列表、运行A/B实验,并在您的应用程序使用服务器端本地化推送时提供更新的语言环境。IME现在可以使用LocaleManager.getApplicationLocales来学习当前应用程序的UI语言以更新键盘语言。GrammaticalInfectionAPIGrammaticalInfectionAPI允许您更轻松地添加对具有语法性别的语言用户的支持。例如,男性:“您订阅了...”女性:“您订阅了...”中性:“订阅了...已启用”语法性别是语言固有的,在某些非英语语言中不容易解决。与ICU中的SelectFormat相比,这个新的API减少了支持观众性别(谁在看UI;而不是谁在谈论它)的工作,后者必须在每个字符串的基础上应用。要显示个性化翻译,您只需为受影响语言的每个语法性别添加变形翻译并集成API。针对Android14的隐私和安全运行时接收器应用程序必须指明是否应将动态Context.registerReceiver()的使用视为“已导出”或“未导出”,这是之前版本清单级工作的延续。更安全的隐式意图为了防止恶意应用程序拦截意图,针对Android14的应用程序被限制在内部发送带有未指定包的意图。更安全的动态代码加载动态代码加载(DCL)为恶意软件和漏洞利用引入了出口,因为动态下载的可执行文件可能会被意外操纵,从而导致代码注入。针对Android14的应用需要将动态加载的文件标记为只读。反安装应用程序恶意软件通常以较旧的API级别为目标,以绕过较新Android版本中引入的安全和隐私保护。为了防止这种情况,从Android14开始,targetSdkVersion低于23的应用将无法安装。选择这个特定版本是因为一些恶意软件应用程序使用targetSdkVersion22来避免受到2015年引入的Android6.0(API级别23)运行时权限模型的约束。在升级到Android14的设备上,targetSdkVersion低于23的任何应用都将保持安装状态。可以使用以下ADB命令测试针对旧API级别的应用程序:adbinstall--bypass-low-target-sdk-blockfilename.apkCredentialManager和密钥支持我们最近发布了CredentialManager的alpha版本,这是一个新的JetpackAPI可让您简化用户的身份验证过程,同时还通过对密钥的支持提高安全性。密钥是密码和其他可钓鱼身份验证因素的更安全替代方案,并且对用户来说更方便(他们只需要生物识别刷卡即可安全登录任何设备)。应用程序兼容性我们正在努力通过优先考虑应用程序兼容性来更快、更流畅地更新每个平台版本。在Android14中,我们对大多数面向应用的更改进行了选择加入,以便您有更多时间进行任何必要的应用更改,并且我们更新了我们的工具和流程,以帮助您更快地做好准备。OpenJDK17支持-此预览包括对300个OpenJDK17类的访问。我们正在努力在即将推出的开发人员预览版中完全启用Java17语言功能。这些包括记录类、多行字符串和模式匹配instanceof。感谢GooglePlaySystemUpdate(ProjectMainline),超过6亿台设备能够收到包含这些更改的最新AndroidRuntime(ART)更新。这是我们承诺的一部分,即为跨设备的应用程序提供更加一致和安全的环境,并为用户提供独立于平台版本的新特性和功能。更轻松地测试和调试更改-为了让您更轻松地测试可能影响您的应用程序的选择加入更改,我们今年再次将其中的许多更改设为可切换。您可以从开发人员选项或通过切换单独启用或禁用对adb的更改。应用程序兼容性在开发人员选项中切换平台稳定性里程碑-与去年一样,我们提前让您了解我们的平台稳定性里程碑,以便您有更多时间计划您的应用程序兼容性工作。在这个里程碑,我们将提供最终的SDK/NDKAPI以及最终的内部API和面向应用程序的系统行为。我们预计在2023年6月达到平台稳定性,从那时起您将有几周的时间在正式发布之前进行最终测试。Android14开发者预览版入门包含试用Android14功能、测试您的应用以及向我们提供反馈所需的一切。要使用平板电脑和可折叠设备测试您的应用程序,最简单的入门方法是在AndroidStudioSDK管理器的最新预览中的平板电脑或可折叠配置中使用AndroidEmulator。对于手机,您可以立即开始在Pixel7Pro、Pixel7、Pixel6a、Pixel6Pro、Pixel6、Pixel5a5G、Pixel5或Pixel4a(5G)设备上使用系统映像。如果您没有Pixel设备,则可以在AndroidStudio中将64位系统映像与AndroidEmulator结合使用。为了获得Android14的最佳开发体验,我们建议使用最新的AndroidStudioGiraffe预览版(或更新的Giraffe+版本)。设置完成后,您应该:?试用新功能和API-在开发人员预览的早期阶段,您的反馈至关重要。在反馈页面上报告我们跟踪器中的问题。?测试您当前应用的兼容性——了解您的应用是否受到Android14中默认行为更改的影响;在运行Android14的设备或模拟器上安装您的应用并对其进行广泛测试。?使用选择加入更改测试您的应用程序-Android14有一个选择加入行为更改,只有当它以新平台为目标时,它才会影响您的应用程序。尽早了解和评估这些变化非常重要。为了更容易测试,您可以单独打开和关闭更改。我们将在整个Android14发布周期中定期更新预览系统映像和SDK。此初始预览版仅供开发人员使用,不适合日常或消费者使用,因此我们仅提供手动下载。手动安装预览版后,您将通过无线方式自动获得所有未来预览版和Beta版的更新。在这里阅读更多。如果您打算从Android13QPRBeta计划转移到Android14DeveloperPreview计划并且不想擦除您的设备,我们建议您现在转移到DeveloperPreview1。否则,您可能会遇到Android13Beta的构建日期更新的时期,这会阻止您在不执行数据擦除的情况下直接进入Android14DeveloperPreview。当我们发布测试版时,我们还将邀请消费者试用Android14,届时我们将开放AndroidBeta计划的注册。目前,请注意AndroidBeta计划尚不适用于Android14。发布者:工程副总裁DaveBurke来源:https://android-developers.googleblog.com/2023/02/first-developer-preview-android14.html
