快速修改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);
         }

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

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

时间: 2024-12-10 08:55:14

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

高速改动android系统默认日期方法

在android系统的设备上,都有一个默认的開始日期,看过非常多设备,有些设备在没有联网的时候没有同步到系统时间的时候,竟然默认的还是1970年的日期.也见过有些设备默认到2000年1月1日的,这样相对进了一步.可是还不够. 笔者以下非常简单的介绍一下一个超级简单的方法: /*****************************************************************************************************/声明:本博内容均由h

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

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

Android系统默认语言改为中文

第一种方法: 修改 build/tools/buildinfo.sh echo "ro.product.locale.language=zh"echo "ro.product.locale.region=CN" 就可以修改Android系统默认语言为中文. 第二种方法: build/target/product/full_base.mk修改PRODUCT_LOCALES := zh_CN 就OK.

修改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时,添加或者删除system.img中第三方apk、更改Android系统默认语

/******************************************************************************************** * author:conowen@大 钟                                                                                                                           * E-mail:[ema

修改Android系统字号

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

修改Android系统字号(二)

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

修改Android系统属性SystemProperties.set(&quot;sys.powerctl&quot;, &quot;shutdown&quot;)关机分析

简介: 从之前的博文中我们提到过,关机流程中最后是通过修改Android属性进行关机操作(SystemProperties.java通过JNI调用访问系统属性),当然我们也可以通过adb命令修改Android系统属性执行关机操作,例如adb shell setpro sys.powerctl shutdown,这里我们简单介绍下修改Android属性关机的原理或流程. native_set()<SystemProperties.java>--->SystemProperties_set(

Android 系统默认参数的修改

转自: http://www.th7.cn/Program/Android/201505/447097.shtml 写在前面的话 一般在新项目开始之初,我们需要针对客户需求进行各种系统默认属性的配置,通常这些属性都是通过build.prop.settings.db .default.xml.一些功能package下的 config.xml 等来进行初始化配置的. 那么,要满足客户的定制需求,对于我们开发者来说,修改SettingsProvider默认值,而第一次开机时,用来填充settings.