一種應(yīng)用程序的恢復(fù)方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及應(yīng)用軟件管理技術(shù)領(lǐng)域,特別是涉及一種應(yīng)用程序的恢復(fù)方法及系統(tǒng)。
【背景技術(shù)】
[0002]目前,眾所周知,Android作為一個開源的操作系統(tǒng),許多廠商都在此基礎(chǔ)上進行二次開發(fā),定制一些具有自己特色的功能,同時也會跟一些第三方公司合作,預(yù)安裝一些第三方的應(yīng)用與服務(wù),以便手機的功能變得更加豐富,以滿足用戶的各種需求,加大自己的產(chǎn)品在市場上的競爭力??墒牵诤献髌陂g,由于信息保密性的緣故,第三方公司往往不會提供應(yīng)用程序的源碼給廠商,而是提供一個apk,然后廠商通過編寫Android, mk文件的方式將其預(yù)安裝到手機上。
[0003]在實際應(yīng)用中,某些apk里會集成一些so庫文件或者jar包,并且讀取這些文件的路徑為data目錄,而非system目錄。在這種情況下,如果將對apk進行預(yù)安裝時,如果將apk安裝到system/app下,會因為跟so庫文件或者jar包文件路徑不一致,導(dǎo)致異常產(chǎn)生,應(yīng)用程序沒法啟動;但是,如果將apk安裝到data/app下,一旦手機FDR (Factory DataReset,恢復(fù)出廠設(shè)置)后,應(yīng)用程序?qū)]法恢復(fù)。而應(yīng)用程序沒法恢復(fù)與廠商的初衷是相違背的。
[0004]當然,這種情況下,廠商可以跟第三方公司的技術(shù)人員溝通,修改讀取so庫文件或者jar包的路徑為system目錄??墒牵@樣將會造成廠商對第三方應(yīng)用程序的過多依賴,沒法統(tǒng)一處理,溝通成本增加。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明提供了一種應(yīng)用程序的恢復(fù)方法及系統(tǒng),以解決現(xiàn)有技術(shù)中手機FDR后應(yīng)用程序沒法恢復(fù)的技術(shù)問題。
[0006]為解決上述技術(shù)問題,本發(fā)明提供一種應(yīng)用程序的恢復(fù)方法,包括:
[0007]編譯針對第三方應(yīng)用程序apk的Android, mk文件;
[0008]在所述編譯的過程中,安裝所述apk及與所述apk相關(guān)的安裝文件到data/app目錄,并將所述apk及與所述apk相關(guān)的安裝文件備份到system/etc目錄;
[0009]當檢測到設(shè)備為恢復(fù)出廠設(shè)置后的啟動狀態(tài)時,將所述system/etc目錄下的所述apk及與所述apk相關(guān)的安裝文件安裝到所述data/app目錄。
[0010]上述方法中,優(yōu)選的,所述將所述system/etc目錄下的所述apk及與所述apk相關(guān)的安裝文件安裝到所述data/app目錄,包括:
[0011]在運行init進程時,將所述system/etc目錄下的所述apk及與所述apk相關(guān)的安裝文件安裝到所述data/app目錄。
[0012]上述方法中,優(yōu)選的,在所述檢測到設(shè)備為恢復(fù)出廠設(shè)置后的啟動狀態(tài)之前,還包括:
[0013]對所述設(shè)備進行恢復(fù)出廠設(shè)置的操作,清空所述data/app目錄下的所述apk及與所述apk相關(guān)的安裝文件。
[0014]本發(fā)明還提供了一種應(yīng)用程序的恢復(fù)系統(tǒng),包括:
[0015]編譯單元,用于編譯針對第三方應(yīng)用程序apk的Android, mk文件;
[0016]備份單元,用于在所述編譯的過程中,安裝所述apk及與所述apk相關(guān)的安裝文件到data/app目錄,并將所述apk及與所述apk相關(guān)的安裝文件備份到system/etc目錄;
[0017]安裝單元,用于當檢測到設(shè)備為恢復(fù)出廠設(shè)置后的啟動狀態(tài)時,將所述system/etc目錄下的所述apk及與所述apk相關(guān)的安裝文件安裝到所述data/app目錄。
[0018]上述系統(tǒng)中,優(yōu)選的,所述安裝單元具體用于:
[0019]在運行init進程時,將所述system/etc目錄下的所述apk及與所述apk相關(guān)的安裝文件安裝到所述data/app目錄。
[0020]上述系統(tǒng)中,優(yōu)選的,還包括:
[0021]恢復(fù)出廠設(shè)置單元,用于在所述檢測到設(shè)備為恢復(fù)出廠設(shè)置后的啟動狀態(tài)之前,對所述設(shè)備進行恢復(fù)出廠設(shè)置的操作,清空所述data/app目錄下的所述apk及與所述apk相關(guān)的安裝文件。
[0022]上述系統(tǒng)中,優(yōu)選的,所述設(shè)備為智能手機。
[0023]由以上本發(fā)明提供的技術(shù)方案可以看出,在針對第三方應(yīng)用程序apk的Android,mk文件的編譯過程中,先安裝apk及與apk相關(guān)的安裝文件到data/app目錄,然后再將上述apk及與apk相關(guān)的安裝文件備份到system/etc目錄;當檢測到設(shè)備為恢復(fù)出廠設(shè)置后的啟動狀態(tài)時,將system/etc目錄下的apk及與apk相關(guān)的安裝文件安裝到data/app目錄,以此實現(xiàn)了由于恢復(fù)出廠設(shè)置清空的apk及與apk相關(guān)的安裝文件的恢復(fù)。顯然,本發(fā)明有效解決了現(xiàn)有技術(shù)中手機FDR后應(yīng)用程序沒法恢復(fù)的技術(shù)問題,進而能夠使廠商在定制一些第三方應(yīng)用程序時得到的處理方式更加靈活,并且可以統(tǒng)一管理,減少溝通上的成本。
【附圖說明】
[0024]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0025]圖1為本發(fā)明實施例提供的一種應(yīng)用程序的恢復(fù)方法的流程圖;
[0026]圖2為本發(fā)明實施例提供的基于圖1的流程圖;
[0027]圖3為本發(fā)明實施例提供的一種應(yīng)用程序的恢復(fù)系統(tǒng)的結(jié)構(gòu)框圖示意圖。
【具體實施方式】
[0028]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0029]本發(fā)明的核心是提供一種應(yīng)用程序的恢復(fù)方法及系統(tǒng),以解決現(xiàn)有技術(shù)中手機FDR后應(yīng)用程序沒法恢復(fù)的技術(shù)問題。
[0030]為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和【具體實施方式】對本發(fā)明作進一步的詳細說明。
[0031]參考圖1,圖1示出了本發(fā)明實施例提供的一種應(yīng)用程序的恢復(fù)方法的流程圖,該方法具體可以包括如下步驟:
[0032]步驟S100、編譯針對第三方應(yīng)用程序apk的Android, mk文件;
[0033]具體地,在實際應(yīng)用中,廠商拿到第三方公司提供的應(yīng)用程序apk(簡稱apk)后,先解壓這個apk,接著再針對該apk編寫Android, mk文件,然后對編好的Android, mk文件進行源碼編譯。
[0034]其中,Android應(yīng)用程序包文件(apk)是一種Android操作系統(tǒng)上的應(yīng)用程序安裝文件格式,其英文全稱為“applicat1n package file”。
[0035]需要說明的是,由于Android系統(tǒng)是開源的操作系統(tǒng),技術(shù)人員可以對其進行二次開發(fā),所以,本發(fā)明所提供的技術(shù)方案主要是針對Android設(shè)備的,當然,也并不局限于此,只要是在沒有做出創(chuàng)造性勞動前提下所獲得的所有方案設(shè)計思路都屬于本發(fā)明保護的范圍。
[0036]步驟S101、在編譯的過程中,安裝apk及與該apk相關(guān)的安裝文件到data/app目錄,并將apk及與該apk相關(guān)的安裝文件備份到system/etc目錄;
[0037]具體地,源碼編譯成image的時候,判斷該apk是否為第三方apk,如果是,則將該apk以及相關(guān)安裝文件安裝到data/app目錄下,同時將其備份到system/etc目錄下。
[0038]步驟S102、當檢測到設(shè)備為恢復(fù)出廠設(shè)置后的啟動狀態(tài)時,將system/etc目錄下的apk及與該apk相關(guān)的安裝文件安裝到data/app目錄。
[0039]具體地,當用戶點擊FDR,重啟設(shè)備時,通過判斷是否為factory reset來將備份在system/etc的apk以及相關(guān)安裝文件重新安裝到data