一种Android系统自动化程序构建方法及系统的制作方法_2

文档序号:9546936阅读:来源:国知局
用Linux Cron技术,负责定时启动其他模块顺序执行。定时器预设的时间通常选择凌晨0点-2点之间,此时公司服务器资源处于闲置状态,不会对工程师开发造成影响。当到达该预设的时间时,采用Linux shell脚本和Google提供的repo工具,通过网络,利用repo工具与Google Android源码服务器相连,将最新的Android源码下载到本地,然后利用同样的方式与第三方开发商源码服务器相连,下载最新源码,最后,将和自己公司服务器相连,下载自己公司工程师开发的最新源码,通过Git工具将三方源码合并到最新的代码分支。
[0020]步骤S200、根据预先设置的编译参数开始编译合并后的第四Android源码,编译完成后将编译结果打包成固件程序。
[0021]具体实施时,Linux shell脚本按照预定的编译参数,对最新同步的代码进行编译,并打包生成可以用于Android设备升级的固件。每次生成的固件版本信息包含当前编译的时间,方便区分各个版本。
[0022]步骤S300、保存本次代码状态信息,将保存的本次代码状态信息与上次代码状态信息进行对比,输出并保存差异信息。
[0023]具体实施时,Linux shell脚本和^po工具以及Git工具将最新的代码状态保存下来,以便下一步做代码差异对比,用Linux shell脚本和repo工具生成当前编译版本与上一次编译版本的代码差异信息,具体为代码仓库中Git增加和减少的Commit信息。
[0024]步骤S400、将固件程序、本次代码状态信息、差异信息发布到软件发布服务器。
[0025]具体实施时,用Linux shell脚本和SVN工具,收集输出的固件程序、本次代码状态信息、差异信息,通过SVN工具发布到SVN软件发布服务器,这样测试人员可以看到软件发布信息,获取最新发布的软件进行测试。
[0026]进一步的实施例中,所述步骤S200具体包括:
步骤S201、根据预先设置的编译参数照Android标准编译流程开始编译合并后的第四Android 源码;
步骤S202、编译完成后将编译结果打包成可供Android设备升级的固件程序;
步骤S203、在固件程序的版本号末尾增加当前的编译时间。
[0027]具体地,根据预先设置的编译参数,例如以发布模式编译还是调试模式编译,是否开启CCache加速编译等参数按照Android标准编译流程开始编译,编译完成后将编译结果打包成可供Android设备升级的固件程序,并在固件版本号末尾增加编译时间,以便区分不同固件。编译时间最新的固件版本为最新的版本。
[0028]其中,所述步骤S300具体包括:
步骤S301、预先将通过Git工具将第一 Android源码、第二 Android源码、第三Android源码利用合并成的第四Android源码编译后形成的代码记录为本次代码状态信息;
步骤S302、将本次代码状态信息中Git代码仓库的提交信息保存到xml文件中,未提交的代码信息保存到txt文件中;
步骤S303、将保存的本次代码状态信息与上次代码状态信息进行对比;
步骤S304、输出差异彳g息,并将差异彳g息保存在txt文档中。
[0029]具体实施时,用repo manifest命令将各个代码仓库的Git commit信息保存到xml文件中,再利用git status、git diff和git diff —cache命令将没有提交的的代码信息保存到txt文件中,这样整个代码的状态信息被全部保存下来。将本次代码状态信息和上次代码状态信息进行对比,具体通过repo diffmanifests命令,此命令输入两次代码状态?目息,输出两次代码的差异?目息,并将差异?目息保存在txt文档中,为冋题分析提供参考,例如,上一次代码编译出来的软件是没有缺陷的,而这次编译的软件版本存在某种缺陷,那问题可以从这个差异信息txt文档中分析出来,为Android系统开发过程中的问题分析提供各个软件版本之间代码差异,为定位问题提供准确的Git Commit信息。
[0030]进一步的实施例中,所述步骤S400具体包括:
步骤S401、获取生成的固件程序、输出的代码状态信息、输出的差异信息;
步骤S402、计算生成的固件程序的MD5值,对文件损坏程度进行鉴定,判断鉴定结果是否一致;
步骤S403、若一致,则通过SVN工具将固件程序、代码状态信息、差异信息发布到SVN软件发布服务器。
[0031]具体实施时,收集以上过程的输出结果,具体包含生成的固件程序,代码状态信息,差异信息,并计算生成的固件程序的MD5值,用以鉴定软件在发布传输过程出现的文件损坏,最后将以上信息通过SVN工具发布到SVN软件发布服务器,测试人员可以从SVN服务器获取最新的软件版本进行测试,出现问题定位快。其中MD5即Message-DigestAlgorithm 5 (信息-摘要算法5),用于确保信息传输完整一致。MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式,就是把一个任意长度的字节串变换成一定长的十六进制数字串。当检测到MD5值在传输前后的值一致,则文件没有被篡改,如果MD5值在固件程序在传输前后的值不一致,说明文件已被篡改或是文件出错。此时要重新获取固件程序,通过计算固件程序的MD5值降低Android系统开发过程中同步代码,编译代码,发布软件中的出错概率。
[0032]其中,所述步骤S201中预先设置的编译参数包括发布模式编译、调试模式编译、加速编译。具体地,加速编译为开启CCache加速编译,CCache编译可加快编译速度,缩短再次编译的时间。ccache工具通过将头文件高速缓存到源文件之中而改进了构建性能,因而通过减少每一步编译时添加头文件所需要的时间而提高了构建速度。
[0033]由以上方法实施例可知,本发明提供了一种Android系统自动化程序构建方法,通过设置定时器,自动在指定时间下载服务器、第三方及自主开发的源码下载到本地进行合并,并编译,将编译完全后的结果打包成固件程序,并保存所有代码信息,根据本次代码信息与上次代码进行的区别输出差异信息并保存,将固件程序、本次代码状态信息、差异信息发布到服务器上供测试人员下载。本发明可通过自动化软件程序提高Android系统开发的效率,减少开发过程中因为频繁同步代码,编译代码,发布软件等过程中出现的错误,并且为Android开发过程中遇到的问题提供准确的代码差异信息,提高定位问题和解决问题的速度,同时将公司的空闲服务器资源利用起来,提高了软件开发的效率,节省了人力,节约了成本。
[0034]本发明还提供了一种Android系统自动化程序构建系统的较佳实施例的功能原理框图,如图2所示,系统包括:
源码下载与合并模块100,用于当检测到当前时间达到预设的时间时,通过网络将源码服务器中的最新的第一 Android源码、第三方开发的最新的第二 Android源码、自主开发的最新的第三Android源码下载到本地,并将第一 Android源码、第二 Android源码、第三Android源码进行合并形成第四Android源码;具体如上所述。
[0035]编译模块200,用于根据预先设置的编译参数开始编译合并后的第四Android源码,编译完成后将编译结果打包成固件程序;具体如上所述。
[0036]对比与保存模块300,用于保存本次代码状态信息,将保存的本次代码状态信息与上次代码状态信息进行对比,输出并保存差异信息;具体如上所述。
[0037]发布模块400,用于将固件程序、本次代码状态信息、差异信息发布到软件发布服务器;具体如上所述。
[0038]所述Android系统自动化程序构建系统,其中,所述编译模块具体包括: 编译单元,用于根据预先设置的编译参数照Android标准编译流程开始编译合并后的第四Android源码;具体如上所述。
[0039]编译结果打包单元,用于编译完成后将编译结果打包成可供Android设备升级的固件程序;具体如上所述。
[0040]编译时间添加单元,用于在固件程序的版本号末尾增加当前的编译时间;具体如上所述。
[0041]所述Android系统自动化程序构建系统,其中,所述对比与保存模块具体
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1