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

應(yīng)用程序兼容性檢測方法、開發(fā)終端及存儲介質(zhì)與流程

文檔序號:12906021閱讀:285來源:國知局
應(yīng)用程序兼容性檢測方法、開發(fā)終端及存儲介質(zhì)與流程

本發(fā)明涉及智能終端技術(shù)領(lǐng)域,具體涉及一種應(yīng)用程序兼容性檢測方法、開發(fā)終端及計算機(jī)可讀存儲介質(zhì)。



背景技術(shù):

隨著智能終端技術(shù)的發(fā)展,新技術(shù)不斷涌現(xiàn),以手機(jī)為例,安卓系統(tǒng)的手機(jī)廠商在開發(fā)手機(jī)時,可直接在芯片平臺廠商(如高通、聯(lián)發(fā)科等)的基礎(chǔ)上進(jìn)行開發(fā),其中隨機(jī)預(yù)置的應(yīng)用程序?qū)⒊浞掷檬謾C(jī)的硬件性能、特性。換言之,這些應(yīng)用程序使用了平臺廠商唯一提供的特殊應(yīng)用程序編程接口。從軟件開發(fā)的角度而言,應(yīng)用程序使用了一平臺廠商唯一提供的特殊應(yīng)用程序編程接口之后,由于其他平臺廠商并不能夠提供該特殊應(yīng)用程序編程接口,導(dǎo)致該應(yīng)用程序的兼容性較差,不能在其他平臺廠商的手機(jī)上運(yùn)行。



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

本發(fā)明提供一種應(yīng)用程序兼容性檢測方法、開發(fā)終端及計算機(jī)可讀存儲介質(zhì),旨在確定應(yīng)用程序是否使用了平臺廠商的特殊應(yīng)用程序編程接口,獲得應(yīng)用程序的兼容性情況。

為實現(xiàn)上述發(fā)明目的,本發(fā)明提供一種應(yīng)用程序兼容性檢測方法,該應(yīng)用程序兼容性檢測方法包括:

獲取待檢測應(yīng)用程序的接口使用信息,所述接口使用信息包括所述待檢測應(yīng)用程序使用的全部應(yīng)用程序編程接口;

獲取儲存的各平臺廠商的特殊應(yīng)用程序編程接口信息,所述特殊應(yīng)用程序編程接口信息包括平臺廠商唯一提供的特殊應(yīng)用程序編程接口;

基于各所述特殊應(yīng)用程序編程接口信息,對所述接口使用信息進(jìn)行掃描,確定所述待檢測應(yīng)用程序是否使用平臺廠商的特殊應(yīng)用程序編程接口。

可選地,所述獲取待檢測應(yīng)用程序的接口使用信息的步驟之前,還包括:

獲取各平臺廠商的特殊應(yīng)用程序編程接口信息;

儲存獲取到的各平臺廠商的特殊應(yīng)用程序編程接口信息。

可選地,所述獲取各平臺廠商的特殊應(yīng)用程序編程接口信息的步驟包括:

確定原生安卓開發(fā)平臺提供的全部應(yīng)用程序編程接口;

選中一平臺廠商,并確定選中平臺廠商的開發(fā)平臺所提供的全部應(yīng)用程序編程接口;

將二者應(yīng)用程序編程接口進(jìn)行差分比較,將比較的結(jié)果作為選中的平臺廠商的特殊應(yīng)用程序編程接口信息;

繼續(xù)選中其它平臺廠商,直至各平臺廠商均被選中,獲取到各平臺廠商的特殊應(yīng)用程序編程接口信息。

可選地,在選中的平臺廠商包括多個開發(fā)平臺時,所述確定選中平臺廠商的開發(fā)平臺所提供的全部應(yīng)用程序編程接口的步驟包括:

確定選中的平臺廠商的各開發(fā)平臺所提供的全部應(yīng)用程序編程接口;

將各開發(fā)平臺所述提供的全部應(yīng)用程序編程接口進(jìn)行合并,并去除重復(fù)的應(yīng)用程序編程接口。

可選地,所述儲存獲取到的各平臺廠商的特殊應(yīng)用程序編程接口信息的步驟之前,還包括:

在獲取到各平臺廠商的特殊應(yīng)用程序編程接口信息時,將各平臺廠商的特殊應(yīng)用程序編程接口信息的文件格式轉(zhuǎn)換為預(yù)設(shè)文件格式。

可選地,所述預(yù)設(shè)文件格式包括xml格式、json格式以及excel格式中的至少一種。

可選地,所述獲取待檢測應(yīng)用程序的接口使用信息的步驟包括:

