亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

應用程序運行方法、裝置、終端及計算機可讀存儲介質(zhì)與流程

文檔序號:11250637閱讀:970來源:國知局
應用程序運行方法、裝置、終端及計算機可讀存儲介質(zhì)與流程

本發(fā)明實施例涉及終端應用技術領域,尤其涉及一種應用程序運行方法、裝置、終端及計算機可讀存儲介質(zhì)。



背景技術:

終端系統(tǒng)的應用程序是以安裝包的形式存放于終端中,例如android系統(tǒng)以apk(androidpackage,安卓安裝包)的形式存放,ios系統(tǒng)以ipa(iphoneapplication,apple程序應用文件)的形式存放。

以android系統(tǒng)為例,一個常規(guī)的apk,其源碼結構包括代碼、資源文件和入口文件(androidmanifest.xml文件),其中,入口文件配置了程序運行所必要的組件。將上述代碼和資源文件通過編譯命令或ide工具可編譯出apk安裝包。當應用程序運行時,會執(zhí)行代碼,在代碼執(zhí)行過程中需要調(diào)用資源文件時,一般是根據(jù)資源文件的標識從apk中調(diào)用資源文件。

發(fā)明人在實施本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術方案具有以下缺陷:對于已發(fā)布的安裝包,如果想要更改一小部分的資源文件,比如更改字符串的顯示,更改其中一些圖片等等,需要在更新資源文件后重新編譯一個apk安裝包,再進行覆蓋安裝,耗費大量的資源。



技術實現(xiàn)要素:

本發(fā)明提供一種應用程序運行方法、裝置、終端及計算機可讀存儲介質(zhì),以實現(xiàn)在面對更改應用程序的資源文件時,不需要重新編譯應用程序安裝包,減小資源的耗費。

第一方面,本發(fā)明實施例提供了一種應用程序運行方法,包括:

在應用程序安裝包中的代碼運行過程中產(chǎn)生資源文件調(diào)用請求時,根據(jù)資源文件的標識從資源文件包中調(diào)用資源文件;其中,所述資源文件包為與所述應用程序安裝包關聯(lián)的安裝包;所述應用程序安裝包和所述資源文件包中對應資源文件的標識相同;

若從所述資源文件包中調(diào)用資源文件失敗,則根據(jù)所述資源文件的標識從所述應用程序安裝包調(diào)用資源文件。

進一步地,所述資源文件包中的入口文件包含有聲明本資源文件包與所述應用程序安裝包關聯(lián)的標簽;

所述在應用程序安裝包中的代碼運行過程中產(chǎn)生資源文件調(diào)用請求時,根據(jù)資源文件的標識從資源文件包中調(diào)用資源文件,具體包括:

在各安裝包的入口文件中檢測是否存在聲明標簽;

根據(jù)所述資源文件的標識從包含有該標簽的安裝包中調(diào)用資源文件。

進一步地,所述若從所述資源文件包中調(diào)用資源文件失敗,則根據(jù)所述資源文件的標識從所述應用程序安裝包調(diào)用資源文件,具體包括:

若讀取不到所述資源文件包,則根據(jù)資源文件的標識從所述應用程序安裝包調(diào)用資源文件;

若讀取到所述資源文件包,且根據(jù)所述資源文件的標識從所述資源文件包中調(diào)用不到所述資源文件,則根據(jù)所述資源文件的標識從所述應用程序安裝包調(diào)用資源文件。

進一步地,所述應用程序運行方法還包括:

在接收到恢復使用所述應用程序安裝包中的資源文件的指令時,刪除所述資源文件包。

進一步地,所述資源文件為圖片文件或字符串文件。

第二方面,本發(fā)明實施例還提供了一種應用程序運行裝置,該應用程序運行裝置包括:

第一調(diào)用模塊,用于在應用程序安裝包中的代碼運行過程中產(chǎn)生資源文件調(diào)用請求時,根據(jù)資源文件的標識從資源文件包中調(diào)用資源文件;其中,所述資源文件包為與所述應用程序安裝包關聯(lián)的安裝包;所述應用程序安裝和所述資源文件包中對應的資源文件的標識相同;

