发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种用于部署安卓系统SDK的方法、存储介质、设备及系统,兼容windows和linux系统并实现SDK的自动部署。
为达到以上目的,本发明采取的技术方案是:一种用于部署安卓系统SDK的方法:
获取当前操作系统的版本信息;
通过后台静默下载的方式下载与当前操作系统的版本信息对应的安卓SDK工具包,并将安卓SDK工具包的保存路径导入到当前操作系统的路径变量中;
使用安卓SDK工具包中的SDK管理器获取待下载的SDK工具的版本信息;
使用安卓SDK工具包中的SDK管理器通过代理服务器下载与SDK工具的版本信息对应的SDK工具。
在上述技术方案的基础上,获取当前操作系统的版本信息的过程包括:
通过调用uname-a脚本命令获取当前操作系统的环境信息并解析返回的第一个字符串信息。
在上述技术方案的基础上,通过后台静默下载的方式下载与当前操作系统的版本信息对应的安卓SDK工具包,并将安卓SDK工具包的保存路径导入到当前操作系统的路径变量中的过程包括:
通过wget脚本命令下载安卓SDK工具包;
解压下载的安卓SDK工具包;
通过Export命令将安卓SDK工具包的保存路径导入到当前操作系统的路径变量中。
在上述技术方案的基础上,使用安卓SDK工具包中的SDK管理器获取待下载的SDK工具的版本信息的过程包括:
通过SDK管理器中的list脚本命令列出SDK工具包中的全部SDK信息;
调用split(“|”)方法来将全部SDK信息按“|”进行分割,将分割的结果存放在数组resultArray中;
从数组对象resultArray直接取出所有位置为3的整数倍的值作为待下载的SDK工具的版本信息。
本发明还公开了一种存储介质,该存储介质上存储有计算机程序:所述计算机程序被处理器执行时实现用于部署安卓系统SDK的方法。
本发明还公开了一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序:处理器执行计算机程序时实现用于部署安卓系统SDK的方法。
本发明还公开了一种用于部署安卓系统SDK的系统,包括:
系统环境检测模块,其用于获取当前操作系统的版本信息;
安卓SDK工具包下载模块,其用于通过后台静默下载的方式下载与当前操作系统的版本信息对应的安卓SDK工具包,并将安卓SDK工具包的保存路径导入到当前操作系统的路径变量中;
版本信息获取模块,其用于使用安卓SDK工具包中的SDK管理器获取待下载的SDK工具的版本信息;
SDK信息下载模块,其用于使用安卓SDK工具包中的SDK管理器通过代理服务器下载与SDK工具的版本信息对应的SDK工具。
在上述技术方案的基础上,所述系统环境检测模块用于:
通过调用uname-a脚本命令获取当前操作系统的环境信息并解析返回的第一个字符串信息。
在上述技术方案的基础上,所述安卓SDK工具包下载模块用于:
通过wget脚本命令下载安卓SDK工具包;
通过unzip命令解压下载的安卓SDK工具包;
通过Export命令将安卓SDK工具包的保存路径导入到当前操作系统的路径变量中。
在上述技术方案的基础上,所述版本信息获取模块用于:
通过SDK管理器中的list脚本命令列出SDK工具包中的全部SDK信息;
调用split(“|”)方法来将全部SDK信息按“|”进行分割,将分割的结果存放在数组resultArray中;
从数组对象resultArray直接取出所有位置为3的整数倍的值作为待下载的SDK工具的版本信息。
与现有技术相比,本发明的优点在于:
本发明先获取当前操作系统的版本信息;通过后台静默下载的方式下载与当前操作系统的版本信息对应的安卓SDK工具包;使用安卓SDK工具包中的SDK管理器获取待下载的SDK工具的版本信息;使用安卓SDK工具包中的SDK管理器通过代理服务器下载与SDK工具的版本信息对应的SDK工具,能够在windows和linux系统下均实现一键自动部署SDK的功能,能够极大程度上提高开发效率和降低人工成本,提高了安卓SDK的部署效率,并且有效的降低了时间成本和降低出错的概率。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
参见图1所示,本发明实施例提供一种用于部署安卓系统SDK的方法:
获取当前操作系统的版本信息;
通过后台静默下载的方式下载与当前操作系统的版本信息对应的安卓SDK工具包,并将安卓SDK工具包的保存路径导入到当前操作系统的路径变量中;
使用安卓SDK工具包中的SDK管理器获取待下载的SDK工具的版本信息;
使用安卓SDK工具包中的SDK管理器通过代理服务器下载与SDK工具的版本信息对应的SDK工具。
获取当前操作系统的版本信息的过程包括:
通过调用uname-a脚本命令获取当前操作系统的环境信息并解析返回的第一个字符串信息。若第一个字符串是操作系统相关的信息,说明该环境就是输出的操作系统的环境信息;若第一个字符串不是操作系统相关的信息,说明该环境无法正常执行该脚本,此时会输出错误信息,告诉执行者环境异常。
通过后台静默下载的方式下载与当前操作系统的版本信息对应的安卓SDK工具包,并将安卓SDK工具包的保存路径导入到当前操作系统的路径变量中的过程包括:
通过wget脚本命令下载安卓SDK工具包;
解压下载的安卓SDK工具包;
通过Export命令将安卓SDK工具包的保存路径导入到当前操作系统的路径变量中。
wget脚本命令如下所示:
Wget http:/xxxxxx/xxxx/xx/xxx/Sdk.zip
通过该脚本命令的执行后台会主动与该文件所在的服务器建立http连接,并将获取到的文件信息写入到本地的缓存文件中,直到文件全部下载完成后再将缓存文件的名称重命名为sdk.zip的名称。
下载完成该工具后,首先对该工具进行解压操作,本方案中实施解压流程是通过unzip命令来实施的。具体的实现脚本如下所示:
Unzip sdk.zip
通过unzip命令就能够将sdk.zip文件按照zip格式的方式来进行解压,并将解压的文件存放在当前路径下。
解压完成后设置路径,设置路径的方法如下所示:
Export SDK_TOOLS_PATH=$PWD/tools
ExportPATH=$PATH:$SDK_TOOLS_PATH
第一句代码中Export表示将一个变量导入到系统环境中,Export SDK_TOOLS_PATH表示需要向系统环境中导入自定义的变量SDK_TOOLS_PATH,且该变量的值是$PWD/tools。其中$PWD是系统环境变量中存在的一个值,前面加上$表示引用该变量的值,PWD的值永远指向当前所在的路径,也就是还说$PWD/tools表示的是当前所在路径下的tools目录中的意思。
第二句代码的含义是将上述定义的SDK_TOOLS_PATH变量导入到系统路径变量PATH中去。具体的导入方法是首先获取原始的PATH信息,是通过$PATH进行获取的。接下来通过“:”连接符来对PATH的信息进行扩展,使用$SDK_TOOLS_PATH的信息类对PATH信息进行扩展,这样经过扩展后的PATH中就包含了本方案所述的SDK_TOOLS_PATH路径信息了,也就将SDK工具的路径信息设置到系统环境变量中去了。
使用安卓SDK工具包中的SDK管理器获取待下载的SDK工具的版本信息的过程包括:
1)通过SDK管理器中的list脚本命令列出SDK工具包中的全部SDK信息;将上述全部SDK信息标记为resultAll;在SDK工具包中有一个专门用于管理SDK工具的命令是SDK管理器。为了能够获取到SDK工具的SDK工具,使用下面的脚本信息Sdkmanager–list列出所有SDK信息;
2)通过resultAll.split(“|”)来将全部SDK信息按“|”进行分割,将分割的结果存放在数组resultArray中;
3)从数组对象resultArray直接取出所有位置为3的整数倍的值作为待下载的SDK工具的版本信息。将解析的待下载的SDK工具的版本信息保存在集合listResult中。
这种解析方式能够实现一次性解析全部的版本信息,相比于传统的方式逐行解析极大的提高了解析速度及效率。
使用安卓SDK工具包中的SDK管理器通过代理服务器下载SDK信息的方法为:
调用如下的脚本信息来实现下载过程:
Sdkmanager item–proxy=http–proxy_host=xxx.xxx.xxx–proxy_port=xxxx
其中,sdkmanager表示SDK工具中的SDK管理器,通过sdkmanager来对SDK进行自动下载。Item就是上述listResult中的任意一个元素信息,即需要被下载或更新的SDK信息。–proxy=http表示的是通过http的代理协议来对其进行下载,–proxy_host=xxx.xxx.xxx表示指定代理的域名,–proxy_port=xxxx表示指定代理的端口号,通过上述三个参数的配合能够在下载的时候通过代理服务器来进行中转下载了。
本发明实施例还公开了一种存储介质,该存储介质上存储有计算机程序,计算机程序被处理器执行时实现用于部署安卓系统SDK的方法。
本发明实施例还公开了一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,处理器执行计算机程序时实现用于部署安卓系统SDK的方法。
参见图2所示,本发明实施例还公开了一种用于部署安卓系统SDK的系统,包括:
系统环境检测模块,其用于获取当前操作系统的版本信息;
安卓SDK工具包下载模块,其用于通过后台静默下载的方式下载与当前操作系统的版本信息对应的安卓SDK工具包,并将安卓SDK工具包的保存路径导入到当前操作系统的路径变量中;
版本信息获取模块,其用于使用安卓SDK工具包中的SDK管理器获取待下载的SDK工具的版本信息;
SDK信息下载模块,其用于使用安卓SDK工具包中的SDK管理器通过代理服务器下载与SDK工具的版本信息对应的SDK工具。
系统环境检测模块用于:
通过调用uname-a脚本命令获取当前操作系统的环境信息并解析返回的第一个字符串信息。若第一个字符串信息为操作系统的环境信息,则当前操作系统的环境状态正常;若第一个字符串信息不是操作系统的环境信息,则当前操作系统的环境状态异常。
安卓SDK工具包下载模块用于:
通过wget脚本命令下载安卓SDK工具包;
通过unzip命令解压下载的安卓SDK工具包;
通过Export命令将安卓SDK工具包的保存路径导入到当前操作系统的路径变量中。
版本信息获取模块用于:
通过SDK管理器中的list脚本命令列出SDK工具包中的全部SDK信息;
调用split(“|”)方法来将全部SDK信息按“|”进行分割,将分割的结果存放在数组resultArray中;
从数组对象resultArray直接取出所有位置为3的整数倍的值作为待下载的SDK工具的版本信息。
调用如下的脚本信息来实现下载过程:
Sdkmanager item–proxy=http–proxy_host=xxx.xxx.xxx–proxy_port=xxxx
其中sdkmanager表示SDK工具中的SDK管理器,我们通过sdkmanager来对SDK进行自动下载。
Item就是上述listResult中的任意一个元素信息,即需要被下载或更新的SDK信息。–proxy=http表示的是通过http的代理协议来对其进行下载,–proxy_host=xxx.xxx.xxx表示指定代理的域名,–proxy_port=xxxx表示指定代理的端口号,通过上述三个参数的配合能够在下载的时候通过代理服务器来进行中转下载了。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。