對所述待檢測應(yīng)用程序進(jìn)行二進(jìn)制掃描,確定所述待檢測應(yīng)用程序使用的全部應(yīng)用程序編程接口,得到所述接口使用信息。

可選地,所述對所述接口使用信息進(jìn)行掃描,基于各所述特殊應(yīng)用程序編程接口信息確定所述待檢測應(yīng)用程序是否使用平臺廠商的唯一應(yīng)用程序編程接口的步驟之后,還包括:

輸出包括所述待檢測應(yīng)用程序使用的特殊應(yīng)用程序編程接口的兼容性報告。

進(jìn)一步地,本發(fā)明還提供一種開發(fā)終端,該開發(fā)終端包括:

存儲有應(yīng)用程序兼容性檢測程序的存儲器;

處理器器,配置為執(zhí)行所述應(yīng)用程序兼容性檢測程序以實現(xiàn)如下步驟:

獲取待檢測應(yīng)用程序的接口使用信息,所述接口使用信息包括所述待檢測應(yīng)用程序使用的全部應(yīng)用程序編程接口;

獲取儲存的各平臺廠商的特殊應(yīng)用程序編程接口信息,所述特殊應(yīng)用程序編程接口信息包括平臺廠商唯一提供的特殊應(yīng)用程序編程接口;

基于各所述特殊應(yīng)用程序編程接口信息,對所述接口使用信息進(jìn)行掃描,確定所述待檢測應(yīng)用程序是否使用平臺廠商的特殊應(yīng)用程序編程接口。

進(jìn)一步地,本發(fā)明還提供一種計算機(jī)可讀存儲介質(zhì),該計算機(jī)可讀存儲介質(zhì)上存儲有應(yīng)用程序兼容性檢測程序,所述應(yīng)用程序兼容性檢測程序被處理器執(zhí)行時實現(xiàn)如下步驟:

獲取待檢測應(yīng)用程序的接口使用信息,所述接口使用信息包括所述待檢測應(yīng)用程序使用的全部應(yīng)用程序編程接口;

獲取儲存的各平臺廠商的特殊應(yīng)用程序編程接口信息,所述特殊應(yīng)用程序編程接口信息包括平臺廠商唯一提供的特殊應(yīng)用程序編程接口;

基于各所述特殊應(yīng)用程序編程接口信息,對所述接口使用信息進(jìn)行掃描,確定所述待檢測應(yīng)用程序是否使用平臺廠商的特殊應(yīng)用程序編程接口。

本發(fā)明在對待檢測應(yīng)用程序進(jìn)行兼容性檢測時,首先獲取到包括待檢測應(yīng)用程序所使用的全部應(yīng)用程序編程接口的接口使用信息,以及獲取到包括各平臺廠商唯一提供的特殊應(yīng)用程序編程接口的特殊應(yīng)用程序編程接口信息,然后對前述接口使用信息中是否包括各特殊應(yīng)用程序編程接口信息中的特殊應(yīng)用程序編程接口進(jìn)行掃描,確定待檢測應(yīng)用程序是否使用平臺廠商唯一提供的特殊應(yīng)用程序編程接口,從而獲得待檢測應(yīng)用程序的兼容性情況。

附圖說明

圖1為實現(xiàn)本發(fā)明各個實施例一可選的一個開發(fā)終端的硬件結(jié)構(gòu)示意圖;

圖2為本發(fā)明應(yīng)用程序兼容性檢測方法第一實施例的流程示意圖;

圖3為本發(fā)明應(yīng)用程序兼容性檢測方法第二實施例中對原生安卓開發(fā)平臺以及平臺廠商的開發(fā)平臺所分別提供的全部應(yīng)用程序編程接口進(jìn)行差分比較的示意圖;

圖4為本發(fā)明應(yīng)用程序兼容性檢測方法第三實施例中確定選中的平臺廠商的,多個開發(fā)平臺總共提供的全部應(yīng)用程序編程接口的流程示意圖。

具體實施方式

應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

在后續(xù)的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發(fā)明的說明,其本身沒有特定的意義。因此,“模塊”、“部件”或“單元”可以混合地使用。

本發(fā)明實施例的主要解決方案是:在對待檢測應(yīng)用程序進(jìn)行兼容性檢測時,首先獲取到包括待檢測應(yīng)用程序所使用的全部應(yīng)用程序編程接口的接口使用信息,以及獲取到包括各平臺廠商唯一提供的特殊應(yīng)用程序編程接口的特殊應(yīng)用程序編程接口信息,然后對前述接口使用信息中是否包括各特殊應(yīng)用程序編程接口信息中的特殊應(yīng)用程序編程接口進(jìn)行掃描,確定待檢測應(yīng)用程序是否使用平臺廠商唯一提供的特殊應(yīng)用程序編程接口,從而獲得待檢測應(yīng)用程序的兼容性情況。