第二調(diào)用模塊,用于若從所述資源文件包中調(diào)用資源文件失敗,則根據(jù)所述資源文件的標識從所述應用程序安裝包調(diào)用資源文件。

進一步地,所述第二調(diào)用模塊包括:

第一原始調(diào)用單元,用于若讀取不到所述資源文件包,則根據(jù)資源文件的標識從所述應用程序安裝包調(diào)用資源文件;

第二原始調(diào)用單元,用于若讀取到所述資源文件包,且根據(jù)所述資源文件的標識從所述資源文件包中調(diào)用不到所述資源文件,則根據(jù)所述資源文件的標識從所述應用程序安裝包調(diào)用資源文件。

進一步地,所述應用程序運行裝置還包括:

恢復模塊,用于在接收到恢復使用所述應用程序安裝包中的資源文件的指令時,刪除所述資源文件包。

第三方面,本發(fā)明實施例還提供了一種終端,所述終端包括:

一個或多個處理器;

存儲裝置,用于存儲一個或多個程序;

當所述一個或多個程序被所述一個或多個處理器執(zhí)行,使得所述一個或多個處理器實現(xiàn)以上任一所述的應用程序運行方法。

第四方面,本發(fā)明實施例還提供了一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,該程序被處理器執(zhí)行時實現(xiàn)以上任一所述的應用程序運行方法。

本發(fā)明實施例通過將調(diào)用資源文件的方法調(diào)整為先從資源文件包中調(diào)用資源文件,若從資源文件包中調(diào)用失敗再從應用程序安裝包中調(diào)用資源文件,使得可以通過增加資源文件包的方式來替代應用程序安裝包中資源文件的使用,在需要更新資源文件時無需重新編譯整個應用程序安裝包,解決現(xiàn)有技術方案需要重新編譯應用程序安裝包造成資源耗費大的問題,實現(xiàn)修改資源文件方便、節(jié)省編譯和發(fā)布的資源的效果。

附圖說明

圖1是本發(fā)明實施例一中的應用程序運行方法的流程圖;

圖2是本發(fā)明實施例一中的應用程序運行方法的原理圖;

圖3是本發(fā)明實施例二中的應用程序運行方法的流程圖;

圖4是本發(fā)明實施例三中的應用程序運行裝置的結構示意圖;

圖5是本發(fā)明實施例四提供的一種終端的結構示意圖。

具體實施方式

下面結合附圖和實施例對本發(fā)明作進一步的詳細說明??梢岳斫獾氖?,此處所描述的具體實施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關的部分而非全部結構。

實施例一

圖1為本發(fā)明實施例一提供的應用程序運行方法的流程圖,本實施例可適用于終端操作系統(tǒng)中應用程序運行過程中對資源文件的調(diào)取使用,例如在android系統(tǒng)該方法可以通過更改androidframeworks源碼runtimeresourceoverlay機制來實現(xiàn),具體包括如下步驟:

步驟110、在應用程序安裝包中的代碼運行過程中產(chǎn)生資源文件調(diào)用請求時,根據(jù)資源文件的標識從資源文件包中調(diào)用資源文件;

其中,所述資源文件包為與所述應用程序安裝包關聯(lián)的安裝包;所述應用程序安裝包和所述資源文件包中對應資源文件的標識相同;具體地,所述應用程序安裝包包含該應用程序的代碼和一個或多個原始資源文件;所述資源文件包包含一個或多個與所述原始資源文件全部或部分對應的資源文件,具體實施時,可以是做了更新修改的資源文件;此外,以android系統(tǒng)為例,在具體實施時,各安裝包除包含代碼和/或原始資源代碼外,還須包含android應用程序的入口文件androidmanifest.xml,該入口文件配置了應用程序運行所必要的組件;資源文件的標識包括資源文件的身份信息(id)以及配置信息(cfg),根據(jù)資源文件的標識可在安裝包中找到對應的資源文件;;

步驟120、若從所述資源文件包中調(diào)用資源文件失敗,則根據(jù)所述資源文件的標識從所述應用程序安裝包調(diào)用資源文件。

