欧美vvv,亚洲第一成人在线,亚洲成人欧美日韩在线观看,日本猛少妇猛色XXXXX猛叫

新聞資訊

    前言

    在開(kāi)發(fā)過(guò)程中我們常常需要獲取系統(tǒng)時(shí)間。

    系統(tǒng)的自動(dòng)確認(rèn)時(shí)間,是由系統(tǒng)通過(guò)訪問(wèn)廠家的NTP服務(wù)器的時(shí)間,然后修改后得到的。

    所以當(dāng)沒(méi)有網(wǎng)絡(luò)或者在內(nèi)網(wǎng)環(huán)境下的時(shí)候,系統(tǒng)無(wú)法訪問(wèn)到NTP服務(wù)器,便會(huì)造成系統(tǒng)時(shí)間錯(cuò)誤。

    所以這個(gè)時(shí)候我們就需要程序去修改系統(tǒng)的時(shí)間,或者獲取一個(gè)正確的時(shí)間來(lái)代替系統(tǒng)時(shí)間。

    NTP服務(wù)器

    【 Time (NTP)】是用來(lái)使計(jì)算機(jī)時(shí)間同步化的一種協(xié)議,它可以使計(jì)算機(jī)對(duì)其服務(wù)器或時(shí)鐘源(如石英鐘,GPS等等)做同步化,它可以提供高精準(zhǔn)度的時(shí)間校正(LAN上與標(biāo)準(zhǔn)間差小于1毫秒請(qǐng)校準(zhǔn)本機(jī)系統(tǒng)時(shí)間,WAN上幾十毫秒),且可介由加密確認(rèn)的方式來(lái)防止惡毒的協(xié)議攻擊。時(shí)間按NTP服務(wù)器的等級(jí)傳播。按照離外部UTC源的遠(yuǎn)近把所有服務(wù)器歸入不同的(層)中。

    解決方案

    根據(jù)不同的情況,我實(shí)現(xiàn)了如下三種解決方案:

    修改系統(tǒng)時(shí)間。

    優(yōu)點(diǎn):程序啟動(dòng)時(shí)執(zhí)行一次即可,一勞永逸。

    缺點(diǎn):只能在原生系統(tǒng)中使用,非原生系統(tǒng)無(wú)法安裝。(具體后面會(huì)解釋)。

    獲取NTP服務(wù)器時(shí)間代替系統(tǒng)時(shí)間。

    優(yōu)點(diǎn):無(wú)需Root,適用于任何手機(jī)及系統(tǒng)。

    缺點(diǎn):需要可以訪問(wèn)外部網(wǎng)絡(luò),內(nèi)網(wǎng)環(huán)境下則需要一臺(tái)自己的NTP服務(wù)器。

    獲取網(wǎng)頁(yè)時(shí)間代替系統(tǒng)時(shí)間。

    優(yōu)點(diǎn):無(wú)需Root,適用于任何手機(jī)及系統(tǒng),適用于任何網(wǎng)絡(luò)環(huán)境。

    缺點(diǎn):需要一條額外的線程,去維護(hù)時(shí)間準(zhǔn)確,容易造成誤差。

    代碼及目錄

    :

    1.修改系統(tǒng)時(shí)間1.配置系統(tǒng)JDK環(huán)境變量

    這個(gè)就不細(xì)說(shuō)了,自行百度。

    由于簽名工具用到的sun.misc.類(lèi)已從Java SE 9中刪除。所以只能在Java 1.8及以下環(huán)境下使用。

    具體可以查看:JDK從1.8升級(jí)到9.0.1后sun.misc.和sun.misc.不可用

    2.修改系統(tǒng)時(shí)間,一行代碼如下:

    SystemClock.setCurrentTimeMillis(long millis);

    3.修改.xml

    在應(yīng)用程序的.xml中的節(jié)點(diǎn)中加入:=”.uid.”這個(gè)屬性。

    添加該屬性后,由于權(quán)限沖突,程序無(wú)法直接安裝,必須重新簽名。

    
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
         package="com.demon.setsystemtime"
        android:sharedUserId="android.uid.system"  >
    manifest>

    4.編譯apk,重新簽名

    編譯生成apk,然后將apk復(fù)制到上述目錄的sign文件夾(重新簽名的文件夾)下,將apk的名字與bat腳本中的一致。

    用壓縮軟件打開(kāi)apk文件,刪掉META-INF目錄下的CERT.SF和CERT.RSA兩個(gè)文件。

    雙擊運(yùn)行bat腳本,腳本代碼如下:

    @echo off
    java -jar signapk.jar platform.x509.pem platform.pk8 demo.apk test.apk
    pause

    .jar: 提供的簽名工具。

    .x509.pem&.pk8: 源碼目錄中”build///”,下面的兩個(gè)文件。

    demo.apk:程序編譯生成的apk。

    test.apk:重新簽名后的apk。

    這也有一個(gè)問(wèn)題,就是這樣生成的程序只有在原始的系統(tǒng)或者是自己編譯的系統(tǒng)中才可以用,因?yàn)檫@樣的系統(tǒng)才可以拿到.pk8和.x509.pem兩個(gè)文件。要是別家公司做的上連安裝都安裝不了。

    安裝重新簽名的apk,運(yùn)行即可修改系統(tǒng)時(shí)間。

    獲取NTP服務(wù)器時(shí)間代替系統(tǒng)時(shí)間

    直接使用-框架即可同步NTP服務(wù)器時(shí)間,調(diào)取框架內(nèi)的方法便可以實(shí)時(shí)獲取最新時(shí)間。

    具體的使用可以參考代碼請(qǐng)校準(zhǔn)本機(jī)系統(tǒng)時(shí)間,或者文檔。

    ### 阿里云提供了7個(gè)NTP服務(wù)器
    ntp1.aliyun.com
    ntp2.aliyun.com
    ntp3.aliyun.com
    ntp4.aliyun.com
    ntp5.aliyun.com
    ntp6.aliyun.com
    ntp7.aliyun.com
    ### 中國(guó)科學(xué)技術(shù)大學(xué)NTP服務(wù)器
    time.ustc.edu.cn

    獲取網(wǎng)頁(yè)時(shí)間代替系統(tǒng)時(shí)間

    根據(jù)下列代碼,我們就可以獲取任何一個(gè)網(wǎng)址的時(shí)間(內(nèi)網(wǎng)服務(wù)器地址)。

    拿到這個(gè)時(shí)間后,可以開(kāi)啟一個(gè)線程,做定時(shí)任務(wù),不斷更新該時(shí)間,以到達(dá)時(shí)間時(shí)間同步的效果。

    具體實(shí)現(xiàn)方法不再闡述。

    /**
         * 網(wǎng)址訪問(wèn)
         * @param url  網(wǎng)址
         * @return urlDate 對(duì)象網(wǎng)址時(shí)間
         */
        public static String VisitURL(String url){
            String urlDate = null;
            try {
                URL url1 = new URL(url);
                URLConnection  conn = url1.openConnection();  //生成連接對(duì)象
                conn.connect();  //連接對(duì)象網(wǎng)頁(yè)
                Date date = new Date(conn.getDate());  //獲取對(duì)象網(wǎng)址時(shí)間
                SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  //設(shè)置日期格式
                urlDate = df.format(date);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return urlDate;
        }
    

    效果

    參考

網(wǎng)站首頁(yè)   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶(hù)案例   |    售后服務(wù)   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號(hào):冀ICP備2024067069號(hào)-3 北京科技有限公司版權(quán)所有