如圖1所示,圖1是本發(fā)明實施例方案涉及的硬件運(yùn)行環(huán)境的開發(fā)終端的結(jié)構(gòu)示意圖。

如圖1所示,該開發(fā)終端可以包括:處理器1001,例如cpu,網(wǎng)絡(luò)接口1004,用戶接口1003,存儲器1005,通信總線1002。其中,通信總線1002用于實現(xiàn)這些組件之間的連接通信。用戶接口1003可以包括顯示屏(display)、輸入單元比如鍵盤(keyboard),可選用戶接口1003還可以包括標(biāo)準(zhǔn)的有線接口、無線接口等。網(wǎng)絡(luò)接口1004可選的可以包括標(biāo)準(zhǔn)的有線接口、無線接口(如wi-fi接口)。存儲器1005可以是高速ram存儲器,也可以是穩(wěn)定的存儲器(non-volatilememory),例如磁盤存儲器。存儲器1005可選的還可以是獨立于前述處理器1001的存儲裝置。

本領(lǐng)域技術(shù)人員可以理解,圖1中示出的開發(fā)終端結(jié)構(gòu)并不構(gòu)成對開發(fā)終端的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。

如圖1所示,在本發(fā)明開發(fā)終端的一實施例中,作為一種計算機(jī)存儲介質(zhì)的存儲器1005中可以包括操作系統(tǒng)、網(wǎng)絡(luò)通信模塊、用戶接口模塊以及應(yīng)用程序編程接口程序。

在圖1所示的開發(fā)終端中,網(wǎng)絡(luò)接口1004主要用于連接后臺服務(wù)器,與后臺服務(wù)器進(jìn)行數(shù)據(jù)通信;用戶接口1003主要用于連接客戶端(用戶端),與客戶端進(jìn)行數(shù)據(jù)通信;而處理器1001可以用于調(diào)用存儲器1005中存儲的應(yīng)用程序兼容性檢測程序,并執(zhí)行以下操作:

獲取待檢測應(yīng)用程序的接口使用信息,該接口使用信息包括待檢測應(yīng)用程序使用的全部應(yīng)用程序編程接口;

獲取儲存的各平臺廠商的特殊應(yīng)用程序編程接口信息,該特殊應(yīng)用程序編程接口信息包括平臺廠商唯一提供的特殊應(yīng)用程序編程接口;

基于各平臺廠商的特殊應(yīng)用程序編程接口信息,對待檢測應(yīng)用程序的接口使用信息進(jìn)行掃描,確定待檢測應(yīng)用程序是否使用平臺廠商的特殊應(yīng)用程序編程接口。

進(jìn)一步地,處理器1001執(zhí)行存儲器1005中存儲的應(yīng)用程序兼容性檢測程序時,還執(zhí)行以下操作:

獲取各平臺廠商的特殊應(yīng)用程序編程接口信息;

儲存獲取到的各平臺廠商的特殊應(yīng)用程序編程接口信息。

進(jìn)一步地,處理器1001執(zhí)行存儲器1005中存儲的應(yīng)用程序兼容性檢測程序時,還執(zhí)行以下操作:

確定原生安卓開發(fā)平臺提供的全部應(yīng)用程序編程接口;

選中一平臺廠商,并確定選中平臺廠商的開發(fā)平臺所提供的全部應(yīng)用程序編程接口;

將二者應(yīng)用程序編程接口進(jìn)行差分比較,將比較的結(jié)果作為選中的平臺廠商的特殊應(yīng)用程序編程接口信息;

繼續(xù)選中其它平臺廠商,直至各平臺廠商均被選中,獲取到各平臺廠商的特殊應(yīng)用程序編程接口信息。

進(jìn)一步地,在選中的平臺廠商包括多個開發(fā)平臺時,處理器1001執(zhí)行存儲器1005中存儲的應(yīng)用程序兼容性檢測程序時,還執(zhí)行以下操作:

確定選中的平臺廠商的各開發(fā)平臺所提供的全部應(yīng)用程序編程接口;

將各開發(fā)平臺所述提供的全部應(yīng)用程序編程接口進(jìn)行合并,并去除重復(fù)的應(yīng)用程序編程接口。

進(jìn)一步地,處理器1001執(zhí)行存儲器1005中存儲的應(yīng)用程序兼容性檢測程序時,還執(zhí)行以下操作:

在獲取到各平臺廠商的特殊應(yīng)用程序編程接口信息時,將各平臺廠商的特殊應(yīng)用程序編程接口信息的文件格式轉(zhuǎn)換為預(yù)設(shè)文件格式。

