[發(fā)明專利]一種應(yīng)用程序的壓縮方法和裝置有效
| 申請?zhí)枺?/td> | 201611266088.7 | 申請日: | 2016-12-31 |
| 公開(公告)號: | CN108279941B | 公開(公告)日: | 2021-06-15 |
| 發(fā)明(設(shè)計(jì))人: | 孫澤奪 | 申請(專利權(quán))人: | 阿里巴巴集團(tuán)控股有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445 |
| 代理公司: | 北京潤澤恒知識產(chǎn)權(quán)代理有限公司 11319 | 代理人: | 蘇培華 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 暫無信息 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 應(yīng)用程序 壓縮 方法 裝置 | ||
本申請公開了一種推薦網(wǎng)絡(luò)對象的方法和裝置,其中,所述方法包括:采用預(yù)設(shè)壓縮算法對源應(yīng)用程序中的被調(diào)文件進(jìn)行壓縮,將主調(diào)文件對被調(diào)文件的調(diào)用修改為對所述預(yù)設(shè)壓縮算法對應(yīng)的解壓功能文件的調(diào)用,封裝修改后的主調(diào)文件、壓縮后的被調(diào)文件和解壓功能文件,得到壓縮應(yīng)用程序,如果采用比原有壓縮算法壓縮率更高的算法,可以提高壓縮應(yīng)用程序的壓縮率,得到更小體積的應(yīng)用程序,從而使得該應(yīng)用程序運(yùn)行時(shí)可以調(diào)用能夠解壓預(yù)設(shè)壓縮算法的算法進(jìn)行解壓,從而可以解決了原先對壓縮率高的算法無法兼容的問題,可以讓應(yīng)用程序本身具備解壓壓縮率高的壓縮算法的功能,保證采用更高壓縮率的應(yīng)用程序的正常運(yùn)行。
技術(shù)領(lǐng)域
本申請涉及應(yīng)用程序壓縮技術(shù)領(lǐng)域,具體涉及一種應(yīng)用程序的壓縮方法和裝置。
背景技術(shù)
APK(Android application package,安卓應(yīng)用應(yīng)用程序)是Android操作系統(tǒng)使用的一種應(yīng)用應(yīng)用程序文件格式,用于分發(fā)和安裝移動應(yīng)用及中間件。一個(gè)Android應(yīng)用程序的代碼想要在Android設(shè)備上運(yùn)行,必須先進(jìn)行編譯,然后被打包成為一個(gè)被Android系統(tǒng)所能識別的文件才可以被運(yùn)行,而這種能被Android系統(tǒng)識別并運(yùn)行的文件格式便是“APK”。一個(gè)APK文件內(nèi)包含被編譯的代碼文件,文件資源,證書,和清單文件。
APK體積的減少是商業(yè)化應(yīng)用不斷優(yōu)化的目標(biāo)之一,減少APK應(yīng)用的體積主要是通過本身應(yīng)用功能,邏輯框架的修改來達(dá)到其目的。但如果當(dāng)一個(gè)APK應(yīng)用在本身業(yè)務(wù)邏輯上的取舍已經(jīng)達(dá)到最優(yōu),還可以通過對已經(jīng)生成的APK應(yīng)用重新壓縮,或者修改其視頻,音頻,圖片資源的大小來進(jìn)一步的減少體積。
在生成APK應(yīng)用程序的時(shí)候,默認(rèn)對其應(yīng)用中的so文件采用的壓縮算法是deflate算法。而當(dāng)APK應(yīng)用安裝到Android手機(jī)上以后,手機(jī)在運(yùn)行這個(gè)APK應(yīng)用的時(shí)候,當(dāng)加載APK應(yīng)用程序里面的so文件的時(shí)候,需要首先對其進(jìn)行解壓。Android系統(tǒng)中內(nèi)置的解壓算法也是通過deflate算法,完成加載。
鑒于Android系統(tǒng)的限制,無法改變其原有默認(rèn)的deflate算法,也就沒有辦法直接使用更高壓縮率的算法來進(jìn)行壓縮,主要原因就是APK應(yīng)用在安裝到Android系統(tǒng)以后,Android系統(tǒng)不支持更高壓縮率的其他算法來解壓對應(yīng)算法壓縮過的APK應(yīng)用中的so文件。
發(fā)明內(nèi)容
鑒于上述問題,提出了本申請以便提供一種克服上述問題或者至少部分地解決上述問題的一種應(yīng)用程序的壓縮方法和裝置。
依據(jù)本申請的一個(gè)方面,提供了一種應(yīng)用程序的壓縮方法,包括:
采用預(yù)設(shè)壓縮算法對源應(yīng)用程序中的被調(diào)文件進(jìn)行壓縮;
將主調(diào)文件對被調(diào)文件的調(diào)用修改為對所述預(yù)設(shè)壓縮算法對應(yīng)的解壓功能文件的調(diào)用,所述解壓功能文件用于解壓和加載壓縮后的被調(diào)文件;
封裝修改后的主調(diào)文件、壓縮后的被調(diào)文件和解壓功能文件,得到壓縮應(yīng)用程序。
可選地,在所述采用預(yù)設(shè)壓縮算法對源應(yīng)用程序中的被調(diào)文件進(jìn)行壓縮之前,所述方法還包括:
查找所述源應(yīng)用程序中可采用預(yù)設(shè)壓縮算法進(jìn)行壓縮的被調(diào)文件。
可選地,所述被調(diào)文件為動態(tài)鏈接庫文件,所述主調(diào)文件為調(diào)用所述動態(tài)鏈接庫文件的可執(zhí)行文件;所述查找所述源應(yīng)用程序中可采用預(yù)設(shè)壓縮算法進(jìn)行壓縮的被調(diào)文件包括:
在所述源應(yīng)用程序包括的多種類型的文件中查找動態(tài)鏈接庫文件。
可選地,所述方法還包括:
在所述主調(diào)文件的初始化對象中增加解壓功能文件。
可選地,所述方法還包括:
將所述解壓功能文件添加至歸屬于應(yīng)用程序的主框架的主調(diào)文件。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于阿里巴巴集團(tuán)控股有限公司,未經(jīng)阿里巴巴集團(tuán)控股有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611266088.7/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 對虛擬化應(yīng)用程序的基于策略的訪問
- 應(yīng)用程序執(zhí)行、應(yīng)用程序提供裝置和應(yīng)用程序分發(fā)方法
- 一種軟件保護(hù)方法、裝置及系統(tǒng)
- 應(yīng)用程序的開發(fā)方法和系統(tǒng)
- 應(yīng)用程序的擴(kuò)展方法及裝置
- 一種應(yīng)用程序商店的應(yīng)用程序發(fā)布方法及裝置
- 一種應(yīng)用程序的監(jiān)控方法、裝置及系統(tǒng)
- 用于對虛擬化應(yīng)用程序的基于策略的訪問的方法和系統(tǒng)
- 應(yīng)用程序控制方法、裝置、終端及存儲介質(zhì)
- 一種應(yīng)用程序安裝、卸載方法及通信終端





