快速修改android系统默认日期方法

快速修改android系统默认日期方法

 

          在android系统的设备上,都有一个默认的开始日期,看过很多设备,有些设备在没有联网的时候没有同步到系统时间的时候,居然默认的还是1970年的日期,也见过有些设备默认到2000年1月1日的,这样相对进了一步,但是还不够。笔者下面很简单的介绍一下一个超级简单的方法:

/*****************************************************************************************************/
声明:本博内容均由http://blog.csdn.net/edsam49原创,转载请注明出处,谢谢!
/*****************************************************************************************************/

        熟悉一下systemserver还是很好的,systemserver里面有好东西,首先还是从main进去,我们可以肯定原始的代码是这样写的:

 public static void main(String[] args) {

1141

1142        /*

1143         * In case the runtime switched since last boot (such as when

1144         * the old runtime was removed in an OTA), set the system

1145         * property so that it is in sync. We can't do this in

1146         * libnativehelper's JniInvocation::Init code where we already

1147         * had to fallback to a different runtime because it is

1148         * running as root and we need to be the system user to set

1149         * the property. http://b/11463182

1150         */

1151        SystemProperties.set("persist.sys.dalvik.vm.lib",

1152                             VMRuntime.getRuntime().vmLibrary());

1153

1154        if (System.currentTimeMillis() < EARLIEST_SUPPORTED_TIME) {

1155             // If a device's clock is before 1970 (before 0), a lot of

1156            // APIs crash dealing with negative numbers, notably

1157            // java.io.File#setLastModified, so instead we fake it and

1158            // hope that time from cell towers or NTP fixes it

1159            // shortly.

1160            Slog.w(TAG, "System clock is before 1970; setting to 1970.");

1161            SystemClock.setCurrentTimeMillis(EARLIEST_SUPPORTED_TIME);

1162        }

 

   明显里面有一个判断当然时间,跟预设时间点的一个比较,如果比预设时间点晚的话,就设置成这个时间点,充分利用这一点就很容易了。还是用这种方法,只不过把预设的时间点挪动一下,实际上只要改一行不是代码的代码就可以了,笔者修改如下:

-    private static final long EARLIEST_SUPPORTED_TIME = 86400 * 1000;
-
+    //private static final long EARLIEST_SUPPORTED_TIME = 86400 * 1000;
+    //default 2014-07-01-12:00
+    private static final long EARLIEST_SUPPORTED_TIME = 1404187200000L;
+
     /**
      * Called to initialize native system services.
      */
@@ -1157,7 +1159,8 @@ public class SystemServer {
             // java.io.File#setLastModified, so instead we fake it and
             // hope that time from cell towers or NTP fixes it
             // shortly.
-            Slog.w(TAG, "System clock is before 1970; setting to 1970.");
+            //Slog.w(TAG, "System clock is before 1970; setting to 1970.");
+            Slog.w(TAG, "System clock is before 20140701; setting to 20140701.");
             SystemClock.setCurrentTimeMillis(EARLIEST_SUPPORTED_TIME);
         }

      看了是不是感觉很觉得,改这个是简单,知道在这里可以改并不简单,加油!

 

 

 

 

时间: 2024-10-24 08:03:53

快速修改android系统默认日期方法的相关文章

Android系统移植与调试之-------&amp;gt;如何修改Android系统默认显示【开发者选项】并默认打开【USB调试】和【未知来源】开关

              今天有个用户对[设置]有个特殊的要求,即: 1.开机的时候默认显示[开发者选项]并打开[USB调试]开关    ([Developer options]-->[USB debugging]) 2.开机的时候默认打开[安全]-->[未知来源]的开关    ([Security]--->[Unknown sources])     1.首先解决[设置]界面默认显示[开发者选项]的问题 查看源代码:packages/apps/Settings/src/com/and

修改Android Studio默认的API Level(SDK版本)

原文:修改Android Studio默认的API Level(SDK版本) Android Studio(2.1.2)新建工程的时候只会让你选择最低支持的SDK版本,默认的目标编译SDK版本会以系统当前SDK中最新SDK platform作为目标的API Level.但是很多时候我们并不需要最新的SDK版本,如何修改呢? 方法是:修改工程目录中的Gradle Scripts->build.gradle(Module:app)中的相关行,具体见下图: 当然也可以图形化操作,右键工程目录选择"

修改Android系统字号(一)

/*********************************************************************** * 修改Android系统字号(一) * 说明: * 本来以为直接修改了Settings里面的系统字号就可以了,结果发现字号变 * 大了之后,Lancher中app的名字被截掉了一半,下面一半无法显示,之后又 * 为了解决这个问题,找到AppsCustomize相关配置. * * 2016-5-12 深圳 南山平山村 曾剑锋 *************

修改Android系统字号(二)

/*********************************************************************** * 修改Android系统字号(二) * 说明: * 虽然在<修改Android系统字号(一)>中修改了Launcher中修改了界面, * 但是在其他的系统软件里还是有很多地方需要另外修改的,所以那是不行, * 今天Charlie给出意见,修改DPI,效果很好. * * 2016-5-19 深圳 南山平山村 曾剑锋 *****************

修改CentOS5系统默认语言的方法

  在CentOS下系统默认语言的配置信息,存储在/etc/sysconfig/i18n中,所以从底层修改,需要修改这个文件. 1.vi /etc/sysconfig/i18n 将LANG="zh_CN.UTF-8" 换成 LANG="en_US.UTF-8" 这样,将中文,改成英文环境 编辑保存wq即可 2.按ctrl+alt+backspace 重新进入系统,注销系统后.恢复英文语言环境 3.注意,一定用root用户修改,否则其他用户可能没权限.

修改linux系统默认启动级别

  修改系统启动级别:修改系统默认启动到3 多用户状态,在Linux中有7种启动级别,默认是X-Window,像是Windows的窗口模式,而Linux的操作和配置一般我们都采用输入命令的方式来完成,像DOS操作系统一样,如何让Linux一启动就进入这种模式呢? 第1步:以管理员身份进入Linux,修改文件:/etc/inittab文件. 第2步:找到"id:5:initdefault:",其中的5就是X-Window,为默认运行级别,我们把5改为3即可. # 0 - halt (Do

Android系统默认Home应用程序(Launcher)的启动过程源代码分析

转自 :http://blog.csdn.net/luoshengyang/article/details/6767736    在前面一篇文章中,我们分析了Android系统在启动时安装应用程序的过程,这些应用程序安装好之后,还需要有一个Home应用程序来负责把它们在桌面上展示出来,在Android系统中,这个默认的Home应用程序就是Launcher了,本文将详细分析Launcher应用程序的启动过程.         Android系统的Home应用程序Launcher是由Activity

Android系统移植与调试之-------&amp;gt;如何修改Android的默认语言、默认时区

修改device/other/TBDG1073/ system.prop文件  1.设置默认语言 找到device/other/TBDG1073/ system.prop文件,修改属性ro.product.locale.language和ro.product.locale.region 在system.prop文件中加入以下两句话 ro.product.locale.language=zh ro.product.locale.region=CN 2.设置默认时区 找到device/other/T

Android系统默认值的设置

项目接近尾声,今天恰好也要初始化一下系统里的默认值,google了一下,有时就得做个拿来主义,没有时才自己做轮子滴嘛,呵呵 1开机图片: android-logo-mask.png android-logo-shine.png 这两个图片一个在上一个在下 ./out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates/classes/assets/images/android-logo-shine.png ./