圖2為本實施例應用程序運行方法的原理圖,如圖所示,該應用程序運行方法的工作原理為:在應用程序(app)安裝包中的代碼運行過程中產(chǎn)生調(diào)用資源文件23的請求時,根據(jù)資源文件的標識(id及cfg)先從包含有更新的資源文件的資源文件包22(overlay.apk)中調(diào)用,若調(diào)用失敗,則到應用程序安裝包21(app.apk)中調(diào)用,成功調(diào)用到資源文件返回至應用程序(app)顯示。

本實施例的技術方案,通過將調(diào)用資源文件的方法調(diào)整為先從資源文件包中調(diào)用資源文件,若從資源文件包中調(diào)用失敗再從應用程序安裝包中調(diào)用資源文件,使得可以通過增加資源文件包的方式來替代應用程序安裝包中的資源文件的使用,在需要更新資源文件時無需重新編譯整個應用程序安裝包,解決現(xiàn)有技術方案需要重新編譯應用程序安裝包造成資源耗費大的問題,實現(xiàn)修改資源文件方便、節(jié)省編譯和發(fā)布的資源的效果。并且,資源文件的修改可以和代碼的修改分開,不相互影響,提高了應用程序的可維護性,也方便根據(jù)不同的需求對應用的資源文件進行配置。

在上述技術方案的基礎上,優(yōu)選地,應用程序運行方法的步驟120具體包括:

若讀取不到所述資源文件包,則根據(jù)資源文件的標識從所述應用程序安裝包調(diào)用資源文件;

若讀取到所述資源文件包,且根據(jù)所述資源文件的標識從所述資源文件包中調(diào)用不到所述資源文件,則根據(jù)所述資源文件的標識從所述應用程序安裝包調(diào)用資源文件。

該優(yōu)選實施方式設置了調(diào)用資源文件失敗可有兩種情況:一、資源文件包不存在;二、資源文件包中不存在應用程序要調(diào)用的資源文件。對于該優(yōu)選實施方式,資源文件包和應用程序安裝包中的資源文件可以只是部分對應替代,而無需全部對應替代,使得本領域技術人員在通過增加資源文件包的方式來修改資源文件時,可以在資源文件包中最小化資源文件包的容量,即資源文件包中的資源文件僅包括更新的資源文件,從而進一步減少安裝包的編譯和發(fā)布的資源耗費,也減少文件在終端存儲介質(zhì)中的占用量。

在上述技術方案的基礎上,作為查找資源文件包的優(yōu)選方式,所述資源文件包中的入口文件包含有聲明本資源文件包與所述應用程序安裝包關聯(lián)的標簽;步驟110、在應用程序調(diào)用資源文件時,根據(jù)資源文件的標識從資源文件包中調(diào)用資源文件,具體包括:

在各安裝包的入口文件中檢測是否存在聲明標簽;

根據(jù)所述資源文件的標識從包含有該標簽的安裝包中調(diào)用資源文件。

具體地,在android系統(tǒng)中,實施上述優(yōu)選實施方式可通過在資源文件包的入口文件androidmanifest.xml中增加如下標簽以實現(xiàn)與應用程序安裝包區(qū)分:

其中,package是資源文件包的包名,上述標簽指定了targetpackage的值為應用程序安裝包的包名,即聲明了本安裝包與應用程序安裝包的關聯(lián)關系。通過標簽的設置區(qū)分了資源文件包和應用程序安裝包,使得資源文件的管理方法能完善執(zhí)行。

綜上,本實施例的技術方案,解決現(xiàn)有技術方案需要重新編譯應用程序安裝包造成資源耗費大的問題,實現(xiàn)修改資源文件方便、節(jié)省編譯和發(fā)布的資源的效果。

實施例二

圖3為本發(fā)明實施例二提供的應用程序運行方法的流程圖,本實施例包括上述實施例一的全部特征,并且增加了恢復使用原始資源文件的步驟,同樣可適用于終端操作系統(tǒng)中應用程序運行過程中對資源文件的調(diào)取使用,例如在android系統(tǒng)該方法可以通過更改androidframeworks源碼runtimeresourceoverlay機制來實現(xiàn),具體包括如下步驟:

步驟310、在應用程序安裝包中的代碼運行過程中產(chǎn)生資源文件調(diào)用請求時,根據(jù)資源文件的標識從資源文件包中調(diào)用資源文件;其中,所述資源文件包為與所述應用程序安裝包關聯(lián)的安裝包,所述應用程序安裝包和所述資源文件包中對應資源文件的標識相同;

