Android中实现用命令行同步网络时间

时间:2022-09-20 16:04:04

一、简介

Android基于Linux平台的开源手机操作系统。

二、原理

既然是Linux,那就应该支持linux的各种命令行,高度的可配置,但实验发现Android是Google的一个高度阉割版的linux,很多命令都不支持,如rdate命令(网络同步时间命令)。既然不支持,那我使他支持不就完了。

三、BusyBox

BusyBox 是标准 Linux 工具的一个单个可执行实现。BusyBox 包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大、更复杂的工具,例如 grep、find、mount 以及 telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀.简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令。

四、下载BusyBox

在网上粗略的搜了一下,很多教程都是教你先交叉编译BusyBox的,但我找到这个已经编译了,直接下载放入系统就可以了。
可以到这个网址下载,也可以到附件下载:
http://benno.id.au/blog/2007/11/14/android-busybox

注意,放入到手机必须已经有Root权限,而且有Root管理器这样的文件管理软件。

五、Push入手机

1、手机:用Root管理器之类的软件,挂在为可写
2、电脑:打开命令行(开始->运行->输入cmd,如果是Vista或者Win7以管理员身份运行吧)
3、电脑:adb push busybox /system/app
4、用Root管理器进入/system/app,找到busybox剪切到/system/sbin
5、电脑:adb shell
6、电脑:su
7、电脑:chmod 777 /system/sbin/busybox

经过上面的几步,已经完成把busybox放入系统了。
可以在电脑的命令行敲:busybox,将会出现支持的命令行。如下图

Android中实现用命令行同步网络时间

六、使用rdate网络同步时间
1、打开手机的gprs或者wif,反正手机连到网络就可以了。
2、这步是测试的,不是必须的,电脑输入命令:busybox rdate -p 203.129.68.14,将会打印当前时间
3、输入命令,将网络时间同步到手机时间:busybox rdate -s 203.129.68.14