一種針對Android設(shè)備的數(shù)據(jù)還原方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息安全技術(shù)領(lǐng)域,特別涉及一種針對Android設(shè)備的數(shù)據(jù)還原方法。
【背景技術(shù)】
[0002]隨著信息化技術(shù)的不斷發(fā)展與進(jìn)步,眾所周知,Android設(shè)備已經(jīng)成為人們生活中不可替代、不可或缺的一個工具。Android設(shè)備也因此得到飛速發(fā)展,現(xiàn)已不僅僅是通話工具那么簡單,他依然成為生活的一部分,Android設(shè)備的各種各樣的功能也層出不窮,覆蓋了生活中的方方面面。但Android設(shè)備在獲取豐富資源、處理大量數(shù)據(jù)的同時面臨著被破壞的風(fēng)險也越來越大,例如恢復(fù)出廠設(shè)置,誤刷機(jī)、中病毒等情況均會造成手機(jī)數(shù)據(jù)丟失,因此還原Android設(shè)備的數(shù)據(jù)顯得尤為重要。
[0003]目前現(xiàn)有的Android設(shè)備的系統(tǒng)還原方法有以下兩種:單獨(dú)還原某個或者某些用戶應(yīng)用數(shù)據(jù);利用設(shè)備的外置sd卡進(jìn)行數(shù)據(jù)還原。隨著Android設(shè)備的更新?lián)Q代,市場上現(xiàn)有的很多手機(jī)都無法接入外置sd卡,現(xiàn)有的方法和裝置在處理這部分手機(jī)時就顯示出了局限性,傳統(tǒng)技術(shù)上的還原Android設(shè)備數(shù)據(jù)的方法暴露出越來越多的問題:無法通過sd卡還原超過4GB的數(shù)據(jù)文件;待還原的數(shù)據(jù)文件被壓縮時無法還原到Android設(shè)備;Android設(shè)備不能接入外置sd卡時無法還原等等情況。所以亟需將現(xiàn)有方法進(jìn)行完善和創(chuàng)新,以更加適合市場需要。
[0004]關(guān)于本文中的專業(yè)術(shù)語說明:
[0005]Recovery模式:是Android設(shè)備系統(tǒng)的一種特殊的工程模式,在該模式下可以對Android設(shè)備內(nèi)部的數(shù)據(jù)或系統(tǒng)進(jìn)行修改。
【發(fā)明內(nèi)容】
[0006]本發(fā)明針對現(xiàn)有技術(shù)的缺陷,提供了一種針對Android設(shè)備的數(shù)據(jù)還原方法,能有效的解決上述現(xiàn)有技術(shù)存在的問題。
[0007]—種針對Android設(shè)備的數(shù)據(jù)還原方法,包括以下步驟:
[0008]S1:將Android設(shè)備連接至電腦,并確保電腦端的ADB指令能正常工作;
[0009]S2:檢測Android設(shè)備的ROOT狀態(tài),若設(shè)備已獲取了 ROOT權(quán)限執(zhí)行S3,否則執(zhí)行S4 ;
[0010]S3:調(diào)整設(shè)備模式,使設(shè)備處于正常開機(jī)模式下,執(zhí)行S5 ;
[0011]S4:啟動設(shè)備至recovery模式,確保adb指令可以正常工作,執(zhí)行S5 ;
[0012]S5:判斷設(shè)備是否支持外置sd卡接入,若支持執(zhí)行S6,否則執(zhí)行SlO ;
[0013]S6:判斷待還原的文件是否大于4GB,如文件超過4GB則執(zhí)行S7,否則執(zhí)行S9 ;
[0014]S7:將待還原的文件進(jìn)行壓縮,執(zhí)行S8 ;
[0015]S8:判斷壓縮后的待還原文件是否超過4GB,如果文件超過4GB則執(zhí)行S10,否則執(zhí)行 S12 ;
[0016]S9:判斷待還原文件是否被壓縮,如果待還原文件為壓縮狀態(tài)則執(zhí)行S12,否則執(zhí)行 S13 ;
[0017]SlO:將待還原文件拷貝至于Android設(shè)備相連接的電腦端,執(zhí)行Sll ;
[0018]Sll:判斷待還原文件是否被壓縮,若文件被壓縮則執(zhí)行S15,否則執(zhí)行S14 ;
[0019]S12:將壓縮的待還原文件進(jìn)行解壓縮的同時寫入Android設(shè)備的對應(yīng)分區(qū),結(jié)束;
[0020]S13:使用adb指令直接將待還原文件直接寫入Android設(shè)備的對應(yīng)分區(qū),結(jié)束;
[0021]S14:將待還原文件通過socket建立的電腦端與Android設(shè)備通信機(jī)制寫入到Android設(shè)備對應(yīng)的分區(qū)中,結(jié)束;
[0022]S15:將壓縮的待還原文件通過過socket建立的電腦端與Android設(shè)備通信機(jī)制寫入到Android設(shè)備對應(yīng)的分區(qū)中,結(jié)束。
[0023]作為優(yōu)選,所述S12的詳細(xì)步驟如下:
[0024]S121:獲取待還原文件所包含的分區(qū)信息,主要是待還原文件對應(yīng)Android設(shè)備的分區(qū)名稱、大小等信息;
[0025]S122:驗證待還原文件與Android設(shè)備端的分區(qū)文件系統(tǒng)、分區(qū)大小、分區(qū)文件結(jié)構(gòu)是否匹配,若匹配則跳至S123,否則跳至S127 ;
[0026]S123:獲取Android設(shè)備端的待還原分區(qū)的掛載點(diǎn)地址信息;
[0027]S124:檢測Android設(shè)備端的分區(qū)的操作權(quán)限,若當(dāng)前未有該分區(qū)的寫權(quán)限則跳至S125,否則跳至S126 ;
[0028]S125:提升待還原分區(qū)的操作權(quán)限,確保能夠正常寫入文件;
[0029]S126:將待還原文件寫入Android設(shè)備端的待還原的分區(qū)中;
[0030]S127:將壓縮的待還原文件進(jìn)行解壓縮的同時寫入Android設(shè)備的對應(yīng)分區(qū)執(zhí)行完成,驗證Android設(shè)備的狀態(tài),確保設(shè)備正常啟動。
[0031]與現(xiàn)有技術(shù)相比本發(fā)明的優(yōu)點(diǎn)在于:待還原文件大小超過4GB時還原Android設(shè)備數(shù)據(jù);支持待還原文件被壓縮時直接將其寫入Android設(shè)備的分區(qū)!Android設(shè)備不支持接入外置sd卡時直接將電腦端的待還原文件寫入Android設(shè)備的分區(qū)中。
【附圖說明】
[0032]圖1為本發(fā)明實(shí)施例Android設(shè)備數(shù)據(jù)還原的主流程圖;
[0033]圖2為本發(fā)明實(shí)施例S12還原已壓縮的文件流程圖。
【具體實(shí)施方式】
[0034]為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對本發(fā)明做進(jìn)一步詳細(xì)說明。
[0035]下面以將C:\data.gz文件寫入到Android設(shè)備三星GT-19300為例,詳細(xì)闡述一種針對Android設(shè)備的數(shù)據(jù)還原方法,具體地,包括下面步驟:
[0036]如圖1所示,S1:將Android設(shè)備連接至電腦,并確保電腦端的ADB指令能正常工作,可通過adb devices指令來檢測設(shè)備是否正常接入電腦;
[0037]S2:檢測Android設(shè)備的ROOT狀態(tài),具體地,可以通過在adb shell下輸入“su”指令來檢測設(shè)備是否已經(jīng)獲取了 ROOT權(quán)限,若設(shè)備已獲取了 ROOT權(quán)限執(zhí)行S3,否則執(zhí)行S4 ;
[0038]S3:調(diào)整設(shè)備模式,使設(shè)備處于正常開機(jī)模式下,執(zhí)行S5 ;
[0039]S4:可通過輸入命令“adb reboot recovery”啟動設(shè)備至recovery模式,確保adb指令可以正常工作,執(zhí)行S5 ;
[0040]S5:檢測設(shè)備是否含有外置sd卡插槽,以判斷設(shè)備是否支持外置sd卡接入,若支持執(zhí)行S6,否則執(zhí)行SlO ;
[0041]S6:讀取C:\data.gz文件屬性,判斷待還原的文件是否大于4GB,如文件超過4GB則執(zhí)行S7,否則執(zhí)行S9;
[0042]S7:使用gunzip命令將待還原的文件進(jìn)行壓縮,執(zhí)行S8 ;
[0043]S8:讀取文件屬