進(jìn)一步地,預(yù)設(shè)文件格式包括xml格式、json格式以及excel格式中的至少一種。

進(jìn)一步地,處理器1001執(zhí)行存儲器1005中存儲的應(yīng)用程序兼容性檢測程序時,還執(zhí)行以下操作:

對待檢測應(yīng)用程序進(jìn)行二進(jìn)制掃描,確定待檢測應(yīng)用程序使用的全部應(yīng)用程序編程接口,得到前述接口使用信息。

進(jìn)一步地,處理器1001執(zhí)行存儲器1005中存儲的應(yīng)用程序兼容性檢測程序時,還執(zhí)行以下操作:

輸出包括待檢測應(yīng)用程序使用的特殊應(yīng)用程序編程接口的兼容性報告。

進(jìn)一步的,本發(fā)明還提供一種應(yīng)用程序兼容性檢測方法,應(yīng)用于開發(fā)終端,參照圖2,在本發(fā)明應(yīng)用程序兼容性檢測方法的第一實施例中,該應(yīng)用程序兼容性檢測方法包括:

步驟s10,獲取待檢測應(yīng)用程序的接口使用信息,該接口使用信息包括待檢測應(yīng)用程序使用的全部應(yīng)用程序編程接口;

步驟s20,獲取儲存的各平臺廠商的特殊應(yīng)用程序編程接口信息,該特殊應(yīng)用程序編程接口信息包括平臺廠商唯一提供的特殊應(yīng)用程序編程接口;

步驟s30,基于各平臺廠商的特殊應(yīng)用程序編程接口信息,對待檢測應(yīng)用程序的接口使用信息進(jìn)行掃描,確定待檢測應(yīng)用程序是否使用平臺廠商的特殊應(yīng)用程序編程接口。

為便于軟件廠商開發(fā)應(yīng)用程序,google在其原生安卓開發(fā)平臺中提供了可供開發(fā)人員直接調(diào)用的應(yīng)用程序編程接口,其中,應(yīng)用程序編程接口可以理解為是一些預(yù)先定義的函數(shù),目的是提供應(yīng)用程序與開發(fā)人員基于某軟件或硬件得以訪問一組例程的能力,而又無需訪問源碼,或理解內(nèi)部工作機(jī)制的細(xì)節(jié),能夠有效的縮短應(yīng)用程序的開發(fā)周期。

然而,如高通、聯(lián)發(fā)科等芯片平臺廠商為了使得應(yīng)用程序能夠充分利用基于其芯片平臺開發(fā)的移動終端(如手機(jī))的硬件性能以及特性等,對原生安卓開發(fā)平臺進(jìn)行了二次開發(fā),并向軟件廠商提供二次開發(fā)后的開發(fā)平臺,例如,針對原生安卓開發(fā)平臺提供某應(yīng)用程序編程接口,高通根據(jù)其某型號處理器硬件特性,對該應(yīng)用程序編程接口進(jìn)行修改,得到新的應(yīng)用程序編程接口,由于該新的應(yīng)用程序編程接口是與高通的特定型號處理器所適配的,若軟件廠商在開發(fā)應(yīng)用程序時使用了該新的應(yīng)用程序編程接口,那么該軟件廠商開發(fā)的應(yīng)用程序在該特定型號處理器的手機(jī)上能夠正常運(yùn)行,并充分利用該特定型號處理器的硬件特性,但是將該應(yīng)用程序安裝至聯(lián)發(fā)科平臺的手機(jī)時,該應(yīng)用程序?qū)o法正常運(yùn)行。為了避免這種應(yīng)用程序不兼容情況的發(fā)生,本發(fā)明方案應(yīng)運(yùn)而生。

在本發(fā)明實施例中,開發(fā)終端預(yù)先獲取并存儲有各平臺廠商的特殊應(yīng)用程序編程接口信息,在具體實施時,開發(fā)終端可以將獲取到的各平臺廠商的特殊應(yīng)用程序編程接口信息存儲至存儲器1005中。其中,特殊應(yīng)用程序編程接口信息包括平臺廠商唯一提供的特殊應(yīng)用程序編程接口,換言之,特殊應(yīng)用程序編程接口即為一平臺廠商所提供的,且其他平臺廠商無法提供的應(yīng)用程序編程接口,具備唯一性。例如,高通在其開發(fā)平臺提供有適配于驍龍820處理器的a應(yīng)用程序編程接口,聯(lián)發(fā)科在其開發(fā)平臺提供有適配于mtk6753處理器的b應(yīng)用程序編程接口,顯然的,聯(lián)發(fā)科無法在其開發(fā)平臺提供a應(yīng)用程序編程接口,高通也無法在其開發(fā)平臺提供b應(yīng)用程序編程接口,則a應(yīng)用程序編程接口即高通唯一提供的一個特殊應(yīng)用程序編程接口,b應(yīng)用程序編程接口為聯(lián)發(fā)科唯一提供的一個特殊應(yīng)用程序編程接口。

