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

(0)

相关推荐

  • Android获取通话时间实例分析

    本文章总结了一段Android获取通话时间程序代码,有需要的朋友可参考一下. 我们知道安卓系统中通话时长应该是归Callog管,所以建议去查查ContactProvider,或者是TelephonyProvider Service测试 可以的通话开始的时候启动Service 记录当前时间A, 然后stopSelf(); 另外在通话结束的时候再次启动一下Service,再次获得当前时间B, 然后把时间A和B进行比较处理 String time = Long.toString(比较后处理的时间) 然

  • Android调用系统时间格式显示时间信息

    使用如下方法: 复制代码 代码如下: java.text.DateFormat dateFormat = android.text.format.DateFormat.getDateFormat(context); dateFormat = android.text.format.DateFormat.getTimeFormat(context.getApplicationContext());

  • Android开发之时间日期操作实例

    相信对于手机的时间日期设置大家一定都不陌生吧,今天举一个关于时间日期设置的示例,其中有些许不完善之处,例如如何使设置的时间日期和手机系统同步等.感兴趣的读者可以根据自身经验加以完善. 现来看看具体示例,希望对大家有所帮助. 首先是时间设置: .java文件(MainActivity.java)代码如下: package com.example.activity_time_date; import java.util.Calendar; import android.app.Activity; i

  • Android中日期与时间设置控件用法实例

    本文实例讲述了Android中日期与时间设置控件用法.分享给大家供大家参考.具体如下: 1.日期设置控件:DatePickerDialog 2.时间设置控件:TimePickerDialog 实例代码: 页面添加两个Button,单击分别显示日期设置控件和时间设置控件,还是有TextView控件,用于显示设置后的系统时间 main.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout x

  • android 默认时间格式修改方法

    在android使用中,遇到修改默认时间格式时,总是束手无策,本文将以此问题提供解决方案,需要了解的朋友可以参考下 语言为英语时,默认的时间格式为mm/DD/yyyy,请问怎么将默认时间格式修改为:DD/mm/yyyy,不知道是在framework层给初始化的还是编译的时候给的初始值,哪位大侠知道怎么该? 1.修改文件alps\frameworks\base\packages\SettingsProvider\res\values\defaults.xml 增加代码<string name=&quo

  • Android开发之时间日期组件用法实例

    继上一篇时间和日期设置的示例之后,今天来介绍Android的布局组件中有关于时间和日期的设置的组件,希望对大家有所帮助.具体如下: 时间日期设置组件:TimePicker.DatePicker 在布局文件中直接可以添加到我们的布局样式中,具体代码如下: <LinearLayout android:id="@+id/linear1" android:orientation="vertical" android:layout_width="fill_pa

  • 解析android中系统日期时间的获取

    复制代码 代码如下: import    java.text.SimpleDateFormat; SimpleDateFormat    formatter    =   new    SimpleDateFormat    ("yyyy年MM月dd日    HH:mm:ss     ");     Date    curDate    =   new    Date(System.currentTimeMillis());//获取当前时间     String    str    =

  • Android编程获取网络时间实例分析

    本文实例讲述了Android编程获取网络时间的方法.分享给大家供大家参考,具体如下: 在网上看到的最常见的方式有: public static void main(String[] args) throws Exception { URL url=new URL("http://www.bjtime.cn");//取得资源对象 URLConnection uc=url.openConnection();//生成连接对象 uc.connect(); //发出连接 long ld=uc.g

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

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

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

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

  • Android中使用adb命令通过IP地址连接手机

    前提:已经通过USB设备线连接过电脑,并成功安装驱动. adb连接手机进行调试有两种方式,一种是使用USB线,另一种是使用无线WiFi. 第一种  使用USB线连接 1. 在手机上启用USB调试 2. 打开DOS命令窗口,输入 cd D:\Android\sdk\platform-tools 回车 3. 再输入adb devices,此时可以看到自己连接的设备. PS:无法看到自己设备时,查看手机USB调试是否打开:PC端是否安装手机驱动. 第二种  使用无线WiFi连接 首先先了解一点底层的知

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

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

  • Android开发之sqlite3命令行简单使用方法

    本文实例讲述了Android开发之sqlite3命令行简单使用方法.分享给大家供大家参考,具体如下: 首先需要定位到database所在的目录里面,然后使用命令 sqlite3 databasename(数据库的名字)进入 常用命令: 1. .table     列取该数据库下面的数据表名 2. .schema 或者 .schema + 表名       获取整个或者是单个表的表结构 3. .database 显示该数据库所在的位置 4. .dump 显示数据库的所有信息(包括表结构,表数据)

  • Linux/CentOS系统同步网络时间的2种方法详解

    由于硬件的原因,机器或多或少的跟标准时间对不上,一个月的误差几秒到几分钟不等.对于服务器来说时间不准,会有很多麻烦.例如,支付的时候,无法下单,游戏无法登录等. 方法一:用 ntpdate从时间服务器更新时间 如果系统没有 ntpdate 命令,可在线安装: yum -y install ntp 安装完了之后,你不要做什么配置,也不需要,直接测试一下 [root@snsgou-pc src]# date 2015年 05月 20日 星期三 22:42:19 CST [root@snsgou-pc

  • C#同步网络时间的方法实例详解

    本文实例讲述了C#同步网络时间的方法.分享给大家供大家参考.具体分析如下: 客户的机器的系统时间经常出错,导致给他们做的软件无法正常使用,所以后来就加了一个同步网络时间的小功能.实现起来很简单,但是却很使用. 这个小功能就是先获取网络时间,然后将系统的时间修改成从网络获得的时间.下面是具体的实现: 获取网络时间: using System; using System.Collections.Generic; using System.Linq; using System.Text; using

  • Android中使用am命令实现在命令行启动程序详解

    在Android中,除了从界面上启动程序之外,还可以从命令行启动程序,使用的是命令行工具am. 复制代码 代码如下: usage: am [subcommand] [options] start an Activity: am start [-D]         -D: enable debugging send a broadcast Intent: am broadcast start an Instrumentation: am instrument [flags]         -r

  • Android中的dumpsys命令详解

    目录 一.dumpsys命令介绍 1.命令说明 2.系统服务查询 二.包信息查询 三.activity信息查询 四.网络信息查询 五.其他常用服务信息查询 一.dumpsys命令介绍 1.命令说明 Dumpsys用户系统诊断,它运行在设备上,并提供系统服务状态信息 命令格式: adb shell dumpsys [system serbices] 2.系统服务查询 如果直接运行adb shell dumpsys,将会获得所有的系统服务信息,那是非常多的,为了更容易管理输出,可以指定你想要检查的服

  • Ubuntu 命令行修改网络配置方法

    1. 以DHCP方式配置网卡 编辑文件/etc/network/interfaces: sudo vi /etc/network/interfaces 并用下面的行来替换有关eth0的行: # The primary network interface - use DHCP to find our address auto eth0 iface eth0 inet dhcp 用下面的命令使网络设置生效: sudo /etc/init.d/networking restart 也可以在命令行下直接

随机推荐