步驟320、若從所述資源文件包中調(diào)用資源文件失敗,則根據(jù)所述資源文件的標識從所述應用程序安裝包調(diào)用資源文件;

步驟330、在接收到恢復使用所述應用程序安裝包中的資源文件的指令時,刪除所述資源文件包。

本實施例的技術方案,通過增加資源文件包的方式來替代原始資源文件,無需重新編譯整個應用程序安裝包,并且,在接收到恢復使用原始文件的指令時,刪除所述資源文件包;由于應用程序安裝包保留有原始資源文件,因此刪除資源文件包即可恢復使用原始資源文件,解決了現(xiàn)有技術中在應用程序安裝包中更新了資源文件后無法恢復的問題,實現(xiàn)了恢復簡單的效果。

在上述技術方案的基礎上,該應用程序運行方法還可以包括:

從服務器接收第二資源文件包;其中,所述第二資源文件包和所述應用程序安裝包中對應的標識相同;

刪除原有的資源文件包,并以所述第二資源文件包作為當前的資源文件包。

上述改進方案是對資源文件二次修改進行了適應性改進,卸載原有的資源文件安裝第二資源文件包可獲得最新的資源文件。顯然,本實施例將資源文件的修改與代碼進行隔離,在二次修改時重新編譯和發(fā)布資源文件安裝包,所損耗的資源遠小于整個應用程序安裝包進行重新編譯和發(fā)布所損耗的資源,且通過減少重新編譯和發(fā)布的次數(shù),可降低由于可能存在不當操作或是編譯環(huán)境變更所帶來的風險。當然,本領域技術人員還可以繼續(xù)通過更改androidframeworks源碼runtimeresourceoverlay機制來調(diào)整調(diào)用資源文件的方法,使得第二資源文件包與原有的資源文件包共存,資源文件的調(diào)用順序調(diào)整為先從第二資源文件包調(diào)用,再從原有的資源文件包調(diào)用,即按照下載時間調(diào)整資源文件包調(diào)用的優(yōu)先級;當從所有資源文件包調(diào)用都失敗時,再從應用程序安裝包進行調(diào)用。這些方案都不脫離本發(fā)明的保護范圍。

綜上,本實施例的技術方案,在解決現(xiàn)有技術方案需要重新編譯應用程序安裝包造成資源耗費大的問題的基礎上,還解決了現(xiàn)有技術方案中在應用程序安裝包中更新了資源文件后無法恢復的問題,實現(xiàn)修改資源文件方便、節(jié)省編譯和發(fā)布的資源、恢復簡單的效果。

實施例三

圖4為本發(fā)明實施例二提供的應用程序運行裝置的結構示意圖;該裝置包括:

第一調(diào)用模塊,用于在應用程序安裝包中的代碼運行過程中產(chǎn)生資源文件調(diào)用請求時,根據(jù)資源文件的標識從資源文件包中調(diào)用資源文件;其中,所述資源文件包為與所述應用程序安裝包關聯(lián)的安裝包;所述應用程序安裝包和所述資源文件包中對應資源文件的標識相同;

第二調(diào)用模塊,用于若從所述資源文件包中調(diào)用資源文件失敗,則根據(jù)所述資源文件的標識從所述應用程序安裝包調(diào)用資源文件。

進一步地,所述資源文件包中的入口文件包含有聲明本資源文件包與所述應用程序安裝包關聯(lián)的標簽;

所述第一調(diào)用模塊包括:

檢測單元,用于在各安裝包的入口文件中檢測是否存在聲明標簽;

執(zhí)行單元,用于根據(jù)所述資源文件的標識從包含有該標簽的安裝包中調(diào)用資源文件。

進一步地,所述第二調(diào)用模塊包括:

第一原始調(diào)用單元,用于若讀取不到所述資源文件包,則根據(jù)資源文件的標識從所述應用程序安裝包調(diào)用資源文件;

第二原始調(diào)用單元,用于若讀取到所述資源文件包,且根據(jù)所述資源文件的標識從所述資源文件包中調(diào)用不到所述資源文件,則根據(jù)所述資源文件的標識從所述應用程序安裝包調(diào)用資源文件。

