簡體   English   中英

運行Android單元測試后,如何從模擬器中自動卸載應用程序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM