CN107844313B - 一种Android中SDK版本升级方法及装置 - Google Patents

一种Android中SDK版本升级方法及装置 Download PDF

Info

Publication number
CN107844313B
CN107844313B CN201711190557.6A CN201711190557A CN107844313B CN 107844313 B CN107844313 B CN 107844313B CN 201711190557 A CN201711190557 A CN 201711190557A CN 107844313 B CN107844313 B CN 107844313B
Authority
CN
China
Prior art keywords
sdk
version number
target
version
target sdk
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711190557.6A
Other languages
English (en)
Other versions
CN107844313A (zh
Inventor
张磊
张文明
陈少杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201711190557.6A priority Critical patent/CN107844313B/zh
Publication of CN107844313A publication Critical patent/CN107844313A/zh
Application granted granted Critical
Publication of CN107844313B publication Critical patent/CN107844313B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种Android中SDK版本升级方法及装置,所述方法包括:S1,将目标SDK上传到本地Maven库中;S2,获取编译脚本文件中与所述目标SDK的名称相同的SDK的第一版本号,将所述第一版本号替换为所述目标SDK的第二版本号;S3,获取本地缓存中与所述目标SDK的名称相同的SDK的第三版本号,若编译器检测到所述编译脚本中的第二版本号和所述第三版本号不同,则从所述本地Maven库中将所述目标SDK下载到本地缓存中。本发明完成SDK版本的自动升级,提高了SDK版本升级的效率,保证了SDK版本升级的正确性。

Description

一种Android中SDK版本升级方法及装置
技术领域
本发明属于软件开发领域,更具体地,涉及一种Android中SDK版本升级方法及装置。
背景技术
在Android开发过程中会使用到各种各样的第三方SDK(Software DevelopmentKit,软件开发工具包),所述第三方SDK是软件工程师为特定的软件包、软件框架、硬件平台和操作系统等创建应用软件时的开发工具集合。
由于第三方的需求,会对这些SDK进行变更,因此需要对使用的第三方SDK版本进行升级。传统方案中通常是对最新的SDK版本进行手动拷贝并手动修改升级的SDK的版本号,以实现SDK版本的升级。手动拷贝的方式在每次升级SDK版本时需要找到被升级的SDK版本所在的位置,拷贝的过程耗费时间和人力。此外,在修改版本号信息的时候容易将版本号填写错误,从而导致SDK升级异常,且很难被发现。
发明内容
为克服上述现有SDK版本升级方法费时费力,容易出错的问题或者至少部分地解决上述问题,本发明提供了一种Android中SDK版本升级方法及装置。
根据本发明的第一方面,提供一种Android中SDK版本升级方法,包括:
S1,将目标SDK上传到本地Maven库中;
S2,获取编译脚本文件中与所述目标SDK的名称相同的SDK的第一版本号,将所述第一版本号替换为所述目标SDK的第二版本号;
S3,获取本地缓存中与所述目标SDK的名称相同的SDK的第三版本号,若编译器检测到所述编译脚本中的第二版本号和所述第三版本号不同,则从所述本地Maven库中将所述目标SDK下载到所述本地缓存中。
具体地,所述步骤S1具体包括:
S11,计算所述目标SDK的第二版本号;
S12,根据账户名、账户密码、所述目标SDK的名称和第二版本号,以及所述目标SDK的二进制文件,将所述目标SDK保存在所述本地Maven库中。
具体地,所述步骤S11具体包括:
S111,获取所述本地Maven库中与所述目标SDK的名称相同的SDK的最大版本号;
S112,若所述最大版本号不为空,则将所述最大版本号的数据类型转换为整型;
S113,将所述最大版本号加1,作为所述目标SDK的版本号。
具体地,所述步骤S112还包括:
使用try catch方法捕获数据类型转换过程中的异常;
当捕获到异常时,输出异常信息。
具体地,所述步骤S112还包括:
若所述最大版本号为空,则将所述目标SDK的版本号设置为1。
具体地,所述步骤S2具体包括:
使用File类的构造函数将所述编译脚本文件读取到内存中;
使用readLine方法逐行读取所述内存中的编译脚本文件;
若读取到所述目标SDK的名称,则将所述第二版本号以覆盖的方式写入到所述编译脚本文件中第一版本号的位置;
使用flush函数对所述编译脚本文件进行刷新。
具体地,所述步骤S3还包括:
若编译器检测到所述编译脚本中的第二版本号和所述第三版本号相同,则调用所述本地缓存中的目标SDK进行编译。
根据本发明的第二方面,提供一种Android中SDK版本升级装置,包括:
上传单元,用于将目标SDK上传到本地Maven库中;
修改单元,用于获取编译脚本文件中与所述目标SDK的名称相同的SDK的第一版本号,将所述第一版本号替换为所述目标SDK的第二版本号;
下载单元,用于获取本地缓存中与所述目标SDK的名称相同的SDK的第三版本号,在编译器检测到所述编译脚本中的第二版本号和所述第三版本号不同时,从所述本地Maven库中将所述目标SDK下载到所述本地缓存中。
根据本发明的第三方面,提供一种Android中SDK版本升级设备,包括:
至少一个处理器、至少一个存储器和总线;其中,
所述处理器和存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如前所述的方法。
根据本发明的第四方面,提供一种非暂态计算机可读存储介质,用于存储如前所述方法的计算机程序。
本发明提供一种Android中SDK版本升级方法及装置,该方法通过将所述目标SDK上传到本地Maven库中,并将编译脚本文件中相应SDK的版本号更新为所述目标SDK的版本号,然后使用编译器根据编译脚本文件中更新的版本号从本地Maven库中下载所述目标SDK,从而完成SDK版本的自动升级,提高了SDK版本升级的效率,保证了SDK版本升级的正确性。
附图说明
图1为本发明实施例提供的Android中SDK版本升级方法整体流程示意图;
图2为本发明实施例提供的Android中SDK版本升级装置整体结构示意图;
图3为本发明实施例提供的Android中SDK版本升级设备整体结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
在本发明的一个实施例中提供一种Android中SDK版本升级方法,图1为本发明实施例提供的Android中SDK版本升级方法整体流程示意图,该方法包括:S1,将目标SDK上传到本地Maven库中;S2,获取编译脚本文件中与所述目标SDK的名称相同的SDK的第一版本号,将所述第一版本号替换为所述目标SDK的第二版本号;S3,获取本地缓存中与所述目标SDK的名称相同的SDK的第三版本号,若编译器检测到所述编译脚本中的第二版本号和所述第三版本号不同,则从所述本地Maven库中将所述目标SDK下载到所述本地缓存中。
具体地,S1中,所述目标SDK为最新版本的SDK。现有技术中直接通过手动拷贝的形式将新版本的目标SDK以覆盖的方式更新旧版本的SDK。由于版本直接覆盖会导致历史版本信息的丢失,本方案中为了保留SDK所有的历史版本信息,构建一套本地Maven库,所述本地Maven库主要用于管理SDK的历史版本信息,可以用于切换不同版本的SDK,同样对于更新SDK非常简洁。为了让脚本程序实现SDK版本的自动更新,使用脚本程序将本地的所述目标SDK上传到所述本地Maven库中。S2中,所述编译脚本文件为build.gradle文件,在所述编译脚本文件中获取所述目标SDK的名称。若在所述编译脚本文件中获取到所述目标SDK的名称,则说明所述目标SDK的旧版本被使用。获取编译脚本文件中与所述目标SDK的名称相同的SDK的第一版本号,所述第一版本号为编译脚本文件中所述目标SDK对应的旧版本的版本号。使用脚本程序将所述第一版本号替换为所述目标SDK的第二版本号,从而自动修改编译脚本。S3中,将所述编译脚本文件中的版本号进行升级后,触发编译器主动下载最新的所述目标SDK,从而完成整个SDK版本的自动升级过程。为了完成对最新的所述目标SDK的主动下载,需要触发编译器进行编译。具体通过脚本调用gradlewbuild命令触发编译器进行编译。获取本地缓存中与所述目标SDK名称相同的SDK的第三版本号,所述第三版本号为本地缓存中所述目标SDK对应的旧版本的版本号。当编译器检测到所述编译脚本文件中的第二版本号和所述第三版本号不同,说明所述本地缓存中的SDK是所述目标SDK的旧版本,新版本的所述目标SDK在所述本地缓存中不存在,则从所述本地Maven库中将所述目标SDK下载到所述本地缓存中,然后对所述目标SDK进行应用。
本实施例通过将所述目标SDK上传到本地Maven库中,并将编译脚本文件中相应SDK的版本号更新为所述目标SDK的版本号,然后使用编译器根据编译脚本文件中更新的版本号从本地Maven库中下载所述目标SDK,从而完成SDK版本的自动升级,提高了SDK版本升级的效率,保证了SDK版本升级的正确性。
在上述实施例的基础上,本实施例中所述步骤S1具体包括:S11,计算所述目标SDK的第二版本号;S12,根据账户名、登录密码、所述目标SDK的名称和第二版本号,以及所述目标SDK的二进制文件,将所述目标SDK保存在所述本地Maven库中。
具体地,S11中,根据所述本地Maven库中与所述目标SDK名称相同的SDK的版本号,确定所述目标SDK的第二版本号。即根据所述目标SDK对应的旧版本SDK的版本号,获取所述目标SDK的版本号。S12中,将所述目标SDK上传到所述本地Maven库的过程需要账户名称和账户密码,所述目标SDK的名称和第二版本号,以及所述目标SDK的二进制文件。例如通过调用uploadSdk(userName,password,sdkName,sdkVersion,sdkFile)函数来将所述目标SDK上传到所述本地Maven库中。其中,sdkName为所述目标SDK的名称,sdkVersion为所述目标SDK的第二版本号,userName为账户名,password为账户密码,sdkFile是所述目标SDK的二进制文件。所述账户名和所述账户密码是已知的,由管理员分配。本实施例实现自动将新版本的所述目标SDK上传到所述本地Maven库中。
在上述实施例的基础上,本实施例中所述步骤S11具体包括:S111,获取所述本地Maven库中与所述目标SDK的名称相同的SDK的最大版本号;S112,若所述最大版本号不为空,则将所述最大版本号的数据类型转换为整型;S113,将所述最大版本号加1,作为所述目标SDK的第二版本号。
具体地,S111中,将所述目标SDK的名称sdkName作为参数,通过getLasterVersion(sdkName)函数获取所述本地Maven库中与所述目标SDK名称相同的SDK的最大版本号。所述最大版本号为所述本地Maven库中当前的最新版本号。将获取到的最大版本号标记为version1。getLasterVersion函数返回的所述最大版本号是一个字符串数据,将字符串类型的所述最大版本号version1转换成整型数据。具体通过调用Integer.parase(version1)方法将version1由字符串类型转换成整型数据。将转换后的整型数据加1,作为所述目标SDK的版本号version2。本实施例自动计算所述目标SDK的版本号。
在上述实施例的基础上,本实施例中所述步骤S112还包括:使用try catch方法捕获数据类型转换过程中的异常;当捕获到异常时,输出异常信息。
具体地,在将所述最大版本号的数据类型转换为整型的过程中,为了避免转换过程失败导致程序异常,在转换函数的外层使用try catch方法。通过try catch方法捕获转换过程中可能出现的异常,当异常发生时,将异常信息进行输出,方便获知异常信息,并对异常信息进行及时处理。
在上述实施例的基础上,本实施例中所述步骤S112还包括:若所述最大版本号为空,则将所述目标SDK的版本号设置为1。
具体地,如果没有上传过名称为sdkName的SDK,即所述本地Maven库中不存在与所述目标SDK的名称相同的SDK,则getLasterVersion函数返回一个null,即空值。如果getLasterVersion函数返回为值为空值,直接将version2赋值为1,表示初始化的版本号。
在上述各实施例的基础上,本实施例中所述步骤S2具体包括:使用File类的构造函数将所述编译脚本文件读取到内存中;使用readLine方法逐行读取所述内存中的编译脚本文件;若读取到所述目标SDK的名称,则将所述第二版本号以覆盖的方式写入到所述编译脚本文件中第一版本号的位置;使用flush函数对所述编译脚本文件进行刷新。
具体地,所述本地Maven库中当前最新的SDK的版本号为version2,此时需要将所述编译脚本文件build.gradle中的SDK版本号由version1替换成version2。具体的替换过程为:首先通过File类的构造函数将build.gradle文件读取到内存中,然后通过readLine方法逐行读取所述内存中的编译脚本文件,并判断读取的内容中是否包含所述目标SDK的名称sdkName关键字。如果读取的内容中不包含所述目标SDK的名称,则继续读取下一行数据;如果读取的内容中包含所述目标SDK的名称,则将version2以覆盖的方式写入到所述编译脚本文件中version1所在的位置。写入完毕后调用flush函数将本地缓存中的数据刷新到所述编译脚本文件。本实施例实现对编译脚本文件build.gradle中的版本号进行自动更新。
在上述各实施例的基础上,本实施例中所述步骤S3还包括:若编译器检测到所述编译脚本中的第二版本号和所述第三版本号相同,则调用所述本地缓存中的目标SDK进行编译。
在本发明的另一个实施例中提供一种Android中SDK版本升级装置,图2为本发明实施例提供的Android中SDK版本升级装置整体结构示意图,该装置包括上传单元1、修改单元2和下载单元3,其中:
所述上传单元1用于将目标SDK上传到本地Maven库中;所述修改单元2用于获取编译脚本文件中与所述目标SDK的名称相同的SDK的第一版本号,将所述第一版本号替换为所述目标SDK的第二版本号;所述下载单元3用于获取本地缓存中与所述目标SDK的名称相同的SDK的第三版本号,在编译器检测到所述编译脚本中的第二版本号和所述第三版本号不同时,从所述本地Maven库中将所述目标SDK下载到所述本地缓存中。
具体地,所述目标SDK为最新版本的SDK。现有技术中直接通过手动拷贝的形式将新版本的目标SDK以覆盖的方式更新旧版本的SDK。由于版本直接覆盖会导致历史版本信息的丢失,本方案中为了保留SDK所有的历史版本信息,构建一套本地Maven库,所述本地Maven库主要用于管理SDK的历史版本信息,可以用于切换不同版本的SDK,同样对于更新SDK非常简洁。为了让脚本程序实现SDK版本的自动更新,所述上传单元1使用脚本程序将本地的所述目标SDK上传到所述本地Maven库中。所述编译脚本文件为build.gradle文件,在所述编译脚本文件中获取所述目标SDK的名称。若所述修改单元2在所述编译脚本文件中获取到所述目标SDK的名称,则说明所述目标SDK的旧版本被使用。所述修改单元2获取编译脚本文件中与所述目标SDK的名称相同的SDK的第一版本号,所述第一版本号为编译脚本文件中所述目标SDK对应的旧版本的版本号。所述修改单元2使用脚本程序将所述第一版本号替换为所述目标SDK的第二版本号,从而自动修改编译脚本。所述下载单元3将所述编译脚本文件中的版本号进行升级后,触发编译器主动下载最新的所述目标SDK,从而完成整个SDK版本的自动升级过程。为了完成对最新的所述目标SDK的主动下载,需要触发编译器进行编译。具体通过脚本调用gradlewbuild命令触发编译器进行编译。获取本地缓存中与所述目标SDK名称相同的SDK的第三版本号,所述第三版本号为本地缓存中所述目标SDK对应的旧版本的版本号。当编译器检测到所述编译脚本文件中的第二版本号和所述第三版本号不同,说明所述本地缓存中的SDK是所述目标SDK的旧版本,新版本的所述目标SDK在所述本地缓存中不存在,则所述下载单元3从所述本地Maven库中将所述目标SDK下载到所述本地缓存中,然后对所述目标SDK进行应用。
本实施例通过将所述目标SDK上传到本地Maven库中,并将编译脚本文件中相应SDK的版本号更新为所述目标SDK的版本号,然后使用编译器根据编译脚本文件中更新的版本号从本地Maven库中下载所述目标SDK,从而完成SDK版本的自动升级,提高了SDK版本升级的效率,保证了SDK版本升级的正确性。
在上述实施例的基础上,本实施例中所述上传单元包括:计算子单元,用于计算所述目标SDK的第二版本号;上传子单元,用于根据账户名、账户密码、所述目标SDK的名称和第二版本号,以及所述目标SDK的二进制文件,将所述目标SDK保存在所述本地Maven库中。
在上述实施例的基础上,本实施例中所述计算子单元具体用于:获取所述本地Maven库中与所述目标SDK的名称相同的SDK的最大版本号;若所述最大版本号不为空,则将所述最大版本号的数据类型转换为整型;将所述最大版本号加1,作为所述目标SDK的版本号。
在上述实施例的基础上,本实施例中所述计算子单元还用于:使用try catch方法捕获数据类型转换过程中的异常;当捕获到异常时,输出异常信息。
在上述实施例的基础上,本实施例中所述计算子单元还用于:若所述最大版本号为空,则将所述目标SDK的版本号设置为1。
在上述各实施例的基础上,本实施例中所述修改子单元具体用于:使用File类的构造函数将所述编译脚本文件读取到内存中;使用readLine方法逐行读取所述内存中的编译脚本文件;若读取到所述目标SDK的名称,则将所述第二版本号以覆盖的方式写入到所述编译脚本文件中第一版本号的位置;使用flush函数对所述编译脚本文件进行刷新。
在上述各实施例的基础上,本实施例中所述下载子单元还用于:若编译器检测到所述编译脚本中的第二版本号和所述第三版本号相同,则调用所述本地缓存中的目标SDK进行编译。
本实施例提供一种Android中SDK版本升级设备,图3为本发明实施例提供的Android中SDK版本升级设备整体结构示意图,该设备包括:至少一个处理器31、至少一个存储器32和总线33;其中,
所述处理器31和存储器32通过所述总线33完成相互间的通信;
所述存储器32存储有可被所述处理器31执行的程序指令,所述处理器调用所述程序指令能够执行上述各方法实施例所提供的方法,例如包括:S1,将目标SDK上传到本地Maven库中;S2,获取编译脚本文件中与所述目标SDK的名称相同的SDK的第一版本号,将所述第一版本号替换为所述目标SDK的第二版本号;S3,获取本地缓存中与所述目标SDK的名称相同的SDK的第三版本号,若编译器检测到所述编译脚本中的第二版本号和所述第三版本号不同,则从所述本地Maven库中将所述目标SDK下载到所述本地缓存中。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:S1,将目标SDK上传到本地Maven库中;S2,获取编译脚本文件中与所述目标SDK的名称相同的SDK的第一版本号,将所述第一版本号替换为所述目标SDK的第二版本号;S3,获取本地缓存中与所述目标SDK的名称相同的SDK的第三版本号,若编译器检测到所述编译脚本中的第二版本号和所述第三版本号不同,则从所述本地Maven库中将所述目标SDK下载到所述本地缓存中。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的Android中SDK版本升级设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种Android中SDK版本升级方法,其特征在于,包括:
S1,将目标SDK上传到本地Maven库中;
S2,获取编译脚本文件中与所述目标SDK的名称相同的SDK的第一版本号,将所述第一版本号替换为所述目标SDK的第二版本号;
S3,获取本地缓存中与所述目标SDK的名称相同的SDK的第三版本号,若编译器检测到所述编译脚本文件中的第二版本号和所述第三版本号不同,则从所述本地Maven库中将所述目标SDK下载到所述本地缓存中。
2.根据权利要求1所述的方法,其特征在于,所述步骤S1具体包括:
S11,计算所述目标SDK的第二版本号;
S12,根据账户名、账户密码、所述目标SDK的名称和第二版本号,以及所述目标SDK的二进制文件,将所述目标SDK保存在所述本地Maven库中。
3.根据权利要求2所述的方法,其特征在于,所述步骤S11具体包括:
S111,获取所述本地Maven库中与所述目标SDK的名称相同的SDK的最大版本号;
S112,若所述最大版本号不为空,则将所述最大版本号的数据类型转换为整型;
S113,将所述最大版本号加1,作为所述目标SDK的版本号。
4.根据权利要求3所述的方法,其特征在于,所述步骤S112还包括:
使用try catch方法捕获数据类型转换过程中的异常;
当捕获到异常时,输出异常信息。
5.根据权利要求3所述的方法,其特征在于,所述步骤S112还包括:
若所述最大版本号为空,则将所述目标SDK的版本号设置为1。
6.根据权利要求1-5任一所述的方法,其特征在于,所述步骤S2具体包括:
使用File类的构造函数将所述编译脚本文件读取到内存中;
使用readLine方法逐行读取所述内存中的编译脚本文件;
若读取到所述目标SDK的名称,则将所述第二版本号以覆盖的方式写入到所述编译脚本文件中第一版本号的位置;
使用flush函数对所述编译脚本文件进行刷新。
7.根据权利要求1-5任一所述的方法,其特征在于,所述步骤S3还包括:
若编译器检测到所述编译脚本文件中的第二版本号和所述第三版本号相同,则调用本地缓存中的目标SDK进行编译。
8.一种Android中SDK版本升级装置,其特征在于,包括:
上传单元,用于将目标SDK上传到本地Maven库中;
修改单元,用于获取编译脚本文件中与所述目标SDK的名称相同的SDK的第一版本号,将所述第一版本号替换为所述目标SDK的第二版本号;
下载单元,用于获取本地缓存中与所述目标SDK的名称相同的SDK的第三版本号,在编译器检测到所述编译脚本文件中的第二版本号和所述第三版本号不同时,从所述本地Maven库中将所述目标SDK下载到所述本地缓存中。
9.一种Android中SDK版本升级设备,其特征在于,包括:
至少一个处理器、至少一个存储器和总线;其中,
所述处理器和存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至7任一所述的方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至7任一所述的方法。
CN201711190557.6A 2017-11-24 2017-11-24 一种Android中SDK版本升级方法及装置 Active CN107844313B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711190557.6A CN107844313B (zh) 2017-11-24 2017-11-24 一种Android中SDK版本升级方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711190557.6A CN107844313B (zh) 2017-11-24 2017-11-24 一种Android中SDK版本升级方法及装置

Publications (2)

Publication Number Publication Date
CN107844313A CN107844313A (zh) 2018-03-27
CN107844313B true CN107844313B (zh) 2020-05-08

Family

ID=61679348

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711190557.6A Active CN107844313B (zh) 2017-11-24 2017-11-24 一种Android中SDK版本升级方法及装置

Country Status (1)

Country Link
CN (1) CN107844313B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111176722B (zh) * 2019-12-30 2023-12-26 腾讯音乐娱乐科技(深圳)有限公司 第三方库的文件版本检测方法、装置及存储介质
CN113377342B (zh) * 2020-02-25 2024-01-19 南昌节点汇智科技有限公司 一种项目构建方法、装置、电子设备及存储介质
CN112214521A (zh) * 2020-11-20 2021-01-12 深圳前海微众银行股份有限公司 规则查询方法、装置、设备及计算机存储介质
CN112579132A (zh) * 2020-12-29 2021-03-30 苏州风之力网络科技有限公司 一种基于版本号管理的资源热更新方法
CN116088926B (zh) * 2023-01-10 2023-10-20 睿智合创(北京)科技有限公司 一种决策组件版本管理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101546269A (zh) * 2008-03-28 2009-09-30 鸿富锦精密工业(深圳)有限公司 可执行文件版本更新系统及方法
CN103605541A (zh) * 2013-11-18 2014-02-26 四川长虹电器股份有限公司 更新Android系统开发工具包的方法
CN106155724A (zh) * 2015-04-14 2016-11-23 阿里巴巴集团控股有限公司 一种升级方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9703680B1 (en) * 2011-12-12 2017-07-11 Google Inc. System and method for automatic software development kit configuration and distribution
US9535688B2 (en) * 2014-07-23 2017-01-03 Verizon Patent And Licensing Inc. Efficient deployment of application revisions and implementation of application rollbacks across multiple application servers
US9672031B2 (en) * 2015-09-01 2017-06-06 Ca, Inc. Controlling repetitive check-in of intermediate versions of source code from a developer's computer to a source code repository
US20170147323A1 (en) * 2015-11-25 2017-05-25 Le Holding (Beijing) Co., Ltd. Method and electronic device for upgrading software development kit of an application

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101546269A (zh) * 2008-03-28 2009-09-30 鸿富锦精密工业(深圳)有限公司 可执行文件版本更新系统及方法
CN103605541A (zh) * 2013-11-18 2014-02-26 四川长虹电器股份有限公司 更新Android系统开发工具包的方法
CN106155724A (zh) * 2015-04-14 2016-11-23 阿里巴巴集团控股有限公司 一种升级方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
maven整合支付宝,导入alipay-sd k-java包到本地仓库;安宁;《https://www.cnblogs.com/fxwl/p/7886761.html》;20171023;第1页 *
Measuring software library stability through historical version analysis;Steven Raemaekers等;《2012 28th IEEE International Conference on Software Maintenance(ICSM)》;20120928;第378-387页 *
实现快速升级Android SDK;梦见马克思;《https://blog.csdn.net/qin20082012/article/details/50297243》;20151214;第1页 *

Also Published As

Publication number Publication date
CN107844313A (zh) 2018-03-27

Similar Documents

Publication Publication Date Title
CN107844313B (zh) 一种Android中SDK版本升级方法及装置
US9348582B2 (en) Systems and methods for software dependency management
US20190227794A1 (en) Systems and methods for real time version control for integrating updated web-based components with a native application
CN102622241B (zh) 一种软件升级方法及装置
KR102341154B1 (ko) 모바일 장치들의 원격 구성을 허용하기 위해 모바일 장치들 상에 설치되는 고속 어플리케이션
US10296298B1 (en) Systems and methods for cross platform information exchange mechanism for integrating web-based components with a native application
US20220229652A1 (en) Application Deployment Method, Apparatus, and System
US20120324417A1 (en) Systems and methods for incremental software development
CN103942065A (zh) 用于更新固件兼容性数据的方法和系统
CN107506219A (zh) 一种基于Android系统的通用版本升级方法
US10296309B1 (en) Systems and methods for automatic API generation for bi-directional communication between native and web-based components of a mobile application
CN104111855A (zh) 一种基于Lua的iOS客户端功能动态更新的方法
US10305731B2 (en) System and method for provisioning cloud services across heterogeneous environments using partitioned provisioning instructions stored on a configuration management server
US9542173B2 (en) Dependency handling for software extensions
CN109977008B (zh) 一种应用程序依赖的js代码与原生库兼容的方法及终端
KR102052776B1 (ko) 병행가능하고 신뢰성 있는 설치를 위한 설치 엔진 및 패키지 포맷
CN112702195A (zh) 网关配置方法、电子设备及计算机可读存储介质
CN113342387A (zh) 一种软件自动升级方法、更新客户端及更新服务器
CN108694049B (zh) 一种更新软件的方法和设备
CN114461217A (zh) 代码编译方法、装置、电子设备及存储介质
US9760364B2 (en) Checks for software extensions
CN112631644A (zh) Flutter构造函数初始化式的修改方法及装置
EP3346642A1 (en) Method and device for managing network element model
US10606612B2 (en) Context check bypass to enable opening shared-object libraries
CN114721681A (zh) 配置文件更新方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant