草庐IT

Android:如何通过adb清除应用程序缓存并保留用户数据?

我正在Android应用程序上运行一些自动化测试(使用calabash-android),我需要以编程方式触发清除应用程序的缓存,而不是用户数据。我发现adbshellpmclear解决方案不够用,因为它会清除用户数据(包括登录详细信息)。有什么方法可以在应用程序外部实现这一点(即无需更改代码)? 最佳答案 我一直在探索/data/data/文件夹,并找到一个cache里面的文件夹,其中包含我想清除缓存的应用程序的缓存文件。然后从adbshell我删除了内容,应用的缓存已重置。很可能你可以运行adbshellsu-c"rm-rf/d

ruby - 输出到控制台,同时在 ruby​​ 中保留用户输入

我有一个ruby​​脚本,它同时异步地接收和显示来自服务器的消息,并允许用户在控制台上输入。当收到一条消息时,它当前正在用户输入的内容中间写入。输入本身并没有乱码,但看起来很糟糕。理想情况下,它会保存用户当前的输入,输出消息,然后在下一行恢复输入。我已经在c中通过拦截每个击键来完成此操作,但我只记得这是一个主要的麻烦。我是ruby​​的新手,所以我不确定是否有这样做的好方法,或者如何去做。示例:用户正在键入>abcde,消息hello出现,然后用户键入fgh。控制台现在将显示:>abcdehellofgh用户可以在最后继续输入。我希望它显示:hello>abcdefgh
12