如题,请教:在 UiAutomator 中,如何结束当前运行的 Activity,并清空应用缓存数据
看来暂时只能 getUiDevice().pressHome();
参考了 android 清理应用程序缓存的方式,自己写个类,清理/data/data/com.xxx.xxx cache、databases、shared_prefs、cache 下的内容就可以了
adb shell am force-stop adb shell pm clean 自己查查吧
#3 楼 @vigossjjj try { Runtime.getRuntime().exec("adb shell pm clear com.my.package"); } catch(IOException ex) { ex.printStackTrace(); } 这里不会抛任何异常,而且也不会清除 App 的数据。
Andorid 的安全机制不允许一个 App 去删除另一个 App 的数据,所以这种方法可能不行
#4 楼 @xiang2743 你先搞清楚你用的是 uiautomator 还是 instrumentation?如果使用的是 uiautomator,和你说的原因没有关系,UIAutomator 实现机制和 Instrumentation 并不一样。。。。还有就是命令明显错了,没有 adb shell,因为运行在手机中。
Runtime.getRuntime().exec("adb shell pm clear com.my.package");后面再加一句 sleep 就可以了