進一步地,所述應用程序運行裝置還包括:

恢復模塊430,用于在接收到恢復使用所述應用程序安裝包中的資源文件的指令時,刪除所述資源文件包。

本發(fā)明實施例所提供的應用程序運行裝置可執(zhí)行本發(fā)明任意實施例所提供的應用程序運行方法,具備執(zhí)行方法相應的功能模塊和有益效果。

實施例四

圖5為本發(fā)明實施例四提供的一種終端的結構示意圖,如圖5所示,該終端包括處理器510、存儲器520、輸入裝置530和輸出裝置540;終端中處理器510的數(shù)量可以是一個或多個,圖5中以一個處理器510為例;終端中的處理器510、存儲器520、輸入裝置530和輸出裝置540可以通過總線或其他方式連接,圖5中以通過總線連接為例。

存儲器520作為一種計算機可讀存儲介質(zhì),可用于存儲軟件程序、計算機可執(zhí)行程序以及模塊,如本發(fā)明實施例中的應用程序運行方法對應的程序指令/模塊(例如,應用程序運行裝置中的第一調(diào)用模塊310、第二調(diào)用模塊320和恢復模塊330)。處理器510通過運行存儲在存儲器520中的軟件程序、指令以及模塊,從而執(zhí)行終端的各種功能應用以及數(shù)據(jù)處理,即實現(xiàn)上述的應用程序運行方法。

作為其中一種實施方式,該終端為安卓智能電視。

存儲器520可主要包括存儲程序區(qū)和存儲數(shù)據(jù)區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個功能所需的應用程序;存儲數(shù)據(jù)區(qū)可存儲根據(jù)終端的使用所創(chuàng)建的數(shù)據(jù)等。此外,存儲器520可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他非易失性固態(tài)存儲器件。在一些實例中,存儲器520可進一步包括相對于處理器510遠程設置的存儲器,這些遠程存儲器可以通過網(wǎng)絡連接至終端。上述網(wǎng)絡的實例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動通信網(wǎng)及其組合。

輸入裝置530可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與終端的用戶設置以及功能控制有關的鍵信號輸入。輸出裝置540可包括顯示屏等顯示設備。

實施例五

本發(fā)明實施例五還提供一種包含計算機可執(zhí)行指令的存儲介質(zhì),其上存儲有計算機程序,該程序被處理器執(zhí)行時實現(xiàn)上述實施例所述的應用程序運行方法。

當然,本發(fā)明實施例所提供的一種包含計算機可執(zhí)行指令的存儲介質(zhì),其計算機可執(zhí)行指令不限于如上所述的方法操作,還可以執(zhí)行本發(fā)明任意實施例所提供的應用程序運行方法中的相關操作.

通過以上關于實施方式的描述,所屬領域的技術人員可以清楚地了解到,本發(fā)明可借助軟件及必需的通用硬件來實現(xiàn),當然也可以通過硬件實現(xiàn),但很多情況下前者是更佳的實施方式。基于這樣的理解,本發(fā)明的技術方案本質(zhì)上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在計算機可讀存儲介質(zhì)中,如計算機的軟盤、只讀存儲器(read-onlymemory,rom)、隨機存取存儲器(randomaccessmemory,ram)、閃存(flash)、硬盤或光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。

值得注意的是,上述應用程序運行裝置的實施例中,所包括的各個單元和模塊只是按照功能邏輯進行劃分的,但并不局限于上述的劃分,只要能夠實現(xiàn)相應的功能即可;另外,各功能單元的具體名稱也只是為了便于相互區(qū)分,并不用于限制本發(fā)明的保護范圍。

注意,上述僅為本發(fā)明的較佳實施例及所運用技術原理。本領域技術人員會理解,本發(fā)明不限于這里所述的特定實施例,對本領域技術人員來說能夠進行各種明顯的變化、重新調(diào)整和替代而不會脫離本發(fā)明的保護范圍。因此,雖然通過以上實施例對本發(fā)明進行了較為詳細的說明,但是本發(fā)明不僅僅限于以上實施例,在不脫離本發(fā)明構思的情況下,還可以包括更多其他等效實施例,而本發(fā)明的范圍由所附的權利要求范圍決定。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1