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

一、简介

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,将会出现支持的命令行。如下图

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

时间: 2024-10-26 17:08:18

Android中实现用命令行同步网络时间的相关文章

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

一.简介 Android基于Linux平台的开源手机操作系统. 二.原理 既然是Linux,那就应该支持linux的各种命令行,高度的可配置,但实验发现Android是Google的一个高度阉割版的linux,很多命令都不支持,如rdate命令(网络同步时间命令).既然不支持,那我使他支持不就完了. 三.BusyBox BusyBox 是标准 Linux 工具的一个单个可执行实现.BusyBox 包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大.更复杂的工具,例如 grep.f

Android中使用SQLite3 命令行查看内嵌数据库的方法_Android

在上图中,除了最后一个红色的方框,其它方框都是adb shell下的命令. [1]在Android程序中,一般创建的数据库存放在 /data/data/[应用程序包名]/databases 的目录下. [2]cd 命令:文件夹跳转命令.ls 命令:查看某个文件夹下面有哪些文件. [3]使用 "sqlite3 [数据库名称] " 命令来对某数据库进行一系列的操作. [4]在经过第[3]步骤后,可以使用 .tables 命令查看某数据库中包含哪些表.若要查询某表中包含的数据,在 sqlit

Android中执行java命令的方法及java代码执行并解析shell命令_Android

android中执行java命令的方法大家都晓得吗,下面一段内容给大家带来了具体解析. android的程序基于java开发,当我们接上调试器,执行adb shell,就可以执行linux命令,但是却并不能执行java命令. 那么在android的shell中是否就不能执行java程序了呢. 答案是否定的.我们可以通过app_process来执行java程序. 写一个hello world吧,就是刚开始学java的时候 写得那个hello world,这次要在android上运行. 用记事本新建

Android中执行java命令的方法及java代码执行并解析shell命令

android中执行java命令的方法大家都晓得吗,下面一段内容给大家带来了具体解析. android的程序基于java开发,当我们接上调试器,执行adb shell,就可以执行linux命令,但是却并不能执行java命令. 那么在android的shell中是否就不能执行java程序了呢. 答案是否定的.我们可以通过app_process来执行java程序. 写一个hello world吧,就是刚开始学java的时候 写得那个hello world,这次要在android上运行. 用记事本新建

GNU/Linu系统中如何使用命令行xdg-open打开一个任意格式的文件

在GNU/Linux下,当需要打开其他格式文件时,咱们通常做法是进入到文件所在的目录,双击打开,很影响效率.事实上,可以通过命令xdg-open打开这些格式文件,甚至是网页,像打开文件一样简单.   在GNU/Linux下,通常用命令行打开文本文件,比如用命令gedit.more.cat.vim.less.但当需要打开其他格式文件时,比如pdf.jpg.mp3格式文件,咱们通常做法是进入到文件所在的目录,双击打开,很影响效率.事实上,可以通过命令xdg-open(opens a file or

关于android中运行dos命令

问题描述 关于android中运行dos命令 shell@android:/ $ sushell@android:/ # mount -o rwremount -t yaffs2 /dev/block/mtdblock3 /systemshell@android:/ # chmod 777 /system?shell@android:/ # cd systemshell@android:/system # chmod 777 appshell@android:/system # cd appsh

Linux 中如何通过命令行访问 Dropbox

Linux 中如何通过命令行访问 Dropbox 在当今这个多设备的环境下,云存储无处不在.无论身处何方,人们都想通过多种设备来从云存储中获取所需的内容.由于拥有漂亮的 UI 和完美的跨平台兼容性,Dropbox 已成为最为广泛使用的云存储服务. Dropbox 的流行已引发了一系列官方或非官方 Dropbox 客户端的出现,它们支持不同的操作系统平台. 当然 Linux 平台下也有着自己的 Dropbox 客户端: 既有命令行的,也有图形界面客户端.Dropbox Uploader是一个简单易

[android]android自动化测试二之命令行创建AVD

判断AVD是否已经开启: adb -s emulator-57409 shell getprop dev.bootcomplete 如果结果返回1代表AVD成功启动了  命令行打开方式: 1.首先你要打开android模拟器      (下面命令行打开的4步骤我是引用百度上的)  1).找到SDK的tools文件夹,我的在D:\android-sdk-windows\tools: 2).如果没有创建AVD的话,可以用命令android list targets查看各版本对应的id: 然后andr

shell命令行参数-Linuxshell脚本中调用可执行程序命令行参数出现丢失错误

问题描述 Linuxshell脚本中调用可执行程序命令行参数出现丢失错误 #!/bin/bash If [$1 == "-i"] then TM_demo $1 $2 fi If [$1 == "-f"] then TM_demo $1 $2 $3 $4 fi 在linux执行的时候./a.sh -f data,出现 [:丢失了"]",大神帮帮忙! 解决方案 [和]不是shell的meta character,所以需要跟其它标识符用blank/s