2012-02-12 21 views
1

最近,我們發佈了一個應用程序。在我們發佈之前,我們在三星Nexus S,三星Galaxy S和三星Galaxy Tab上進行了測試。你如何調試邊緣案例發生在自定義ROM(如CM7)

然而,最近,我們意識到我們的應用程序無法檢測的前置攝像頭,爲用戶誰正在運行HTC EVO 4G氰7

我想知道,你們怎麼開始對這種邊緣的情況下進行調試,不購買新硬件?

回答

2

平臺碎片的悲歡離合,特別是在定製固件方面。簡短的答案?你不能測試所有的邊緣情況,你肯定不會發現CM衍生的缺陷。這是野獸的本質。即使CM基線的獨立分支也會做自己的事情,這些事情可能會完全破壞某些東西(例如前置攝像頭)或使其他工作(例如CPU休眠)。我的意思是,想一想:定製固件是定義定製。我可以 - 並且做到! - 我自己的CM7分支,我可以在世界上做任何事情。我可以讓它完全忽略ldpi資源,並始終採用hdpi,而不考慮點距或其他任何內容。而且,更重要的是,我可以徹底搞砸它。除非你運行我的分支,否則你不會看到這種行爲。

您可以做的最好的事情就是爲最大的平臺(針對API等級7目前的網絡佔據整個市場的99%)開發程序,然後等待邊緣案例進行報告並儘快處理。根據您的支出資源購買可覆蓋絕大多數平臺的設備。選擇beta測試人員以接收早期版本的深奧設備或固件。

然後保持你的手指交叉:)。

+1

而且,對於股票固件在設備上工作但修改過的ROM不工作的情況,請將錯誤報告給MOD維護人員。例如,如果EVO 4G的原始ROM可以正常工作(基於通過DeviceAnywhere風格的服務進行測試,或者基於分析顯示出大量EVO 4G用戶並且沒有其他崩潰),那麼CyanogenMod 7可能會出現問題。 – CommonsWare 2012-02-12 13:39:30

+0

這就是喜悅和悲傷。但是,大多數時候,客戶只是不明白,並會把責任歸咎於我們:) – 2012-02-12 16:02:40

+0

相當真實。我也意識到你問了如何在這些硬件平臺上調試邊緣案例,而不僅僅是提前趕上它們。這是一個不同的蠕蟲罐。除非您可以找到願意擁有者,否則如果它是基於自定義固件的,您必須購買該設備,或者至少在庫存中具有可比較的設備,以便您輕鬆地進行閃存。這取決於問題的性質。不管給定的代碼檢查和堆棧跟蹤如何,通常都會發現崩潰。沒有實際的硬件,像找不到相機這樣的東西有點麻煩:|。 – 2012-02-12 16:33:10