在需要確定應(yīng)用程序使用了那些平臺廠商的特殊應(yīng)用程序編程接口,以獲得應(yīng)用程序的兼容性時,可采用本發(fā)明所提供的應(yīng)用程序兼容性檢測方法,對待檢測應(yīng)用程序的兼容性進(jìn)行檢測。

在對待檢測應(yīng)用程序的兼容性進(jìn)行檢測時,開發(fā)終端首先獲取到包括待檢測應(yīng)用程序使用的全部應(yīng)用程序編程接口的接口使用信息。具體的,步驟s10包括:

對待檢測應(yīng)用程序進(jìn)行二進(jìn)制掃描,確定待檢測應(yīng)用程序使用的全部應(yīng)用程序編程接口,得到接口使用信息。

在具體實施時,開發(fā)終端調(diào)用google提供的安卓兼容性測試工具集中的dexdeps工具包,通過該dexdeps工具包對待檢測應(yīng)用程序的應(yīng)用包進(jìn)行二進(jìn)制掃描,獲得其應(yīng)用包中的dex文件中的調(diào)用清單,通常的,獲得的調(diào)用清單為txt文件,其中包括了該待檢測應(yīng)用程序使用的全部應(yīng)用程序編程接口的接口使用信息。

在獲取到待檢測應(yīng)用程序的接口使用信息之后,開發(fā)終端進(jìn)一步獲取存儲的各平臺廠商的特殊應(yīng)用程序編程接口信息,其中,特殊應(yīng)用程序編程接口信息包括平臺廠商唯一提供的特殊應(yīng)用程序編程接口。例如,我國的手機(jī)廠商通常基于高通芯片平臺或者聯(lián)發(fā)科芯片平臺進(jìn)行手機(jī)的開發(fā),則在獲取平臺廠商的特殊應(yīng)用程序編程接口信息時,可獲取存儲的高通的特殊應(yīng)用程序編程接口信息,以及獲取存儲的聯(lián)發(fā)科的特殊應(yīng)用程序編程接口信息。需要說明的是,在其他實施例中,步驟s10可以在步驟s20之后執(zhí)行,也即是在獲取到各平臺廠商的特殊應(yīng)用程序編程接口信息之后,再獲取待檢測應(yīng)用程序的接口使用信息,換言之,步驟s10與步驟s20的執(zhí)行并無先后順序。

在獲取到待檢測應(yīng)用的接口使用信息,以及獲取到各平臺廠商的特殊應(yīng)用程序編程接口信息之后,開發(fā)終端基于各平臺廠商的特殊應(yīng)用程序編程接口信息,對待檢測應(yīng)用程序的接口使用信息進(jìn)行掃描,確定待檢測應(yīng)用程序是否使用平臺廠商的特殊應(yīng)用程序編程接口。

在具體實施時,申請人開發(fā)了api-coverage工具,在對待檢測應(yīng)用程序的接口使用信息進(jìn)行掃描時,開發(fā)終端可以調(diào)用api-coverage工具,對待檢測應(yīng)用程序的接口使用信息進(jìn)行掃描。

例如,在獲取平臺廠商的特殊應(yīng)用程序編程接口信息時,開發(fā)終端獲取到高通的特殊應(yīng)用程序編程接口信息,其中包括高通唯一提供的x個特殊應(yīng)用程序編程接口,獲取到聯(lián)發(fā)科的特殊應(yīng)用程序編程接口信息,其中包括聯(lián)發(fā)科唯一提供的y個特殊應(yīng)用程序編程接口,在對待檢測應(yīng)用程序的接口使用信息進(jìn)行掃描時,即掃描待檢測應(yīng)用程序的接口使用信息中是否包括高通唯一提供的x個特殊應(yīng)用程序編程接口中的任意一個或多個特殊應(yīng)用程序編程接口,掃描待檢測應(yīng)用程序的接口使用信息中是否包括聯(lián)發(fā)科唯一的y個特殊應(yīng)用程序編程接口中的任意一個或多個特殊應(yīng)用程序編程接口。

