[发明专利]一种基于编译规则的Android系统静态划分方法有效
| 申请号: | 201710741450.X | 申请日: | 2017-08-25 |
| 公开(公告)号: | CN107562429B | 公开(公告)日: | 2021-04-20 |
| 发明(设计)人: | 赵红;郝佳亮;张艳艳;周启明 | 申请(专利权)人: | 中国科学院软件研究所 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41 |
| 代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 邱晓锋 |
| 地址: | 100190 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 编译 规则 android 系统 静态 划分 方法 | ||
本发明涉及一种基于编译规则的Android系统静态划分方法。该方法包括:S1、解析Android源码中的git工程,获取git工程的名称及路径,每一个独立的git工程作为一个模块;S2、解析并提取make数据库中每个编译为二进制文件的模块;S3、提取make数据库中每个二进制文件编译时依赖的文件集;S4、根据git工程路径和所述文件集中依赖文件的包含关系,划分模块的包含关系,将Android系统源码划分为包含多个模块的树状结构。本发明能够较合理的将Android系统划分为一个包含多个模块的树状结构,以清晰的展示Android系统架构,提升了开发人员对Android系统的分析效率。
技术领域
本发明涉及软件工程技术领域,主要涉及Android系统分析,更具体地是涉及一种基于编译规则的Android系统静态划分方法。
背景技术
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。
近年来,Android智能手机在移动终端市场具有很高的占有率,越来越多的人开始对Android系统进行研究,很多研究者希冀以改变源码的方式对Android系统的性能、安全性、功耗等进行优化,因此就需要对Android系统源码进行分析。但Android系统源码体量庞大,单纯依靠人工分析,工作量非常大。
发明内容
本发明解决的技术问题:针对Android系统源码体量大,难以分析的问题,提供一种基于编译规则的Android系统静态划分方法,将Android系统源码划分为包含多个模块的树状结构,有效提高了代码分析的效率。
本发明的技术解决方案如下:
一种基于编译规则的Android系统静态划分方法,该方法将Android系统划分为包含多个模块的树状结构,包括以下步骤:
S1、解析Android源码中的git工程,获取Android源码中git工程的名称及路径,每一个独立的git工程作为一个模块;
S2、解析make数据库,提取make数据库中每个编译为二进制文件的模块;
S3、提取make数据库中每个二进制文件编译时依赖的文件集;
S4、根据步骤S1得到的git工程路径及步骤S3得到的二进制文件编译时依赖的文件集中依赖文件的包含关系,划分模块的包含关系,将Android系统源码划分为包含多个模块的树状结构。
进一步地,所述步骤S1获取git工程的具体实现为:在Linux系统中使用repo命令下载想要解析的Android系统源码,执行repo init–u URL[OPTIONS]命令后,从.repo文件夹中的manifest.xml文件中解析出该套源码包含的所有git工程的名称及路径信息,存入数据库中。
进一步地,所述步骤S2通过解析make数据库获取模块相关信息的具体实现如下:
S21、设计存储模块信息的Mysql数据库表;
S22、执行make–n–p命令,将打印输出的信息存入txt文件;
S23、解析S22中存储的txt文件,提取模块名称。Android构建系统在生成每个包的规则时插入了以如下规则命名的全局变量:Android.$MODULE.$ATTR。其中$MODULE为包的名字,$ATTR为以下BUILT、CHECKED、INSTALLED、PATH、REQUIRED、STUBS之一。本发明关心的有PATH、BUILT、INSTALLED。将含有这几个关键字的行解析出来存入S21设计好的数据库表中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710741450.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:使用雨生红球藻生产虾青素的方法
- 下一篇:大变形机翼静力试验的随动加载装置





