[英]How to manually set file or directory timestamp using adb shell? Does anything like unix's touch exist in adb shell?
aafm是一个小型的Python GUI实用程序,它使用adb作为底层,在MTP的计算机和Android设备之间复制文件。 但就像现在一样,文件获取复制时间的时间戳,而不是原始时间戳。
如果我们可以在设备中设置上次修改日期以匹配计算机中的上次修改时间,那就太棒了。
我一直在浏览http://developer.android.com/tools/help/adb.html中的adb shell命令列表,但到目前为止,我无法找到任何与经典unix touch
命令类似的远程命令。
这个shell中是否存在类似的东西?
如果您正在讨论使用ADB从主机复制到Android,则应使用原始修改时间戳。 adbd中的当前代码执行utime()。 在某些设备上,utime()失败(见下文)。 通过ADB从Android复制到主机甚至不会尝试设置任何时间戳。 我不知道这个遗漏的原因。 在我的两个设备(2.1和4.0)上,修改时间戳设置为写入Android但不写入主机。 在4.2设备上,FUSE文件系统存在问题,不允许使用utime();
在没有真正的SD卡(即使用FUSE)的设备上,除非你是root用户,否则在文件上执行utime()会有问题。 这会进入异常情况,您可以创建文件但不能更改时间戳。 唯一真正的解决方案是确保ro.secure=0
或者您运行的是不安全的adbd
版本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.