2012-06-11 51 views
0

即使在運行時也可以獲得乾淨的仿真器狀態嗎?我需要測試幾個應用程序,並在測試每個應用程序之前需要一個乾淨的狀態。我可以很容易地做到這一點與刪除所有創建的文件像userdata.imgcache.img但後來我需要重新啓動這需要我TestVM約2分鐘模擬器......運行時擦除仿真器數據

回答

0

所有應用程序修改文件的生活中是衆所周知的目錄,例如getFilesDir()。在啓動測試套件之前,簡單地刪除這些文件。

如果您不信任該方法,那麼您可以在安裝應用程序並運行測試套件之前卸載該應用程序。這不會擺脫外部存儲上的文件,但它會清除內部存儲空間,因此無論這個文件是否足以成爲您的「乾淨文件」,我都不能說。

如果這些(或他們的組合)不足,那麼你別無選擇,只能消滅並重新啓動模擬器。您始終可以購買更快的開發機器,或者查看以無頭模式運行模擬器是否會加速其啓動。

+0

問題是我測試的應用程序可以修改模擬器,甚至/系統文件內的任何東西。所以我需要一個真正的乾淨的狀態,這意味着在最好的情況下,我做我乾淨的模擬器的焦油,並提取它每次到.avd目錄。當然,我當然可以給我買更昂貴的機器,但爲此我需要一些錢;)一個正常的模擬器啓動時間<20秒,問題是我使用的是定製內核和自定義android,這就是爲什麼啓動時間很長 – reox

+0

@reox:「問題是我測試的應用程序可以修改模擬器中的任何內容,甚至是/系統文件。」然後,根據定義,你別無選擇,只能從頭開始恢復模擬器。 – CommonsWare

+0

因此,確實沒有辦法告訴qemu在運行時將分區上的當前文件集重置爲此狀態? – reox