本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種減小應(yīng)用安裝包的方法、裝置及電子設(shè)備。
背景技術(shù):
隨著網(wǎng)絡(luò)及計(jì)算機(jī)技術(shù)的發(fā)展,種類繁多的應(yīng)用被廣泛使用在各類移動(dòng)終端上,逐漸成為人們?nèi)粘I钪胁豢苫蛉钡囊徊糠帧?/p>
應(yīng)用安裝包作為應(yīng)用的載體,其中包括安裝應(yīng)用的所有文件,運(yùn)行這個(gè)安裝包,可以將應(yīng)用的所有文件釋放到硬盤上,完成修改注冊(cè)表、修改系統(tǒng)設(shè)置、創(chuàng)建快捷方式等工作。若應(yīng)用安裝包太大,則其下載過(guò)程耗費(fèi)的流量高,下載過(guò)程緩慢、效率低,導(dǎo)致用戶不愿意下載,降低了應(yīng)用的使用率。因此,如何減小應(yīng)用安裝包的大小,成為應(yīng)用開發(fā)中至關(guān)重要的一項(xiàng)工作。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問(wèn)題之一。
為此,本發(fā)明的第一個(gè)目的在于提出一種減小應(yīng)用安裝包的方法,實(shí)現(xiàn)了將項(xiàng)目完成后所有程序文件的內(nèi)容都放入一個(gè)類文件中,且類文件中僅包括一個(gè)包頭,從而減小了應(yīng)用安裝包的大小,節(jié)省了應(yīng)用安裝包占用的空間及下載過(guò)程中耗費(fèi)的流量,提高了應(yīng)用安裝包的下載速度和應(yīng)用的使用率,改善了用戶體驗(yàn)。
本發(fā)明的第二個(gè)目的在于提出一種減小應(yīng)用安裝包的裝置。
本發(fā)明的第三個(gè)目的在于提出一種電子設(shè)備。
本發(fā)明的第四個(gè)目的在于提出一種存儲(chǔ)介質(zhì)。
本發(fā)明的第五個(gè)目的在于提出一種應(yīng)用程序。
為達(dá)上述目的,本發(fā)明第一方面實(shí)施例提出了一種減小應(yīng)用安裝包的方法,包括:利用腳本語(yǔ)言創(chuàng)建一個(gè)與應(yīng)用對(duì)應(yīng)的類文件;將所述應(yīng)用對(duì)應(yīng)的項(xiàng)目文件中,各個(gè)程序文件中的各原始導(dǎo)入?yún)?shù)進(jìn)行預(yù)設(shè)處理,得到各個(gè)程序文件對(duì)應(yīng)的各新的導(dǎo)入?yún)?shù);將所述各個(gè)新的導(dǎo)入?yún)?shù)及各個(gè)程序文件中的功能代碼復(fù)制進(jìn)所述類文件中,生成所述應(yīng)用對(duì)應(yīng)的新的項(xiàng)目文件。
在第一方面的一種可能的實(shí)現(xiàn)形式中,所述利用腳本語(yǔ)言創(chuàng)建一個(gè)與應(yīng)用對(duì)應(yīng)的類文件,包括:
利用Python語(yǔ)言,創(chuàng)建一個(gè)與所述應(yīng)用對(duì)應(yīng)的類文件。
在第一方面的另一種可能的實(shí)現(xiàn)形式中,所述將所述應(yīng)用對(duì)應(yīng)的項(xiàng)目文件中,各個(gè)程序文件中的各原始導(dǎo)入?yún)?shù)進(jìn)行預(yù)設(shè)處理,包括:
分別將所述類文件標(biāo)識(shí),以父類的形式添加至所述應(yīng)用對(duì)應(yīng)的項(xiàng)目文件中,各個(gè)程序文件中的各原始導(dǎo)入?yún)?shù)中。
在第一方面的另一種可能的實(shí)現(xiàn)形式中,所述將所述各個(gè)新的導(dǎo)入?yún)?shù)及各個(gè)程序文件中的功能代碼復(fù)制進(jìn)所述類文件中之后,還包括:
判斷所述各個(gè)新的導(dǎo)入?yún)?shù)是否存在冗余;
若是,則刪除冗余導(dǎo)入?yún)?shù)。
在第一方面的另一種可能的實(shí)現(xiàn)形式中,所述生成所述應(yīng)用對(duì)應(yīng)的新的項(xiàng)目文件之后,還包括:
將所述新的項(xiàng)目文件進(jìn)行編譯處理,生成所述應(yīng)用對(duì)應(yīng)的安裝包文件。
本發(fā)明實(shí)施例提供的減小應(yīng)用安裝包的方法,首先利用腳本語(yǔ)言創(chuàng)建一個(gè)與應(yīng)用對(duì)應(yīng)的類文件;然后將應(yīng)用對(duì)應(yīng)的項(xiàng)目文件中,各個(gè)程序文件中的各原始導(dǎo)入?yún)?shù)進(jìn)行預(yù)設(shè)處理,得到各個(gè)程序文件對(duì)應(yīng)的各新的導(dǎo)入?yún)?shù);最后將各個(gè)新的導(dǎo)入?yún)?shù)及各個(gè)程序文件中的功能代碼復(fù)制進(jìn)類文件中,生成應(yīng)用對(duì)應(yīng)的新的項(xiàng)目文件。由此,實(shí)現(xiàn)了將項(xiàng)目完成后所有程序文件的內(nèi)容都放入一個(gè)類文件中,且類文件中僅包括一個(gè)包頭,從而減小了應(yīng)用安裝包的大小,節(jié)省了應(yīng)用安裝包占用的空間及下載過(guò)程中耗費(fèi)的流量,提高了應(yīng)用安裝包的下載速度和應(yīng)用的使用率,改善了用戶體驗(yàn)。
為達(dá)上述目的,本發(fā)明第二方面實(shí)施例提出了一種減小應(yīng)用安裝包的裝置,包括:創(chuàng)建模塊,用于利用腳本語(yǔ)言創(chuàng)建一個(gè)與應(yīng)用對(duì)應(yīng)的類文件;第一處理模塊,用于將所述應(yīng)用對(duì)應(yīng)的項(xiàng)目文件中,各個(gè)程序文件中的各原始導(dǎo)入?yún)?shù)進(jìn)行預(yù)設(shè)處理,得到各個(gè)程序文件對(duì)應(yīng)的各新的導(dǎo)入?yún)?shù);第二處理模塊,用于將所述各個(gè)新的導(dǎo)入?yún)?shù)及各個(gè)程序文件中的功能代碼復(fù)制進(jìn)所述類文件中,生成所述應(yīng)用對(duì)應(yīng)的新的項(xiàng)目文件。
在第二方面的一種可能的實(shí)現(xiàn)形式中,所述創(chuàng)建模塊,具體用于:
利用Python語(yǔ)言,創(chuàng)建一個(gè)與所述應(yīng)用對(duì)應(yīng)的類文件。
在第二方面的另一種可能的實(shí)現(xiàn)形式中,所述第一處理模塊,具體用于:
分別將所述類文件標(biāo)識(shí),以父類的形式添加至所述應(yīng)用對(duì)應(yīng)的項(xiàng)目文件中,各個(gè)程序文件中的各原始導(dǎo)入?yún)?shù)中。
在第二方面的另一種可能的實(shí)現(xiàn)形式中,該減小應(yīng)用安裝包的裝置,還包括:
判斷模塊,用于判斷所述各個(gè)新的導(dǎo)入?yún)?shù)是否存在冗余;
刪除模塊,用于所述各個(gè)新的導(dǎo)入?yún)?shù)存在冗余時(shí),刪除冗余導(dǎo)入?yún)?shù)。
在第二方面的另一種可能的實(shí)現(xiàn)形式中,該減小應(yīng)用安裝包的裝置,還包括:
第三處理模塊,用于將所述新的項(xiàng)目文件進(jìn)行編譯處理,生成所述應(yīng)用對(duì)應(yīng)的安裝包文件。
本發(fā)明實(shí)施例提供的減小應(yīng)用安裝包的裝置,首先利用腳本語(yǔ)言創(chuàng)建一個(gè)與應(yīng)用對(duì)應(yīng)的類文件;然后將應(yīng)用對(duì)應(yīng)的項(xiàng)目文件中,各個(gè)程序文件中的各原始導(dǎo)入?yún)?shù)進(jìn)行預(yù)設(shè)處理,得到各個(gè)程序文件對(duì)應(yīng)的各新的導(dǎo)入?yún)?shù);最后將各個(gè)新的導(dǎo)入?yún)?shù)及各個(gè)程序文件中的功能代碼復(fù)制進(jìn)類文件中,生成應(yīng)用對(duì)應(yīng)的新的項(xiàng)目文件。由此,實(shí)現(xiàn)了將項(xiàng)目完成后所有程序文件的內(nèi)容都放入一個(gè)類文件中,且類文件中僅包括一個(gè)包頭,從而減小了應(yīng)用安裝包的大小,節(jié)省了應(yīng)用安裝包占用的空間及下載過(guò)程中耗費(fèi)的流量,提高了應(yīng)用安裝包的下載速度和應(yīng)用的使用率,改善了用戶體驗(yàn)。
為達(dá)上述目的,本發(fā)明第三方面實(shí)施例提出了一種電子設(shè)備,包括:處理器,存儲(chǔ)器,以及通信組件;
所述存儲(chǔ)器用于存儲(chǔ)可執(zhí)行程序代碼;
所述通信組件,用于與其它電子設(shè)備進(jìn)行通信,以獲取應(yīng)用對(duì)應(yīng)的項(xiàng)目文件;
所述處理器通過(guò)讀取所述存儲(chǔ)器中存儲(chǔ)的可執(zhí)行程序代碼來(lái)運(yùn)行與所述可執(zhí)行程序代碼對(duì)應(yīng)的程序,以用于執(zhí)行以下步驟:
利用腳本語(yǔ)言創(chuàng)建一個(gè)與應(yīng)用對(duì)應(yīng)的類文件;
將所述應(yīng)用對(duì)應(yīng)的項(xiàng)目文件中,各個(gè)程序文件中的各原始導(dǎo)入?yún)?shù)進(jìn)行預(yù)設(shè)處理,得到各個(gè)程序文件對(duì)應(yīng)的各新的導(dǎo)入?yún)?shù);
將所述各個(gè)新的導(dǎo)入?yún)?shù)及各個(gè)程序文件中的功能代碼復(fù)制進(jìn)所述類文件中,生成所述應(yīng)用對(duì)應(yīng)的新的項(xiàng)目文件。
本申請(qǐng)實(shí)施例提供的電子設(shè)備,首先利用腳本語(yǔ)言創(chuàng)建一個(gè)與應(yīng)用對(duì)應(yīng)的類文件;然后將應(yīng)用對(duì)應(yīng)的項(xiàng)目文件中,各個(gè)程序文件中的各原始導(dǎo)入?yún)?shù)進(jìn)行預(yù)設(shè)處理,得到各個(gè)程序文件對(duì)應(yīng)的各新的導(dǎo)入?yún)?shù);最后將各個(gè)新的導(dǎo)入?yún)?shù)及各個(gè)程序文件中的功能代碼復(fù)制進(jìn)類文件中,生成應(yīng)用對(duì)應(yīng)的新的項(xiàng)目文件。由此,實(shí)現(xiàn)了將項(xiàng)目完成后所有程序文件的內(nèi)容都放入一個(gè)類文件中,且類文件中僅包括一個(gè)包頭,從而減小了應(yīng)用安裝包的大小,節(jié)省了應(yīng)用安裝包占用的空間及下載過(guò)程中耗費(fèi)的流量,提高了應(yīng)用安裝包的下載速度和應(yīng)用的使用率,改善了用戶體驗(yàn)。
為達(dá)上述目的,本發(fā)明第四方面實(shí)施例提出了一種存儲(chǔ)介質(zhì),其中,該存儲(chǔ)介質(zhì)用于存儲(chǔ)應(yīng)用程序,所述應(yīng)用程序用于在運(yùn)行時(shí)執(zhí)行本發(fā)明實(shí)施例所述的減小應(yīng)用安裝包的方法。
為達(dá)上述目的,本發(fā)明第五方面實(shí)施例提出了一種應(yīng)用程序,其中,所述應(yīng)用程序用于在運(yùn)行時(shí)執(zhí)行本發(fā)明實(shí)施例所述的減小應(yīng)用安裝包的方法。
附圖說(shuō)明
本發(fā)明上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中:
圖1是本發(fā)明一個(gè)實(shí)施例的減小應(yīng)用安裝包的方法的流程圖;
圖2是本發(fā)明另一個(gè)實(shí)施例的減小應(yīng)用安裝包的方法的流程圖;
圖3是本發(fā)明一個(gè)實(shí)施例的減小應(yīng)用安裝包的裝置的結(jié)構(gòu)圖;
圖4是本發(fā)明另一個(gè)實(shí)施例的減小應(yīng)用安裝包的裝置的結(jié)構(gòu)圖;
圖5是本發(fā)明一個(gè)實(shí)施例的電子設(shè)備的結(jié)構(gòu)圖。
具體實(shí)施方式
下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過(guò)參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對(duì)本發(fā)明的限制。相反,本發(fā)明的實(shí)施例包括落入所附加權(quán)利要求書的精神和內(nèi)涵范圍內(nèi)的所有變化、修改和等同物。
本發(fā)明各實(shí)施例主要針對(duì)應(yīng)用安裝包太大時(shí),下載過(guò)程耗費(fèi)的流量高,下載過(guò)程緩慢、效率低,導(dǎo)致用戶不愿意下載,降低了應(yīng)用的使用率的問(wèn)題,提出一種將項(xiàng)目完成后所有程序文件的內(nèi)容都放入一個(gè)類文件中,以減少冗余代碼,進(jìn)而減小應(yīng)用安裝包的方法。
下面參考附圖描述本發(fā)明實(shí)施例的減小應(yīng)用安裝包的方法、裝置及電子設(shè)備。
圖1是本發(fā)明一個(gè)實(shí)施例的減小應(yīng)用安裝包的方法的流程圖。
如圖1所示,該減小應(yīng)用安裝包的方法包括:
步驟101,利用腳本語(yǔ)言創(chuàng)建一個(gè)與應(yīng)用對(duì)應(yīng)的類文件。
具體的,本發(fā)明實(shí)施例提供的減小應(yīng)用安裝包的方法,可以由本發(fā)明實(shí)施例提供的減小應(yīng)用安裝包的裝置執(zhí)行。
其中,腳本語(yǔ)言是介于HTML和C,C++,Java,C#等編程語(yǔ)言之間的語(yǔ)言,具體的,可以包括JavaScript、VBScript、Python等。
具體實(shí)現(xiàn)時(shí),比如可以利用Python,創(chuàng)建一個(gè)與應(yīng)用對(duì)應(yīng)的類文件,其中,類文件的包頭為該應(yīng)用的標(biāo)識(shí)或名稱,用于標(biāo)識(shí)該類文件為該應(yīng)用對(duì)應(yīng)的文件。
步驟102,將所述應(yīng)用對(duì)應(yīng)的項(xiàng)目文件中,各個(gè)程序文件中的各原始導(dǎo)入?yún)?shù)進(jìn)行預(yù)設(shè)處理,得到各個(gè)程序文件對(duì)應(yīng)的各新的導(dǎo)入?yún)?shù)。
步驟103,將所述各個(gè)新的導(dǎo)入?yún)?shù)及各個(gè)程序文件中的功能代碼復(fù)制進(jìn)所述類文件中,生成所述應(yīng)用對(duì)應(yīng)的新的項(xiàng)目文件。
其中,應(yīng)用對(duì)應(yīng)的項(xiàng)目文件,為應(yīng)用開發(fā)過(guò)程中形成的文件,具體的,可以是在集成開發(fā)環(huán)境(Integrated Development Environment,簡(jiǎn)稱IDE)中開發(fā)應(yīng)用所形成的文件。各個(gè)程序文件中存儲(chǔ)的是利用某種編程語(yǔ)言編寫的程序代碼。
可以理解的是,為了與其它應(yīng)用對(duì)應(yīng)的程序文件進(jìn)行區(qū)分,應(yīng)用對(duì)應(yīng)的項(xiàng)目文件中,每個(gè)程序文件中的包頭文件中均包括應(yīng)用對(duì)應(yīng)的標(biāo)識(shí),用來(lái)唯一確定被開發(fā)的應(yīng)用對(duì)應(yīng)的程序文件。
另外,由于在實(shí)際開發(fā)中,使用某個(gè)類或接口之前,需要先導(dǎo)入該類,因此,各個(gè)程序文件中還可以包括導(dǎo)入?yún)?shù)(import),例如,Java程序中的import,通過(guò)“import packa.abc.*;”,即可導(dǎo)入packa包中的子包abc下的所有的類。
具體實(shí)現(xiàn)時(shí),依次遍歷應(yīng)用對(duì)應(yīng)的項(xiàng)目文件中包括的各個(gè)程序文件后,即可獲取各個(gè)程序文件的應(yīng)用標(biāo)識(shí)、導(dǎo)入?yún)?shù)、功能代碼等內(nèi)容。
舉例來(lái)說(shuō),假設(shè)利用Java編程語(yǔ)言進(jìn)行應(yīng)用開發(fā),則各個(gè)程序文件即為后綴為.java的Java文件。通過(guò)遍歷Java文件,即可獲取Java文件中包括的應(yīng)用標(biāo)識(shí)、import和功能代碼等內(nèi)容。
具體實(shí)現(xiàn)時(shí),獲取了各個(gè)程序文件的內(nèi)容后,即可將該內(nèi)容,復(fù)制到步驟101創(chuàng)建的類文件中,生成應(yīng)用對(duì)應(yīng)的新的項(xiàng)目文件。
需要注意的是,由于步驟101用腳本語(yǔ)言創(chuàng)建的與應(yīng)用對(duì)應(yīng)的類文件中,包括應(yīng)用對(duì)應(yīng)的標(biāo)識(shí),因此,在復(fù)制各個(gè)程序文件中的內(nèi)容時(shí),無(wú)需再?gòu)?fù)制應(yīng)用對(duì)應(yīng)的標(biāo)識(shí),即無(wú)需復(fù)制各程序文件中的包頭部分,從而使得應(yīng)用對(duì)應(yīng)的項(xiàng)目文件中,僅包括一個(gè)包頭,減小了項(xiàng)目文件的大小。
另外,將各個(gè)程序文件中的內(nèi)容復(fù)制到步驟101創(chuàng)建的類文件中時(shí),由于各個(gè)程序文件中的各個(gè)原始導(dǎo)入?yún)?shù)導(dǎo)入的包或類,所屬的類已經(jīng)發(fā)生改變,那么,在本申請(qǐng)實(shí)施例中,可以將各個(gè)程序文件中的各原始導(dǎo)入?yún)?shù)進(jìn)行預(yù)設(shè)處理,得到各個(gè)程序文件對(duì)應(yīng)的各新的導(dǎo)入?yún)?shù)。具體過(guò)程可以包括:
分別將所述類文件標(biāo)識(shí),以父類的形式添加至所述應(yīng)用對(duì)應(yīng)的項(xiàng)目文件中,各個(gè)程序文件中的各原始導(dǎo)入?yún)?shù)中。
其中,類文件標(biāo)識(shí),用來(lái)表示創(chuàng)建的類文件,具體的,可以根據(jù)使用的編程語(yǔ)言對(duì)類文件標(biāo)識(shí)的命名規(guī)則進(jìn)行設(shè)置。
舉例來(lái)說(shuō),假設(shè)類文件標(biāo)識(shí)為X,某程序文件的原始導(dǎo)入?yún)?shù)為“import aa.BB;”,其中,aa為包名,BB為類名,通過(guò)“import aa.BB;”,即可導(dǎo)入aa包中的BB類,那么在本實(shí)施例中,將該原始導(dǎo)入?yún)?shù)進(jìn)行預(yù)設(shè)處理時(shí),可以將類文件標(biāo)識(shí)X以父類的形式添加至該原始導(dǎo)入?yún)?shù)中,得到新的導(dǎo)入?yún)?shù)“import aa.X.BB”。
進(jìn)而將各個(gè)新的導(dǎo)入?yún)?shù)及各個(gè)程序文件中的功能代碼復(fù)制進(jìn)創(chuàng)建的類文件中,生成應(yīng)用對(duì)應(yīng)的新的項(xiàng)目文件。
值得注意的是,由于生成的應(yīng)用對(duì)應(yīng)的新的項(xiàng)目文件,是利用高級(jí)語(yǔ)言程序編寫的,并不是計(jì)算機(jī)或者其他電子設(shè)備可以識(shí)別的機(jī)器語(yǔ)言,因此,本實(shí)施例中,生成應(yīng)用對(duì)應(yīng)的新的項(xiàng)目文件之后,需要將新的項(xiàng)目文件進(jìn)行編譯處理,得到新的項(xiàng)目文件對(duì)應(yīng)的二進(jìn)制編碼,即應(yīng)用對(duì)應(yīng)的安裝包文件,以便于應(yīng)用在安裝時(shí),安裝設(shè)備可以根據(jù)二進(jìn)制編碼對(duì)應(yīng)用進(jìn)行安裝。
本發(fā)明實(shí)施例提供的減小應(yīng)用安裝包的方法,首先利用腳本語(yǔ)言創(chuàng)建一個(gè)與應(yīng)用對(duì)應(yīng)的類文件;然后將應(yīng)用對(duì)應(yīng)的項(xiàng)目文件中,各個(gè)程序文件中的各原始導(dǎo)入?yún)?shù)進(jìn)行預(yù)設(shè)處理,得到各個(gè)程序文件對(duì)應(yīng)的各新的導(dǎo)入?yún)?shù);最后將各個(gè)新的導(dǎo)入?yún)?shù)及各個(gè)程序文件中的功能代碼復(fù)制進(jìn)類文件中,生成應(yīng)用對(duì)應(yīng)的新的項(xiàng)目文件。由此,實(shí)現(xiàn)了將項(xiàng)目完成后所有程序文件的內(nèi)容都放入一個(gè)類文件中,且類文件中僅包括一個(gè)包頭,從而減小了應(yīng)用安裝包的大小,節(jié)省了應(yīng)用安裝包占用的空間及下載過(guò)程中耗費(fèi)的流量,提高了應(yīng)用安裝包的下載速度和應(yīng)用的使用率,改善了用戶體驗(yàn)。
通過(guò)上述分析可知,在項(xiàng)目開發(fā)完成后,可以在項(xiàng)目文件中的各程序文件包括的導(dǎo)入?yún)?shù)中加入類文件的標(biāo)識(shí)后,將新導(dǎo)入?yún)?shù)和功能代碼都復(fù)制進(jìn)一個(gè)統(tǒng)一的類文件中,從而減小項(xiàng)目文件的大小。在實(shí)際應(yīng)用中,各程序文件的新的導(dǎo)入?yún)?shù)可能存在冗余,下面結(jié)合圖2,對(duì)上述情況進(jìn)行具體的說(shuō)明。
圖2是本發(fā)明另一個(gè)實(shí)施例的減小應(yīng)用安裝包的方法的流程圖。
如圖2所示,該減小應(yīng)用安裝包的方法,包括:
步驟201,利用Python語(yǔ)言,創(chuàng)建一個(gè)與應(yīng)用對(duì)應(yīng)的類文件。
步驟202,分別將所述類文件標(biāo)識(shí),以父類的形式添加至所述應(yīng)用對(duì)應(yīng)的項(xiàng)目文件中,各個(gè)程序文件中的各原始導(dǎo)入?yún)?shù)中。
步驟203,將所述各個(gè)新的導(dǎo)入?yún)?shù)及各個(gè)程序文件中的功能代碼復(fù)制進(jìn)所述類文件中。
其中,上述步驟201-步驟203的具體實(shí)現(xiàn)過(guò)程和原理,可以參照上述實(shí)施例中步驟101-步驟103的詳細(xì)描述,此處不再贅述。
步驟204,判斷所述各個(gè)新的導(dǎo)入?yún)?shù)是否存在冗余,若是,則執(zhí)行步驟205,否則,執(zhí)行步驟206。
步驟205,刪除冗余導(dǎo)入?yún)?shù)。
具體實(shí)現(xiàn)時(shí),若新的導(dǎo)入?yún)?shù)導(dǎo)入的類存在重復(fù),則可以確定新的導(dǎo)入?yún)?shù)存在冗余,可以將冗余的導(dǎo)入?yún)?shù)刪除。
舉例來(lái)說(shuō),假設(shè)創(chuàng)建的類文件標(biāo)識(shí)為X,應(yīng)用對(duì)應(yīng)的程序文件中,包括“import aa.*;”和“import aa.BB;”兩個(gè)原始導(dǎo)入?yún)?shù),其中,aa為包名,BB為類名,根據(jù)本發(fā)明提供的方法,可以將X,以父類的形式添加至各個(gè)程序文件中的各原始導(dǎo)入?yún)?shù)中,得到新的導(dǎo)入?yún)?shù)“import aa.X.*;”和“import aa.X.BB;”,由于“import aa.X.*;”導(dǎo)入的為aa包中的X下的所有類,“import aa.X.BB;”導(dǎo)入的為aa包中的X父類下的BB子類,兩個(gè)新的導(dǎo)入?yún)?shù)存在冗余,則可以將“import aa.X.BB;”刪除。
步驟206,生成應(yīng)用對(duì)應(yīng)的新的項(xiàng)目文件。
步驟207,將所述新的項(xiàng)目文件進(jìn)行編譯處理,生成所述應(yīng)用對(duì)應(yīng)的安裝包文件。
其中,上述步驟206-步驟207的具體實(shí)現(xiàn)過(guò)程和原理,可以參照上述實(shí)施例中步驟103的詳細(xì)描述,此處不再贅述。
本發(fā)明實(shí)施例提供的減小應(yīng)用安裝包的方法,首先利用腳本語(yǔ)言創(chuàng)建一個(gè)與應(yīng)用對(duì)應(yīng)的類文件,然后得到各個(gè)程序文件的各新的導(dǎo)入?yún)?shù),并將各個(gè)新的導(dǎo)入?yún)?shù)和各個(gè)程序文件中的功能代碼復(fù)制進(jìn)類文件中,在各個(gè)新的導(dǎo)入?yún)?shù)是否存在冗余時(shí),刪除冗余導(dǎo)入?yún)?shù),進(jìn)而生成應(yīng)用對(duì)應(yīng)的新的項(xiàng)目文件,最后將新的項(xiàng)目文件進(jìn)行編譯處理,得到應(yīng)用對(duì)應(yīng)的安裝包文件。由此,實(shí)現(xiàn)了將項(xiàng)目完成后所有程序文件的內(nèi)容都放入一個(gè)類文件中,且類文件中僅包括一個(gè)包頭,并將冗余的導(dǎo)入?yún)?shù)刪除,從而減小了應(yīng)用安裝包的大小,節(jié)省了應(yīng)用安裝包占用的空間及下載過(guò)程中耗費(fèi)的流量,提高了應(yīng)用安裝包的下載速度和應(yīng)用的使用率,改善了用戶體驗(yàn)。
圖3是本發(fā)明一個(gè)實(shí)施例的減小應(yīng)用安裝包的裝置的結(jié)構(gòu)圖。
如圖3所示,該減小應(yīng)用安裝包的裝置,包括:
創(chuàng)建模塊301,用于利用腳本語(yǔ)言創(chuàng)建一個(gè)與應(yīng)用對(duì)應(yīng)的類文件;
第一處理模塊302,用于將所述應(yīng)用對(duì)應(yīng)的項(xiàng)目文件中,各個(gè)程序文件中的各原始導(dǎo)入?yún)?shù)進(jìn)行預(yù)設(shè)處理,得到各個(gè)程序文件對(duì)應(yīng)的各新的導(dǎo)入?yún)?shù);
第二處理模塊303,用于將所述各個(gè)新的導(dǎo)入?yún)?shù)及各個(gè)程序文件中的功能代碼復(fù)制進(jìn)所述類文件中,生成所述應(yīng)用對(duì)應(yīng)的新的項(xiàng)目文件。
具體的,所述創(chuàng)建模塊301,具體用于:
利用Python語(yǔ)言,創(chuàng)建一個(gè)與所述應(yīng)用對(duì)應(yīng)的類文件。
進(jìn)一步的,所述第一處理模塊302,具體用于:
分別將所述類文件標(biāo)識(shí),以父類的形式添加至所述應(yīng)用對(duì)應(yīng)的項(xiàng)目文件中,各個(gè)程序文件中的各原始導(dǎo)入?yún)?shù)中。
需要說(shuō)明的是,上述對(duì)減小應(yīng)用安裝包的方法實(shí)施例的說(shuō)明,也適用于本實(shí)施例提供的減小應(yīng)用安裝包的裝置,此處不再贅述。
本實(shí)施例提供減小應(yīng)用安裝包的裝置,首先利用腳本語(yǔ)言創(chuàng)建一個(gè)與應(yīng)用對(duì)應(yīng)的類文件;然后將應(yīng)用對(duì)應(yīng)的項(xiàng)目文件中,各個(gè)程序文件中的各原始導(dǎo)入?yún)?shù)進(jìn)行預(yù)設(shè)處理,得到各個(gè)程序文件對(duì)應(yīng)的各新的導(dǎo)入?yún)?shù);最后將各個(gè)新的導(dǎo)入?yún)?shù)及各個(gè)程序文件中的功能代碼復(fù)制進(jìn)類文件中,生成應(yīng)用對(duì)應(yīng)的新的項(xiàng)目文件。由此,實(shí)現(xiàn)了將項(xiàng)目完成后所有程序文件的內(nèi)容都放入一個(gè)類文件中,且類文件中僅包括一個(gè)包頭,從而減小了應(yīng)用安裝包的大小,節(jié)省了應(yīng)用安裝包占用的空間及下載過(guò)程中耗費(fèi)的流量,提高了應(yīng)用安裝包的下載速度和應(yīng)用的使用率,改善了用戶體驗(yàn)。
圖4是本發(fā)明另一個(gè)實(shí)施例的減小應(yīng)用安裝包的裝置的結(jié)構(gòu)圖。
如圖4所示,在圖3所示的基礎(chǔ)上,該減小應(yīng)用安裝包的裝置,還包括:
判斷模塊304,用于判斷所述各個(gè)新的導(dǎo)入?yún)?shù)是否存在冗余;
刪除模塊305,用于所述各個(gè)新的導(dǎo)入?yún)?shù)存在冗余時(shí),刪除冗余導(dǎo)入?yún)?shù)。
第三處理模塊306,用于將所述新的項(xiàng)目文件進(jìn)行編譯處理,生成所述應(yīng)用對(duì)應(yīng)的安裝包文件。
需要說(shuō)明的是,上述對(duì)減小應(yīng)用安裝包的方法實(shí)施例的說(shuō)明,也適用于本實(shí)施例提供的減小應(yīng)用安裝包的裝置,此處不再贅述。
本實(shí)施例提供減小應(yīng)用安裝包的裝置,首先利用腳本語(yǔ)言創(chuàng)建一個(gè)與應(yīng)用對(duì)應(yīng)的類文件;然后將應(yīng)用對(duì)應(yīng)的項(xiàng)目文件中,各個(gè)程序文件中的各原始導(dǎo)入?yún)?shù)進(jìn)行預(yù)設(shè)處理,得到各個(gè)程序文件對(duì)應(yīng)的各新的導(dǎo)入?yún)?shù);最后將各個(gè)新的導(dǎo)入?yún)?shù)及各個(gè)程序文件中的功能代碼復(fù)制進(jìn)類文件中,生成應(yīng)用對(duì)應(yīng)的新的項(xiàng)目文件。由此,實(shí)現(xiàn)了將項(xiàng)目完成后所有程序文件的內(nèi)容都放入一個(gè)類文件中,且類文件中僅包括一個(gè)包頭,從而減小了應(yīng)用安裝包的大小,節(jié)省了應(yīng)用安裝包占用的空間及下載過(guò)程中耗費(fèi)的流量,提高了應(yīng)用安裝包的下載速度和應(yīng)用的使用率,改善了用戶體驗(yàn)。
圖5是本申請(qǐng)一個(gè)實(shí)施例的電子設(shè)備的結(jié)構(gòu)示意圖。其中,電子設(shè)備的類型很多,比如可以為電腦、服務(wù)器等,本實(shí)施例對(duì)此不作限定。
如圖5所示,該電子設(shè)備50,包括:處理器501,存儲(chǔ)器502,以及通信組件503;
所述存儲(chǔ)器502用于存儲(chǔ)可執(zhí)行程序代碼;
所述通信組件503用于與其它電子設(shè)備進(jìn)行通信,以獲取應(yīng)用對(duì)應(yīng)的項(xiàng)目文件;
所述處理器501通過(guò)讀取所述存儲(chǔ)器502中存儲(chǔ)的可執(zhí)行程序代碼來(lái)運(yùn)行與所述可執(zhí)行程序代碼對(duì)應(yīng)的程序,以用于執(zhí)行以下步驟:
利用腳本語(yǔ)言創(chuàng)建一個(gè)與應(yīng)用對(duì)應(yīng)的類文件;
將所述應(yīng)用對(duì)應(yīng)的項(xiàng)目文件中,各個(gè)程序文件中的各原始導(dǎo)入?yún)?shù)進(jìn)行預(yù)設(shè)處理,得到各個(gè)程序文件對(duì)應(yīng)的各新的導(dǎo)入?yún)?shù);
將所述各個(gè)新的導(dǎo)入?yún)?shù)及各個(gè)程序文件中的功能代碼復(fù)制進(jìn)所述類文件中,生成所述應(yīng)用對(duì)應(yīng)的新的項(xiàng)目文件。
需要說(shuō)明的是,前述對(duì)圖1和圖2所示的減小應(yīng)用安裝包的方法實(shí)施例的解釋說(shuō)明也適用于該實(shí)施例的電子設(shè)備,其實(shí)現(xiàn)原理類似,此處不再贅述。
本申請(qǐng)實(shí)施例的電子設(shè)備,首先利用腳本語(yǔ)言創(chuàng)建一個(gè)與應(yīng)用對(duì)應(yīng)的類文件;然后將應(yīng)用對(duì)應(yīng)的項(xiàng)目文件中,各個(gè)程序文件中的各原始導(dǎo)入?yún)?shù)進(jìn)行預(yù)設(shè)處理,得到各個(gè)程序文件對(duì)應(yīng)的各新的導(dǎo)入?yún)?shù);最后將各個(gè)新的導(dǎo)入?yún)?shù)及各個(gè)程序文件中的功能代碼復(fù)制進(jìn)類文件中,生成應(yīng)用對(duì)應(yīng)的新的項(xiàng)目文件。由此,實(shí)現(xiàn)了將項(xiàng)目完成后所有程序文件的內(nèi)容都放入一個(gè)類文件中,且類文件中僅包括一個(gè)包頭,從而減小了應(yīng)用安裝包的大小,節(jié)省了應(yīng)用安裝包占用的空間及下載過(guò)程中耗費(fèi)的流量,提高了應(yīng)用安裝包的下載速度和應(yīng)用的使用率,改善了用戶體驗(yàn)。
基于上述實(shí)施例提供的減小應(yīng)用安裝包的方法,本申請(qǐng)實(shí)施例再提供一種存儲(chǔ)介質(zhì),比如可以是只讀存儲(chǔ)器,磁盤或光盤等。
其中,該存儲(chǔ)介質(zhì)用于存儲(chǔ)應(yīng)用程序,所述應(yīng)用程序用于在運(yùn)行時(shí)執(zhí)行本發(fā)明實(shí)施例所述的減小應(yīng)用安裝包的方法。
進(jìn)一步地,本申請(qǐng)實(shí)施例還提供一種應(yīng)用程序,其中,所述應(yīng)用程序用于在運(yùn)行時(shí)執(zhí)行本發(fā)明實(shí)施例所述的減小應(yīng)用安裝包的方法。
具體的,本申請(qǐng)實(shí)施例中的應(yīng)用程序,可以采用任意語(yǔ)言實(shí)現(xiàn),只要能實(shí)現(xiàn)本申請(qǐng)實(shí)施例提供的減小應(yīng)用安裝包的方法即可。
在本說(shuō)明書的描述中,參考術(shù)語(yǔ)“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說(shuō)明書中,對(duì)上述術(shù)語(yǔ)的示意性表述不必須針對(duì)的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說(shuō)明書中描述的不同實(shí)施例或示例以及不同實(shí)施例或示例的特征進(jìn)行結(jié)合和組合。
此外,術(shù)語(yǔ)“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對(duì)重要性或者隱含指明所指示的技術(shù)特征的數(shù)量。由此,限定有“第一”、“第二”的特征可以明示或者隱含地包括至少一個(gè)該特征。在本發(fā)明的描述中,“多個(gè)”的含義是至少兩個(gè),例如兩個(gè),三個(gè)等,除非另有明確具體的限定。
流程圖中或在此以其他方式描述的任何過(guò)程或方法描述可以被理解為,表示包括一個(gè)或更多個(gè)用于實(shí)現(xiàn)特定邏輯功能或過(guò)程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時(shí)的方式或按相反的順序,來(lái)執(zhí)行功能,這應(yīng)被本發(fā)明的實(shí)施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。
應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來(lái)實(shí)現(xiàn)。在上述實(shí)施方式中,多個(gè)步驟或方法可以用存儲(chǔ)在存儲(chǔ)器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來(lái)實(shí)現(xiàn)。例如,如果用硬件來(lái)實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來(lái)實(shí)現(xiàn):具有用于對(duì)數(shù)據(jù)信號(hào)實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場(chǎng)可編程門陣列(FPGA)等。
本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。
上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對(duì)本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對(duì)上述實(shí)施例進(jìn)行變化、修改、替換和變型。