[发明专利]测试Android系统HAL层API的方法及系统在审
| 申请号: | 201210478051.6 | 申请日: | 2012-11-22 |
| 公开(公告)号: | CN103514069A | 公开(公告)日: | 2014-01-15 |
| 发明(设计)人: | 齐珂 | 申请(专利权)人: | TCL集团股份有限公司 |
| 主分类号: | G06F11/22 | 分类号: | G06F11/22 |
| 代理公司: | 深圳市君胜知识产权代理事务所 44268 | 代理人: | 刘文求;杨宏 |
| 地址: | 516001 广东省惠州市*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 测试 android 系统 hal api 方法 | ||
技术领域
本发明涉及软件领域,尤其涉及一种测试Android系统HAL层API的方法及系统。
背景技术
由于Android系统具有突出的易用性和开源性,越来越多的电子设备厂商选择采用Android系统作为其操作系统,手机、PAD、甚至是电视,都已经加入了Android系统的阵营。
但由于各个厂商所选用的硬件设备不同,想要Android系统能顺利运行在自己的硬件平台上,就需要针对Android系统的HAL层(Hardware Abstraction Layer,即硬件抽象层)做定制开发来匹配自己的底层硬件,此过程需要在HAL层开发过程中或者开发结束后快速有效的对其测试,来检验HAL层所提供的API(Application Programming Interface,应用程序编程接口)是否正常匹配了底层硬件。
一般而言,用户在使用Android系统的时候,直接接触的是各种丰富的应用程序(Application,简称APP),当用户点击一个APP而打开并使用的时候,Android系统的工作流程为:APP基于Android底层运行,然后调用本地服务,然后调用HAL动态库,加载各种so后缀文件,然后调用系统内核,最后打开相应的硬件设备;在上述流程中,我们要重点关心的是HAL动态库的调用环节,此处涉及到的就是Android系统移植过程中所要开发的HAL层,也是本发明中所要验证的一块。通常情况下,针对不同硬件设备开发的HAL层会在系统编译的最后生成xxx.so的文件(其中xxx表示不同的厂商标识),并将被置于/system/lib/hw目录下,供系统动态调用。
例如,音频设备相关的so文件可能为,摄像头设备相关的so文件可能为,GPS设备相关的so文件可能为,API即各个so文件中包含的可供上层调用的接口函数,比如audio.primary.xxx.so中会包含下列API:get_supported_devices,init_check,set_voice_volume等等。
在Android系统中,为了测试音频设备相关的HAL层API(包含于audio.primary.xxx.so中)是否正确的实现了预想的功能,最直观的方式是通过使用相关的APP来测试。比如使用音乐播放器,如果能正常的听到声音,能正常录音,那么基本可以确定待测试的audio相关的HAL 层API是正确的实现了其功能的。同理,其他设备,比如camera,gps,sensor等也可以这样测试。
但是这种测试方法在测试到APP不能实现正常的功能时,就不能准确定位是哪里出错了,例如在使用音乐播放器测试时,发现不能正常听到声音,在音乐播放器使用过程的众多环节中,问题有可能出在APP本身、runtime阶段或者Native Service层,上述测试方法并不能准确判断是哪里出了问题,并且,这种测试方法不能保证一个APP就能测试到HAL层提供的所有API。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足,本发明的目的在于提供测试Android系统HAL层API的方法及系统,旨在解决现有技术中HAL层测试不能准确定位、不能测试预定API的问题。
本发明的技术方案如下:
一种测试Android系统HAL层API的方法,其中,包括步骤:
A、在Android源码中设置一用于生成测试程序的源代码文件和用于配置所述源代码文件的配置文件;
B、根据所述配置文件控制所述代码源文件生成Android系统下可直接执行的测试程序;
C、所述测试程序按照预设的方式调用硬件设备对应的HAL层so库中的API接口进行测试;
D、将测试结果输出并保存。
所述测试Android系统HAL层API的方法,其中,所述步骤B具体包括:
B1、在Android源码下将所述源代码文件编译为中间文件;
B2、根据配置文件控制所述中间文件在Android源码指定路径下生成所述测试程序。
所述测试Android系统HAL层API的方法,其中,所述步骤C具体包括:
C1、根据测试程序中不同硬件设备的编号加载相应的HAL层so库;
C2、打开并初始化对应的硬件设备;
C3、按照预设的方式调用所述硬件设备对应的HAL层so库中的API接口进行测试。
所述测试Android系统HAL层API的方法,其中,所述步骤D具体包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于TCL集团股份有限公司,未经TCL集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210478051.6/2.html,转载请声明来源钻瓜专利网。