在完成對待檢測應(yīng)用程序的接口使用信息的掃描之后,若確定待檢測應(yīng)用程序使用了任一平臺廠商的任一特殊應(yīng)用程序編程接口,則說明待檢測應(yīng)用程序的兼容性較差,無法在非該平臺廠商的手機(jī)上運(yùn)行,例如,掃描到待檢測應(yīng)用程序使用了高通唯一提供的a應(yīng)用程序編程接口,則待檢測應(yīng)用程序顯然是無法在聯(lián)發(fā)科平臺的手機(jī)上運(yùn)行,兼容性較差。

可選地,為便于開發(fā)人員了解待檢測應(yīng)用程序的兼容性,在本實施例中,步驟s30之后,還包括:

輸出包括待檢測應(yīng)用程序使用的特殊應(yīng)用程序編程接口的兼容性報告。

在具體實施時,開發(fā)終端在完成對待檢測應(yīng)用程序的接口使用信息的掃描之后,若確定待檢測應(yīng)用程序使用了任一平臺廠商的特殊應(yīng)用程序編程接口,則可輸出包括待檢測應(yīng)用程序使用的特殊應(yīng)用程序編程接口的兼容性報告,該兼容性報告可以xml格式進(jìn)行輸出,或者其他文件格式,本發(fā)明不做具體限制。

本發(fā)明提供的應(yīng)用程序兼容性檢測方法,在對待檢測應(yīng)用程序進(jìn)行兼容性檢測時,首先獲取到包括待檢測應(yīng)用程序所使用的全部應(yīng)用程序編程接口的接口使用信息,以及獲取到包括各平臺廠商唯一提供的特殊應(yīng)用程序編程接口的特殊應(yīng)用程序編程接口信息,然后對前述接口使用信息中是否包括各特殊應(yīng)用程序編程接口信息中的特殊應(yīng)用程序編程接口進(jìn)行掃描,確定待檢測應(yīng)用程序是否使用平臺廠商唯一提供的特殊應(yīng)用程序編程接口,從而獲得待檢測應(yīng)用程序的兼容性情況。

進(jìn)一步地,基于第一實施例,提出了本發(fā)明應(yīng)用程序兼容性檢測方法的第二實施例,在本實施例中,步驟s10之前,還包括:

獲取各平臺廠商的特殊應(yīng)用程序編程接口信息;

儲存獲取到的各平臺廠商的特殊應(yīng)用程序編程接口信息。

需要說明的是,本實施例在前述第一實施例的基礎(chǔ)上,增加了獲取并儲存各平臺廠商的特殊應(yīng)用程序編程接口信息的描述,其他可參照前述第一實施例的相關(guān)描述,此處不再贅述。

在本發(fā)明實施例中,開發(fā)終端首先獲取各平臺廠商的特殊應(yīng)用程序編程接口信息。具體的,獲取各平臺廠商的特殊應(yīng)用程序編程接口信息的步驟包括:

確定原生安卓開發(fā)平臺提供的全部應(yīng)用程序編程接口;

選中一平臺廠商,并確定選中平臺廠商的開發(fā)平臺所提供的全部應(yīng)用程序編程接口;

將二者應(yīng)用程序編程接口進(jìn)行差分比較,將比較的結(jié)果作為選中的平臺廠商的特殊應(yīng)用程序編程接口信息;

繼續(xù)選中其它平臺廠商,直至各平臺廠商均被選中,獲取到各平臺廠商的特殊應(yīng)用程序編程接口信息。

請參照圖3,圖3為對原生安卓開發(fā)平臺以及平臺廠商的開發(fā)平臺所分別提供的全部應(yīng)用程序編程接口進(jìn)行差分比較的示意圖。如圖3所示,為進(jìn)行差分比較,首先就需要獲取到原生安卓開發(fā)平臺提供的全部應(yīng)用程序編程接口,以及獲取到各平臺廠商的開發(fā)平臺所提供的全部應(yīng)用程序編程接口。

在具體實施時,由于原生安卓開發(fā)平臺的本身就包含對javadoc的支持,發(fā)明人在現(xiàn)有代碼的基礎(chǔ)上進(jìn)行了改造,使得編譯“update-api”目標(biāo)生成時還包含了屬性為“hide”的隱藏應(yīng)用程序編程接口,從而獲得原生安卓開發(fā)平臺提供的全部應(yīng)用程序編程接口。或者,本領(lǐng)域技術(shù)人員可以采用其他技術(shù)手段來確定原生安卓開發(fā)平臺提供的部應(yīng)用程序編程接口,如使用源碼編譯時生成的全編譯的jar包classes.jar,由于這個jar文件中的應(yīng)用程序編程接口還沒有重新打包,里面被@hide掉的應(yīng)用程序編程接口并沒有被去掉,能夠獲得所原生安卓開發(fā)平臺提供的全部應(yīng)用程序編程接口。

