[發明專利]API兼容性掃描方法和API兼容性掃描裝置有效
| 申請號: | 201310404766.1 | 申請日: | 2013-09-09 |
| 公開(公告)號: | CN103440337A | 公開(公告)日: | 2013-12-11 |
| 發明(設計)人: | 周建龍 | 申請(專利權)人: | 百度在線網絡技術(北京)有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;G06F9/445 |
| 代理公司: | 北京銘碩知識產權代理有限公司 11286 | 代理人: | 張川緒;王兆賡 |
| 地址: | 100085 北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | api 兼容性 掃描 方法 裝置 | ||
技術領域
本發明涉及操作系統領域,更具體地,涉及一種針對操作系統中的應用程序的應用程序接口(API)兼容性掃描方法和API兼容性掃描裝置。
背景技術
隨著諸如Google的Android操作系統、蘋果公司的iOS操作系統的系統版本越來越多,操作系統的應用程序接口(API)的版本兼容性問題越來越突出。例如,當某API要求運行在iOS操作系統的5.0版本以上,而某個應用程序(APP)使用這個API運行在iOS操作系統的4.3版本時,如果不判斷系統的版本則有可能導致APP崩潰或功能異常。又例如,如果某系統API在Android?4.0以上版本已廢棄,而開發者調用該API時忘記增加版本判斷,則該APP對4.0以上版本的Android操作系統的適配就存在隱患。
因此,需要提供一種能夠自動掃描出APP的API的兼容性問題的方法和裝置。
發明內容
本發明的一方面提供一種用于應用程序的API兼容性掃描方法,包括:獲取操作系統的API的版本兼容性規則,并建立包括API的引入版本信息和廢棄版本信息的系統API兼容性規則庫;針對將被檢查API兼容性的應用程序,獲取應用程序的代碼語法樹;解析代碼語法樹以獲取應用程序所使用的API;基于API兼容性規則庫中與獲取的API對應的廢棄版本信息來確定應用程序的API的兼容性隱患。
根據本發明的一方面,如果在應用程序的代碼語法樹中存在版本判斷代碼,則不執行確定API的兼容性隱患的步驟。
根據本發明的一方面,自動從操作系統的官方網站獲取最新的API的版本兼容性規則,或者手動設置API的版本兼容性規則。
根據本發明的一方面,API兼容性掃描方法還包括:在解析代碼語法樹之前對代碼語法樹進行遍歷以得到精簡的代碼語法樹。
根據本發明的一方面,API兼容性掃描方法還包括:基于API兼容性規則庫中與獲取的API對應的引入版本信息和應用程序的最低支持版本來確定應用程序的API的兼容性隱患。
根據本發明的一方面,API兼容性掃描方法還包括:基于確定的API的兼容性隱患生成兼容性隱患報告,兼容性隱患報告包括關于存在兼容性隱患的API被調用的次數以及在代碼中的位置的信息。
本發明的另一方面提供一種用于掃描應用程序的API兼容性的API兼容性掃描裝置,包括:API兼容性規則庫單元,獲取操作系統的API的版本兼容性規則,并建立包括API的引入版本信息和廢棄版本信息的系統API兼容性規則庫;代碼語法樹獲取單元,用于針對將被檢查API兼容性的應用程序,獲取應用程序的代碼語法樹;API抓取單元,用于解析代碼語法樹以獲取應用程序所使用的API;API兼容性確定單元,用于基于API兼容性規則庫中與獲取的API對應的廢棄版本信息來確定應用程序的API的兼容性隱患。
根據本發明的另一方面,如果API兼容性確定單元確定在應用程序的代碼語法樹中存在版本判斷代碼,則不執行確定API的兼容性隱患的操作。
根據本發明的另一方面,API兼容性規則庫單元自動從操作系統的官方網站獲取最新的API的版本兼容性規則,或者根據用戶的設置來手動地設置API的版本兼容性規則。
根據本發明的另一方面,API兼容性掃描裝置還包括:代碼語法樹遍歷單元,用于在API抓取單元解析代碼語法樹之前對代碼語法樹進行遍歷以得到精簡的代碼語法樹。
根據本發明的另一方面,API兼容性確定單元還基于API兼容性規則庫中與獲取的API對應的引入版本信息和應用程序的最低支持版本來確定應用程序的API的兼容性隱患。
根據本發明的另一方面,API兼容性掃描裝置還包括:兼容性報告生成單元,基于確定的API的兼容性隱患生成兼容性隱患報告,兼容性隱患報告包括關于存在兼容性隱患的API被調用的次數以及在代碼中的位置的信息。
附圖說明
通過下面結合附圖進行的描述,本發明的上述和其他目的和特點將會變得更加清楚,其中:
圖1是示出根據本發明實施例的用于應用程序(APP)的應用程序接口(API)兼容性掃描方法的流程圖;
圖2是示出根據本發明實施例的用于掃描應用程序(APP)的API兼容性的裝置的示圖。
具體實施方式
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于百度在線網絡技術(北京)有限公司,未經百度在線網絡技術(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310404766.1/2.html,轉載請聲明來源鉆瓜專利網。





