本發(fā)明涉及無線移動(dòng)技術(shù)領(lǐng)域,尤其是涉及一種檢查依賴包合法性的方法及系統(tǒng)。
背景技術(shù):
隨著移動(dòng)設(shè)備在日常生活中使用越來越普及,移動(dòng)應(yīng)用開發(fā)者的數(shù)量日益增加。許多移動(dòng)應(yīng)用開發(fā)者會(huì)無償提供一些依賴包供其余的移動(dòng)應(yīng)用開發(fā)者使用。越來越多的公司或組織也開始引入模塊化編程的思想,將功能點(diǎn)拆分成依賴包,在應(yīng)用框架中引入依賴,使用依賴包提供的功能點(diǎn)。
現(xiàn)有的分享方式,移動(dòng)應(yīng)用開發(fā)者無法在使用第三方提供的依賴包時(shí),確保其不會(huì)對(duì)其正在開發(fā)的應(yīng)用產(chǎn)生不利的影響,例如依賴沖突,上架違規(guī),隱藏不良插件等。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是:針對(duì)以上缺點(diǎn),提供一種預(yù)先檢查依賴包的合法性的方案,可避免依賴包引用未知的其他依賴導(dǎo)致依賴沖突,以及引入違法廣告包等問題的產(chǎn)生;避免依賴包不合規(guī)范造成上架失敗等問題的產(chǎn)生,對(duì)預(yù)防開發(fā)周期延誤的問題有顯著功效。
為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案為:提供一種檢查依賴包合法性的方法,包括:
獲取依賴包,并加入基礎(chǔ)應(yīng)用框架;
修改基礎(chǔ)應(yīng)用框架的依賴包描述文件;
根據(jù)修改后的描述文件,檢查依賴包的合法性。
為解決上述問題,本發(fā)明還提供一種檢查依賴包合法性的系統(tǒng),包括依賴包及基礎(chǔ)應(yīng)用框架,其中:
依賴包用于加入到基礎(chǔ)應(yīng)用框架中;
基礎(chǔ)應(yīng)用框架用于修改依賴包描述文件;以及
根據(jù)修改后的描述文件,檢查依賴包的合法性。
本發(fā)明的有益效果在于:區(qū)別于現(xiàn)有技術(shù),本發(fā)明通過將依賴包加入基礎(chǔ)應(yīng)用框架,并修改描述文件后,進(jìn)行合法性檢查。通過上述方式,本發(fā)明可以避免依賴包引用未知的其他依賴導(dǎo)致依賴沖突,引入違法廣告包等問題的產(chǎn)生;避免依賴包不合規(guī)范造成上架失敗等問題的產(chǎn)生;對(duì)預(yù)防開發(fā)周期延誤的問題有顯著功效。
附圖說明
圖1為本發(fā)明進(jìn)行依賴包合法性的流程示意圖。
具體實(shí)施方式
為詳細(xì)說明本發(fā)明的技術(shù)內(nèi)容、所實(shí)現(xiàn)目的及效果,以下結(jié)合實(shí)施方式并配合附圖予以說明。
本發(fā)明最關(guān)鍵的構(gòu)思在于:將依賴包加入基礎(chǔ)應(yīng)用框架,并修改描述文件后,檢查依賴包的合法性。
本發(fā)明實(shí)施例一提供一種檢查依賴包合法性的方法,包括:
獲取依賴包,并加入基礎(chǔ)應(yīng)用框架;
修改基礎(chǔ)應(yīng)用框架的依賴包描述文件;
根據(jù)修改后的描述文件,檢查依賴包的合法性。
區(qū)別于現(xiàn)有技術(shù),本發(fā)明通過將依賴包加入基礎(chǔ)應(yīng)用框架,并修改描述文件后,進(jìn)行合法性檢查。通過上述方式,本發(fā)明可以避免依賴包引用未知的其他依賴導(dǎo)致依賴沖突,引入違法廣告包等問題的產(chǎn)生;避免依賴包不合規(guī)范造成上架失敗等問題的產(chǎn)生;對(duì)預(yù)防開發(fā)周期延誤的問題有顯著功效。
其中所述基礎(chǔ)應(yīng)用框架包括iOS系統(tǒng)基礎(chǔ)應(yīng)用框架及安卓系統(tǒng)基礎(chǔ)應(yīng)用框架。基礎(chǔ)應(yīng)用框架包含了iOS與安卓系統(tǒng)下的兩套基礎(chǔ)的應(yīng)用框架,該框架可直接編譯成一個(gè)簡單的移動(dòng)應(yīng)用。且這個(gè)應(yīng)用穩(wěn)定可靠,經(jīng)過測試。引入依賴包后,由工具自動(dòng)對(duì)應(yīng)用框架進(jìn)行依賴描述文件修改,具體為:安卓修改框架中的dependency.gradle文件,增加依賴包的描述,蘋果應(yīng)用修改框架中的xxx.Podspec文件中,xxx為移動(dòng)應(yīng)用名。
本發(fā)明對(duì)依賴包的合法性檢查,包括基礎(chǔ)應(yīng)用框架,依賴包的穩(wěn)定性測試,依賴包的安全測試,依賴包的依賴管理檢查,依賴包的上架規(guī)范檢查和依賴包的依賴大小檢查幾個(gè)部分。其中依賴包的穩(wěn)定性測試,依賴包的安全測試,依賴包的依賴管理檢查,依賴包的上架規(guī)范檢查和依賴包的依賴大小檢查為可并行的,可調(diào)換順序的步驟。具體地:
依賴包的穩(wěn)定性測試是將依賴包引入基礎(chǔ)應(yīng)用框架,打包出移動(dòng)應(yīng)用,將移動(dòng)應(yīng)用分別安裝到現(xiàn)有的一定數(shù)量(較多)的測試機(jī)子上。運(yùn)行應(yīng)用一段時(shí)間,檢驗(yàn)其穩(wěn)定性。移動(dòng)應(yīng)用連續(xù)運(yùn)行12個(gè)小時(shí)不會(huì)閃退視為穩(wěn)定。
依賴包的安全測試是將依賴包引入基礎(chǔ)應(yīng)用框架,打包出移動(dòng)應(yīng)用,將移動(dòng)應(yīng)用分別安裝到現(xiàn)有的一定數(shù)量(部分)的測試機(jī)子上。進(jìn)行安全方面的檢測。檢測內(nèi)容包括:風(fēng)險(xiǎn)漏洞審計(jì),組件安全審計(jì),敏感信息與權(quán)限審計(jì)。審計(jì)結(jié)果對(duì)可能存在的漏洞按照分組和危險(xiǎn)性排序,并生成一份安全審計(jì)報(bào)告。
依賴包的依賴管理檢查是將依賴包引入基礎(chǔ)應(yīng)用框架,在項(xiàng)目包中進(jìn)行依賴檢查。檢查整個(gè)應(yīng)用的依賴樹,依賴樹為基礎(chǔ)應(yīng)用框架的依賴與引入依賴包以后增加的依賴的并集,通過工具自動(dòng)生成。檢查是否有在管理員定義的依賴白名單之外的依賴,若是,則顯示引用了白名單之外的組件,存在風(fēng)險(xiǎn);反之,則顯示驗(yàn)證通過。
依賴包的上架規(guī)范檢查是將依賴包引入基礎(chǔ)應(yīng)用框架,從代碼層面到打包后的應(yīng)用層面,檢查是否含有不符合上架規(guī)范的地方,若是,則顯示依賴包不符合上架規(guī)范,若堅(jiān)持使用該依賴包可能會(huì)導(dǎo)致上架失??;反之,則顯示,上架規(guī)范檢查通過。包括依賴包內(nèi)的包名是否含有非法字符,命名是否合法;是否暴露了不允許開放的接口;是否含有資源沖突。
依賴包的依賴大小檢查是將依賴包引入基礎(chǔ)應(yīng)用框架,打包出移動(dòng)應(yīng)用,計(jì)算移動(dòng)應(yīng)用包的大小,判斷在引入依賴包以后,應(yīng)用包的大小與未引入依賴時(shí)的應(yīng)用包大小的差值是否超過閾值;若是,則顯示,引入依賴包后,應(yīng)用包大小增加異常,存在風(fēng)險(xiǎn);反之,則顯示,應(yīng)用包大小檢查通過。
依賴包大小的異常會(huì)導(dǎo)致應(yīng)用包突然變大,用戶體驗(yàn)下降,造成用戶流失。報(bào)告中會(huì)體現(xiàn)引入依賴包后,應(yīng)用增加的大小,由依賴包使用者自行判斷是否合法。
如安卓開發(fā)者在開發(fā)安卓應(yīng)用時(shí),需要使用一個(gè)實(shí)現(xiàn)rsa加解密的第三方包。經(jīng)過依賴包合法性檢查,發(fā)現(xiàn)該依賴包的包名中含有“.demo.”字樣,即可認(rèn)定為影響上架的非法命名,可在報(bào)告中體現(xiàn)。
對(duì)應(yīng)地,本發(fā)明實(shí)施例二提供一種檢查依賴包合法性的系統(tǒng),包括依賴包及基礎(chǔ)應(yīng)用框架,其中:
依賴包用于加入到基礎(chǔ)應(yīng)用框架中;
基礎(chǔ)應(yīng)用框架用于修改依賴包描述文件;以及
根據(jù)修改后的描述文件,檢查依賴包的合法性。
在移動(dòng)應(yīng)用開發(fā)引用依賴時(shí),預(yù)先有一套流程對(duì)引入的依賴包進(jìn)行檢查,排除大部分因引入依賴不當(dāng)造成的產(chǎn)品開發(fā)周期延誤的問題。因此可在移動(dòng)應(yīng)用開發(fā)時(shí),對(duì)引入依賴包進(jìn)行合規(guī)性檢查的流程。
應(yīng)當(dāng)理解的是,本發(fā)明的主要目的是保證移動(dòng)應(yīng)用對(duì)依賴的引用安全可靠,有效避免一些bug的產(chǎn)生;避免依賴包引用未知的其他依賴導(dǎo)致依賴沖突,引入違法廣告包等問題的產(chǎn)生;避免依賴包不合規(guī)范造成上架失敗等問題的產(chǎn)生;對(duì)預(yù)防開發(fā)周期延誤的問題有顯著功效。
以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等同變換,或直接或間接運(yùn)用在相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。