[英]How can I automatically uninstall the app from the emulator after running the Android unit test
我正在使用Eclipse ADT測試Android應用程序。 但是,一次執行測試套件后,模擬器將安裝該應用程序。 我需要將其從模擬器中刪除,因為如果該應用程序已經安裝在模擬器上(由於存儲了一些數據),則下次測試將失敗。
每次運行測試套件時,我都試圖尋找一種方法來啟動一個干凈的模擬器,但是到目前為止還沒有運氣。
有什么建議么?
謝謝。
順便說一句,我正在使用Robotium軟件包。
快速解決方案:
adb -e uninstall your.test.package.name
清潔解決方案:
在啟動模擬器進行新的測試運行之前,請備份一個已知的良好的userdata-qemu.img
仿真器磁盤映像,並將其還原。
不,沒有辦法。 但是有一種簡單的方法可以卸載它:
希望這可以幫助。
如果您的數據在SQLite數據庫中,則可以將數據庫版本更改為比實際版本更高的版本。
private static final int DATABASE_VERSION = 2; //in the class that extends SQLiteOpenHelper
這將調用onUpgrade函數,您可以在其中刪除表並再次創建它們。
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//erase table
db.execSQL("DROP TABLE IF EXISTS " + MY_TABLE);
//create again
onCreate(db);
}
如果您不使用SQLite,則只需覆蓋文件即可。
如果應用程序數據有問題,您可以清除它而不是執行卸載。 該鏈接應該有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.