Android 開源項目維護了一個公共的 issue 跟蹤管理,在這里你可以報告 bugs 并給核心 Android 軟件請求功能(可以到 Reporting Bugs 頁面查看 issure 跟蹤器的詳細信息)。提交 Bugs 是一件很棒的事情(謝謝?。?,但是當(dāng)你提交完之后會發(fā)生什么呢?這個頁面就是描述 Bug 的生命周期。
請注意:Android 開源項目(AOSP)issue 跟蹤器僅僅是針對 bugs 和與請求核心軟件相關(guān)的功能,同時,它也是開源社區(qū)的一個技術(shù)工具。
這不是一個客戶支持論壇。你可以在 Google 的 Nexus 幫助頁面 得到 Nexus 設(shè)備的支持信息。其他設(shè)備的話,可以找設(shè)備廠商或者設(shè)備銷售者。
尋找 Google 應(yīng)用的幫助可以到 Google 的支持頁面。第三方應(yīng)用的幫助可以找這個應(yīng)用的開發(fā)者,比如,通過 Google Play 提供的聯(lián)系方式。
下面是 bug 的生命周期,簡短的概括:
bug 被提出后,就會在 New 狀態(tài)。
AOSP 的維護者定期檢查并且將 bug 分類。Bugs 將被分為四個“buckets” 中的其中一個:New,Open,No-Action,和 Resolved。
每一個 bucket 都會包括一些狀態(tài)用來提供 issue 生命期的更多信息。
這里是每個 bucket 的一些額外的信息,它意味著什么,以及它是怎么處理的。
New 狀態(tài)的 issue 包括了沒有采取行動的 bug 的報告。這兩個狀態(tài)是:
New:這個 bug 報告還沒有被分類(就是還沒有被 AOSP 維護者檢查)。
這個狀態(tài)的 bugs 包括需要采取行動的,但仍未解決,在等待修改的源碼。
未分配:這個 bug 報告已經(jīng)被認為是一個有充分詳情的正當(dāng)?shù)?issue 報告,但是它還沒有被分配給 AOSP 奉獻者解決。
通常情況下,一個給定的 bug 開始是未分配狀態(tài)的,直到有人打算解決它,此時它就會變成分配狀態(tài)。然而,請注意這并不是絕對的,一個 bug 從未分配狀態(tài)到解決狀態(tài)也不奇怪。
一般而言,如果這個 bug 是 Open 狀態(tài)的其中一種,AOSP 團隊已經(jīng)認為它是一個合理的 issue,并且這個 bug 將會接受到高質(zhì)量的奉獻修復(fù)。但是,不能保證及時修復(fù)到任何特定的發(fā)布版本中。
這個狀態(tài)下的 bugs 因為這樣或那樣的原因決定不在采取任何行動。
Spam:一些好心的人提供的不錯的建議,但是很遺憾,這個不是我們需要的。
Duplicate:issue 跟蹤器中已經(jīng)有一個相同的問題了。任何目前的操作都會更新在那個報告中。
Unreproducible:一個 AOSP 奉獻者試圖重現(xiàn)所描述的行為,但是沒有重現(xiàn)出來。這個有時意味著 bug 雖然合理但是不常見或者很難重現(xiàn),有時意味著這個 bug 已經(jīng)在之后的版本中修復(fù)了。
Obsolete:和 Unreproducible 狀態(tài)相似,但是合理確定的是這個 bug 在提交的那個版本中存在,但已經(jīng)在之后的版本中解決了。
WorkingAsIntended:AOSP 維護者已經(jīng)確定描述的行為不是 bug,但是是一個期望的行為。這種狀態(tài)通常也被稱為 WAI。
Declined:這個像 WorkingAsIntended 一樣,除了 WorkingAsIntended 通常是功能請求,不是 bugs。這個意味著 AOSP 維護者決定這個請求不在 Android 中實現(xiàn)。
NotEnoughInformation:這個報告沒有足夠的信息讓維護者采取行動。
UserError:這個報告結(jié)果是用戶使用 Android 的時候自己造成了錯誤。例如,輸入錯誤的密碼導(dǎo)致無法正常連接服務(wù)器。
WrongForum:AOSP 無法處理個錯誤,通常來說是因為這個 bug 是定制的設(shè)備或者外部的應(yīng)用程序?qū)е碌摹?/p>
這個狀態(tài)的 bug 包括已經(jīng)采取行動的,并且現(xiàn)在被認為是解決了的。
Released:這個 bug 已經(jīng)修復(fù)了并且發(fā)布在正式的版本中。在設(shè)置這個狀態(tài)的同時,我們也會盡力發(fā)布一個適當(dāng)?shù)恼f明表示這個 bug 是在哪個版本中解決的。
上面提到的狀態(tài)和生命周期是我們通常跟蹤軟件的方式。然而,Android 包含了很多軟件,相應(yīng)的得到大量的 bugs。因此,一些 bugs 并沒有經(jīng)過正常流程中的所有的狀態(tài)。我們會盡力讓系統(tǒng)保持更新,但是我們傾向于周期性的進行 bug 清理,同時檢查數(shù)據(jù)庫并更新。