需要說明的是,google之所以要將一些應(yīng)用程序編程接口隱藏(指加上@hide標(biāo)記的public類、方法或常量),其中很大的原因就是安卓系統(tǒng)本身還在不斷的進(jìn)化發(fā)展中,而這些隱藏的應(yīng)用程序編程接口本身可能是不穩(wěn)定的,使用隱藏應(yīng)用程序編程接口,意味著應(yīng)用程序更差的兼容性。

在確定原生安卓開發(fā)平臺提供的全部應(yīng)用程序編程接口之后,開發(fā)終端選中一平臺廠商,由于平臺廠商的開發(fā)平臺是在原生安卓開發(fā)平臺的基礎(chǔ)上二次開發(fā)的,開發(fā)終端使用確定原生安卓開發(fā)平臺提供的全部應(yīng)用程序編程接口相同的方法,即可確定選中的平臺廠商的開發(fā)平臺所提供的全部應(yīng)用程序編程接口。然后將二者應(yīng)用程序編程接口進(jìn)行差分比較,顯然的,若平臺廠商的開發(fā)平臺中提供的某應(yīng)用程序編程接口在原生安卓開發(fā)平臺提供的全部應(yīng)用程序編程接口中并不存在,則說明該應(yīng)用程序編程接口為平臺廠商唯一提供的特殊應(yīng)用程序編程接口,從而可根據(jù)差分比較結(jié)果得到選中的平臺廠商的特殊應(yīng)用程序編程接口信息。

在確定選中的平臺廠商的特殊應(yīng)用程序編程接口信息之后,繼續(xù)選中其它平臺廠商,直至各平臺廠商均被選中,獲取到各平臺廠商的特殊應(yīng)用程序編程接口信息。

進(jìn)一步地,為便于完成對待檢測應(yīng)用程序的接口使用信息的掃描,在獲取到各平臺廠商的特殊應(yīng)用程序編程接口信息時,將各平臺廠商的特殊應(yīng)用程序編程接口信息的文件格式轉(zhuǎn)換為預(yù)設(shè)文件格式,其中,預(yù)設(shè)文件格式為掃描工具支持的文件格式,包括但不限于xml格式、json格式以及excel格式。在完成格式轉(zhuǎn)換之后,再將完成格式轉(zhuǎn)換的各平臺廠商的特殊應(yīng)用程序編程接口信息進(jìn)行存儲。

例如,若需要使用前述“api-coverage”工具對待檢測應(yīng)用程序的接口使用信息進(jìn)行掃描,則需要將獲取到的各平臺廠商的特殊應(yīng)用程序編程接口信息轉(zhuǎn)換為xml格式之后進(jìn)行存儲。

可選地,在其他實施例中,獲取各平臺廠商的特殊應(yīng)用程序編程接口信息的步驟還包括:

發(fā)送特殊應(yīng)用程序編程獲取請求至各平臺廠商的預(yù)設(shè)服務(wù)器;

接收各平臺廠商的預(yù)設(shè)服務(wù)器返回的各平臺廠商的特殊應(yīng)用程序編程接口信息。

也即是說,各平臺廠商的特殊應(yīng)用程序編程接口信息可由各平臺廠商直接提供,并存放在各自的預(yù)設(shè)服務(wù)器中,由開發(fā)終端在需要時獲取。

進(jìn)一步地,基于前述第二實施例,提出本發(fā)明應(yīng)用程序兼容性檢測方法的第三實施例,在本實施例中,選中的平臺廠商包括多個開發(fā)平臺,前述確定選中平臺廠商的開發(fā)平臺所提供的全部應(yīng)用程序編程接口的步驟包括:

確定選中的平臺廠商的各開發(fā)平臺所提供的全部應(yīng)用程序編程接口;

將各開發(fā)平臺所述提供的全部應(yīng)用程序編程接口進(jìn)行合并,并去除重復(fù)的應(yīng)用程序編程接口。

需要說明的是,對于各平臺廠商而言,其通常會同時向市面推出多款性能不同的處理器,如高通推出的驍龍660、驍龍630,驍龍820等,而這對于這些不同性能的處理器,高通也會針對性的推出與各處理器適配的開發(fā)平臺,而這些開發(fā)平臺所提供的應(yīng)用程序編程接口也不盡相同。針對于這種情況,本實施例在前述第二實施例的基礎(chǔ)上提出了平臺廠商包括多個開發(fā)平臺時的處理方案,以下僅對此進(jìn)行描述,其他可參照前述實施例,此處不再贅述。

