Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

错误的生命周期

Android 开放源代码项目提供了一个公开问题跟踪工具,您可以在其中就 Android 核心软件堆栈报告错误及请求功能。(要详细了解此问题跟踪工具,请参阅报告错误页面。) 报告错误意义重大(谢谢!),但在您提交错误报告后它们会经历些什么?本页将介绍错误的生命周期。

Android 开源项目 (AOSP) 问题跟踪器仅适用于与 Android 核心软件堆栈相关的错误和功能请求,是一款面向开源社区的技术工具。

它不是一个客户支持论坛。要获取支持信息,请参阅 NexusPixel 帮助中心。 对于其他设备,则由设备制造商或销售这些设备的运营商提供支持。

通过 Google 的支持网站,可以获得 Google 应用方面的支持。对于第三方应用,则由每个应用的开发者提供支持,例如,您可以通过 Google Play 上提供的联系信息与他们联系。

下面简要说明了错误的生命周期:

  1. 用户提交一个错误,该错误的状态将为“New”(新)。
  2. AOSP 维护人员定期审核错误并进行分类。错误将被划分为以下 4 个类别之一:“New”(新)、“Open”(待解决)、“No-Action”(无需处理)或“Resolved”(已解决)。
  3. 每个类别都包括多种状态,这些状态能够提供有关问题处理情况的更多详细信息。
  4. 标记为“已解决”的错误最终将在未来版本的 Android 软件中予以修复。

类别详细信息

我们使用问题跟踪器中的 Status(状态)字段来指定问题处于解决过程中的什么状态。这与问题跟踪器文档中指定的定义一致。

“新”问题

“新”问题包括尚未进行任何处理的错误报告,具有以下两种状态:

  • New(新):错误报告尚未被分类(即 AOSP 维护人员尚未审核。)
  • New + Hotlist:NeedsInfo(新 + Hotlist:需要信息):错误报告中的信息不充分,我们无法予以处理。报告错误的人员需要提供更多详细信息,然后我们才能对其进行分类。如果报告错误的人员在规定的时间内未提供新信息,相应错误默认可能会被关闭,变为“无需处理”类别下的某种状态。

“待解决”的问题

此类别包含需要处理但仍未解决的错误(正在等待我们对源代码进行更改)。

  • Assigned(已分配):错误报告已被认定为细节充分、问题有效,且相应错误已被分配给特定贡献者进行评估和分析。
  • Accepted(已接受):被指派的人员已确认并已着手解决相应问题。

通常情况下,错误一开始的状态为已分配且一直保持该状态,直到有人有意解决它,此时错误的状态会变为已接受。不过请注意,我们并不保证一定会是这样,而错误直接从已分配变为“已解决”类别下的某种状态也是很常见的。

一般来说,如果错误处于“待解决”类别下的某种状态,则表明 AOSP 团队已将其认定为有效问题,并且贡献者贡献的高质量修复方案很可能会被接受。不过,我们无法保证及时修复任何特定版本的错误。

“无需处理”的问题

此类别包含被视为不需要任何处理的错误。

  • Won't Fix (Not reproducible)(无法修复(不可重现)):AOSP 贡献者尝试重现所描述的行为,但无法做到。有时,这意味着错误虽然有效但不常见或难以重现,或因信息不充分而无法解决问题。
  • Won't Fix (Intended behavior)(无法修复(正常情况)):AOSP 维护人员已确定所描述的行为不是错误,而是正常情况。这种状态通常也称为“正常情况”(WAI)。如果是功能请求,则 AOSP 维护人员已确定在 Android 中将不会实现相应请求。
  • Won't Fix (Obsolete)(无法修复(过时)):由于产品有所变化,相应问题已无关紧要。
  • Won't Fix (Infeasible)(无法修复(不可行)):解决问题所需进行的更改不可能实现。该状态还用于表示报告的问题无法在 AOSP 中予以处理,通常是因为问题与定制设备或外部应用相关,或者报告者误认为此跟踪器是帮助论坛。
  • Duplicate(重复):问题跟踪器中已有相同的报告。如有任何实际处理措施,都将针对相同报告予以报告。

“已解决”的问题

此类别包含已被处理且现在被视为已解决的错误。

  • Fixed (verified)(已修复(已通过验证)):相应错误已被修复,且修复方案已被纳入到一个正式版本中。在设置此状态的同时,我们也会尝试设置一个属性,说明错误是在哪个版本中修复的。
  • Fixed(已修复):相应错误已经在源代码树中予以修复(或功能已经实现),但修复方案尚未被纳入到正式版本中。

其他事项

上述状态和生命周期是我们通常在尝试跟踪软件时采取的方式。 不过,由于 Android 包含大量软件,相应地也会收到大量错误报告。因此,有时候错误并没有经过正式流程中的所有状态。虽然我们会尽量确保系统保持最新状态,但我们倾向于定期进行“错误清除”- 在此过程中,我们会检查数据库并进行更新。