1

我正在使用 Eclipse ADT 来测试一个 Android 应用程序。但是,在我执行一次测试套件后,模拟器将安装应用程序。我需要从模拟器中删除它,因为如果应用程序已经安装在模拟器上(由于一些存储的数据),下次测试将失败。

每次运行测试套件时,我都试图寻找一种方法来启动一个干净的模拟器,但到目前为止还没有运气。

有什么建议么?

谢谢。

顺便说一句,我正在使用 Robotium 包。

4

4 回答 4

1

快速解决方案:

adb -e uninstall your.test.package.name

更清洁的解决方案:

备份已知良好的userdata-qemu.img模拟器磁盘映像并在启动模拟器以进行新的测试运行之前将其恢复。

于 2013-05-16T18:10:16.063 回答
0

不,没有办法。但是有一个简单的方法可以卸载它:

  • 转到菜单,您可以在其中看到应用程序
  • 点击菜单按钮,点击“管理应用程序”
  • 点击您的应用
  • 它会询问您是否真的要卸载它
  • 单击“是”或“卸载”按钮。它将与所有数据一起被卸载。

希望这可以帮助。

于 2013-05-16T18:11:05.317 回答
0

如果您的数据在 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,只需覆盖文件。

于 2013-05-16T18:12:15.713 回答
0

如果应用程序数据是问题,您可以清除它而不是执行卸载。这个链接应该有帮助。

于 2013-05-16T18:18:15.487 回答