請參照圖4,在本發(fā)明實施例中,采用確定原生安卓開發(fā)平臺提供的全部應(yīng)用程序編程接口相同的方法,確定選中的平臺廠商的各開發(fā)平臺所提供的全部應(yīng)用程序編程接口,然后將各開發(fā)平臺所提供的全部應(yīng)用程序編程接口進(jìn)行合并,并去除合并后的應(yīng)用程序編程接口中的重復(fù)應(yīng)用程序編程接口,即可得到該選中的平臺廠商的多個開發(fā)平臺總共提供的全部應(yīng)用程序編程接口,用于進(jìn)行差分比較。

此外,本發(fā)明還提出一種計算機(jī)可讀存儲介質(zhì),該計算機(jī)可讀存儲介質(zhì)上存儲有應(yīng)用程序兼容性檢測程序,該應(yīng)用程序兼容性檢測程序被處理器1001執(zhí)行時實現(xiàn)如下操作:

獲取待檢測應(yīng)用程序的接口使用信息,該接口使用信息包括待檢測應(yīng)用程序使用的全部應(yīng)用程序編程接口;

獲取儲存的各平臺廠商的特殊應(yīng)用程序編程接口信息,該特殊應(yīng)用程序編程接口信息包括平臺廠商唯一提供的特殊應(yīng)用程序編程接口;

基于各平臺廠商的特殊應(yīng)用程序編程接口信息,對待檢測應(yīng)用程序的接口使用信息進(jìn)行掃描,確定待檢測應(yīng)用程序是否使用平臺廠商的特殊應(yīng)用程序編程接口。

進(jìn)一步地,前述應(yīng)用程序兼容性檢測程序被處理器1001執(zhí)行時還實現(xiàn)如下操作:

獲取各平臺廠商的特殊應(yīng)用程序編程接口信息;

儲存獲取到的各平臺廠商的特殊應(yīng)用程序編程接口信息。

進(jìn)一步地,前述應(yīng)用程序兼容性檢測程序被處理器1001執(zhí)行時還實現(xiàn)如下操作:

確定原生安卓開發(fā)平臺提供的全部應(yīng)用程序編程接口;

選中一平臺廠商,并確定選中平臺廠商的開發(fā)平臺所提供的全部應(yīng)用程序編程接口;

將二者應(yīng)用程序編程接口進(jìn)行差分比較,將比較的結(jié)果作為選中的平臺廠商的特殊應(yīng)用程序編程接口信息;

繼續(xù)選中其它平臺廠商,直至各平臺廠商均被選中,獲取到各平臺廠商的特殊應(yīng)用程序編程接口信息。

進(jìn)一步地,前述應(yīng)用程序兼容性檢測程序被處理器1001執(zhí)行時還實現(xiàn)如下操作:

確定選中的平臺廠商的各開發(fā)平臺所提供的全部應(yīng)用程序編程接口;

將各開發(fā)平臺所述提供的全部應(yīng)用程序編程接口進(jìn)行合并,并去除重復(fù)的應(yīng)用程序編程接口。

進(jìn)一步地,前述應(yīng)用程序兼容性檢測程序被處理器1001執(zhí)行時還實現(xiàn)如下操作:

在獲取到各平臺廠商的特殊應(yīng)用程序編程接口信息時,將各平臺廠商的特殊應(yīng)用程序編程接口信息的文件格式轉(zhuǎn)換為預(yù)設(shè)文件格式。

進(jìn)一步地,預(yù)設(shè)文件格式包括xml格式、json格式以及excel格式中的至少一種。

進(jìn)一步地,前述應(yīng)用程序兼容性檢測程序被處理器1001執(zhí)行時還實現(xiàn)如下操作:

對待檢測應(yīng)用程序進(jìn)行二進(jìn)制掃描,確定待檢測應(yīng)用程序使用的全部應(yīng)用程序編程接口,得到前述接口使用信息。

進(jìn)一步地,前述應(yīng)用程序兼容性檢測程序被處理器1001執(zhí)行時還實現(xiàn)如下操作:

輸出包括待檢測應(yīng)用程序使用的特殊應(yīng)用程序編程接口的兼容性報告。

需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。

上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。

通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在如上所述的一個存儲介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端(可以是手機(jī),計算機(jī),服務(wù)器,空調(diào)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。

上面結(jié)合附圖對本發(fā)明的實施例進(jìn)行了描述,但是本發(fā)明并不局限于上述的具體實施方式,上述的具體實施方式僅僅是示意性的,而不是限制性的,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的啟示下,在不脫離本發(fā)明宗旨和權(quán)利要求所保護(hù)的范圍情況下,還可做出很多形式,這些均屬于本發(fā)明的保護(hù)之內(nèi)。

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