[發明專利]Android應用的Activity關系圖生成方法有效
| 申請號: | 201911181594.X | 申請日: | 2019-11-27 |
| 公開(公告)號: | CN111240957B | 公開(公告)日: | 2023-09-15 |
| 發明(設計)人: | 鄭杰生;沈伍強;溫柏堅;盧垚松;梁瑞剛;陳愷;劉文彬;吳廣財;佟忠正 | 申請(專利權)人: | 廣東電網有限責任公司信息中心;中國科學院信息工程研究所 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京路浩知識產權代理有限公司 11002 | 代理人: | 楊明月 |
| 地址: | 510080 廣東省廣州市越*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | android 應用 activity 關系 生成 方法 | ||
1.一種Android應用的Activity關系圖生成方法,其特征在于,包括:
獲取Android應用對應的Apk文件,并提取所述Apk文件中的Activity;
遍歷所述Activity,得到所述Activity的轉換關系圖、布局類型和adapter;
根據所述Activity的轉換關系圖、布局類型和adapter生成Activity的用戶界面;
使用所述Activity的轉換關系圖將所述Activity的用戶界面連接,得到與所述用戶界面關聯的Activity關系圖;
所述方法還包括:
獲取所述Activity對應的每一個方法,遍歷所述每一個方法;
當通過所述遍歷檢測到存在方法包含后端接口時,將所述方法包含后端接口的信息保存到所述adapter,所述adapter是連接應用的后端數據和前端UI界面顯示的適配器接口;
確定Activity的轉換關系圖、布局類型和adapter步驟具體為:
步驟1.1,獲取輸入的Activity,生成空Activity轉換關系圖,記為atg,生成空Activity的adapter容器,記為adapters;
步驟1.2,獲取Apk中的函數調用圖,記為cg;
步驟1.3,獲取Apk的布局類型,記為layout_type;
步驟1.4,獲取Apk的所有類文件,記為c(1),c(2),…c(n),記i=1;
步驟1.5,獲取c(i)的所有方法,記為m(1),m(2),…m(x),記k=1;
步驟1.6,判斷m(k)是否調用Activity,是則執行步驟1.7,否則執行步驟1.16;
步驟1.7,獲取m(k)調用的Activity,記為callee_act;
步驟1.8,判斷c(i)是否為某個類的內部類,是則執行步驟1.9,否則執行步驟1.11;
步驟1.9,獲取c(i)的外部類,記為caller_act;
步驟1.10,向atg中添加邊caller_act,callee_act,執行步驟1.16;
步驟1.11,判斷m(k)是否被Fragment所包含,是則執行步驟1.12,否則執行步驟1.13;
步驟1.12,記包含m(k)的Fragment為caller_frag,向atg中添加邊caller_frag,callee_act,執行步驟1.16;
步驟1.13,根據cg獲取調用m(k)的所有Activity,記為caller_acts(1),caller_acts(2),…caller_acts(y),記l=1;
步驟1.14,向atg中添加邊caller_acts(l),callee_act。計算l=l+1;
步驟1.15,判斷是否ly,是則執行步驟1.16,否則執行步驟1.14;
步驟1.16,判斷是否m(k)調用了Fragment,是則執行步驟1.17,否則執行步驟1.21;
步驟1.17,記m(k)調用的Fragment為caller_frag,獲取caller_frag調用的Fragment,記為callee_frag;獲取調用caller_frag的所有Activity,記為caller_acts(1),caller_acts(2),…caller_acts(z),記a=1;
步驟1.19,向atg中添加邊caller_acts(a),callee_frag,計算a=a+1;
步驟1.20,判斷是否az,是則執行步驟1.21,否則執行步驟1.19;
步驟1.21,判斷m(k)是否包含Adapter,是則執行步驟1.22,否則執行步驟1.25;
步驟1.22,記m(k)的ViewType為view_type;
步驟1.23,記m(k)的其他Adapter為layout_file;
步驟1.24,向adapters中添加元組(c(i),ViewType,layout_file);
步驟1.25,計算k=k+1;
步驟1.26,判斷是否kx,是則執行步驟1.27,否則執行步驟1.6;
步驟1.27,計算i=i+1;
步驟1.28,判斷是否in,是則執行步驟1.29,否則執行步驟1.5;
步驟1.29,輸出atg,adapters,layout_type。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣東電網有限責任公司信息中心;中國科學院信息工程研究所,未經廣東電網有限責任公司信息中心;中國科學院信息工程研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911181594.X/1.html,轉載請聲明來源鉆瓜專利網。





