CN115525457A - 一种安卓应用兼容性问题修复方法、装置、设备及介质 - Google Patents

一种安卓应用兼容性问题修复方法、装置、设备及介质 Download PDF

Info

Publication number
CN115525457A
CN115525457A CN202211121816.0A CN202211121816A CN115525457A CN 115525457 A CN115525457 A CN 115525457A CN 202211121816 A CN202211121816 A CN 202211121816A CN 115525457 A CN115525457 A CN 115525457A
Authority
CN
China
Prior art keywords
android application
variable
block
template
installation package
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.)
Pending
Application number
CN202211121816.0A
Other languages
English (en)
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.)
DBAPPSecurity Co Ltd
Original Assignee
DBAPPSecurity 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 DBAPPSecurity Co Ltd filed Critical DBAPPSecurity Co Ltd
Priority to CN202211121816.0A priority Critical patent/CN115525457A/zh
Publication of CN115525457A publication Critical patent/CN115525457A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

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

Abstract

本申请公开了一种安卓应用兼容性问题修复方法、装置、设备及介质,包括:获取安卓应用安装包;获取模板;所述模板包括问题定位块以及修复块;所述问题定位块包括兼容性问题存在所需满足的条件;利用所述模板遍历所述安卓应用安装包,若在遍历过程中基于所述问题定位块定位到问题,则利用所述修复块进行问题修复。这样,针对安卓应用安装包,通过包括问题定位块以及修复块的模板进行问题定位和修复,能够对已发布的安卓应用进行兼容性问题修复,从而提升用户体验。

Description

一种安卓应用兼容性问题修复方法、装置、设备及介质
技术领域
本申请涉及安卓应用问题修复技术领域,特别涉及一种安卓应用兼容性问题修复方法、装置、设备及介质。
背景技术
安卓是基于Linux的开源且免费系统,由于这两个特性,给予了手机厂商修改和定制的机会,由于不同的厂商搭载了不同的硬件设备,势必会对安卓系统进行二次修改,这就导致了第一种碎片化问题:设备兼容性问题。此外,安卓具有不同的版本运行在不同的机型,这就导致了第二种碎片化问题:SDK(即Software Development Kit,软件开发工具包,)兼容问题。这些兼容问题常常导致某些应用程序无法安装,或者无法启动,又或者使用程序的某个功能时,就导致了程序的崩溃。并且还有大量的旧版本的安卓系统不再受到Google的支持,而搭载这些系统的手机很难享受到最新的应用。
目前,现有技术通常都集中在修复安卓应用的源码上,因此无法用于已发布的应用。随着时间的推移,许多在应用市场上发布的安卓应用,如果没有及时修复兼容问题,就会导致极差的用户体验。
发明内容
有鉴于此,本申请的目的在于提供一种安卓应用兼容性问题修复方法、装置、设备及介质,能够对已发布的安卓应用进行兼容性问题修复,从而提升用户体验。其具体方案如下:
第一方面,本申请公开了一种安卓应用兼容性问题修复方法,包括:
获取安卓应用安装包;
获取模板;所述模板包括问题定位块以及修复块;所述问题定位块包括兼容性问题存在所需满足的条件;
利用所述模板遍历所述安卓应用安装包,若在遍历过程中基于所述问题定位块定位到问题,则利用所述修复块进行问题修复。
可选的,所述获取模板之后,还包括:
将所述模板解析为语义对象;
相应的,所述利用所述模板遍历所述安卓应用安装包,包括:利用所述语义对象遍历所述安卓应用安装包。
可选的,所述获取安卓应用安装包之后,还包括:
将所述安卓应用安装包转换为预设格式的中间码;所述预设格式为所述模板所采用的代码格式;
相应的,所述利用所述模板遍历所述安卓应用安装包,包括:利用所述模板遍历所述安卓应用安装包的所述中间码。
可选的,所述将所述安卓应用安装包转换为预设格式的中间码,包括:
利用soot将所述安卓应用安装包转换为预设格式的中间码。
可选的,所述预设格式为Jimple、Baf、Shimple或Grimple代码格式。
可选的,还包括:
在遍历结束之后,将所述中间码转换为字节码并保存为安卓应用安装包。
可选的,所述模板还包括变量块;所述若在遍历过程中基于所述问题定位块定位到问题,则利用所述修复块进行问题修复,包括:
若在遍历过程中基于所述问题定位块定位到问题函数,则解析所述变量块;
若所述变量块中存在自定义变量,且自定义变量为函数内部变量,则通过soot从所述问题函数中查找该函数内部变量对应的第一变量定义,并利用所述修复块中该函数内部变量对应的第二变量定义替换该第一变量定义;
若所述变量块中存在自定义变量,且自定义变量为需搜索变量,则通过soot从所述问题函数的上下文中搜索该需搜索变量对应的第三变量定义,并利用所述修复块中该需搜索变量对应的第四变量定义替换该第三变量定义。
若所述变量块中存在原始内核代码中的变量,则基于该问题函数以及所述修复块替换所述安卓应用安装包中该变量的定义。
第二方面,本申请公开了一种安卓应用兼容性问题修复装置,包括:
安装包获取模块,用于获取安卓应用安装包;
模板获取模块,用于获取模板;所述模板包括问题定位块以及修复块;所述问题定位块包括兼容性问题存在所需满足的条件;
问题遍历模块,用于利用所述模板遍历所述安卓应用安装包,若在遍历过程中基于所述问题定位块定位到问题,则利用所述修复块进行问题修复。
第三方面,本申请公开了一种电子设备,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现前述的安卓应用兼容性问题修复方法。
第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述的安卓应用兼容性问题修复方法。
可见,本申请获取安卓应用安装包,并获取模板;所述模板包括问题定位块以及修复块;所述问题定位块包括兼容性问题存在所需满足的条件,之后利用所述模板遍历所述安卓应用安装包,若在遍历过程中基于所述问题定位块定位到问题,则利用所述修复块进行问题修复。也即,本申请针对安卓应用安装包,通过包括问题定位块以及修复块的模板进行问题定位和修复,能够对已发布的安卓应用进行兼容性问题修复,从而提升用户体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种安卓应用兼容性问题修复方法流程图;
图2为本申请公开的一种具体的安卓应用兼容性问题修复方法流程图;
图3为本申请公开的一种安卓应用兼容性问题修复装置结构示意图;
图4为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,为了解决安卓系统兼容性问题,现有技术通常通过从开源安卓应用源码或者Google发布更新实例中获取更新后的源码,将其格式化为标准结构,这一步是为了防止由于源码差异引起的无法修复问题,并通过数据流分析目标应用的所有变量的值,这一步是为了防止更新后某些变量为空的情况然后,在目标应用的源码中进行搜索和修复。现有技术通常都集中在修复安卓应用的源码上,因此无法用于已发布的应用。随着时间的推移,许多在应用市场上发布的安卓应用,如果没有及时修复兼容问题,就会导致极差的用户体验。为此,本申请提供了一种安卓应用兼容性问题修复方案,能够对已发布的安卓应用进行兼容性问题修复,从而提升用户体验。
参加图1所示,本申请实施例公开了一种安卓应用兼容性问题修复方法,包括:
步骤S11:获取安卓应用安装包(APK,Android application package)。
在一种实施方式中,可以将所述安卓应用安装包转换为预设格式的中间码;所述预设格式为模板所采用的代码格式。
并且,本申请实施例可以利用soot将所述安卓应用安装包转换为预设格式的中间码。其中,所述预设格式为Jimple、Baf、Shimple或Grimple代码格式。例如,通过Soot将安卓应用安装包的Dalvik字节码转换为Jimple代码。
其中,Soot为一个用于Java的分析和优化框架,可以将字节码转换为中间码,再进行分析和优化。Dalvik为安卓系统的虚拟机,用于在linux上运行Java应用。字节码:用于虚拟机识别的代码。Jimple:一种3地址的中间码,用于Soot框架处理。Baf是精简的字节码表示,Shimple是Jimple的变体,Grimple适用于反编译和代码检查的Jimple汇总版本。Linux:操作系统的一种。
步骤S12:获取模板;所述模板包括问题定位块以及修复块;所述问题定位块包括兼容性问题存在所需满足的条件。
在具体的实施方式中,可以获取多个模板,每个模板对应一个兼容性问题。可以理解的是,可以预先创建多个模板,在进行问题修复时,加载预先创建的多个模板。
步骤S13:利用所述模板遍历所述安卓应用安装包,若在遍历过程中基于所述问题定位块定位到问题,则利用所述修复块进行问题修复。
在一种实施方式中,可以利用所述模板遍历所述安卓应用安装包的所述中间码。
并且,本申请实施例在获取模板之后,还可以将所述模板解析为语义对象,利用所述语义对象遍历所述安卓应用安装包。其中,解析为语义对象即通过代码将模板解析为一种特定的结构体。
进一步的,本申请实施例利用所述语义对象遍历所述安卓应用安装包的中间码。
并且,本申请实施例利用所述语义对象遍历所述安卓应用安装包的中间码中的每一个类的每一个函数。
进一步的,所述模板还包括变量块;相应的,所述若在遍历过程中基于所述问题定位块定位到问题,则利用所述修复块进行问题修复,包括:
若在遍历过程中基于所述问题定位块定位到问题函数,则解析所述变量块;
若所述变量块中存在自定义变量,且自定义变量为函数内部变量,则通过soot从所述问题函数中查找该函数内部变量对应的第一变量定义,并利用所述修复块中该函数内部变量对应的第二变量定义替换该第一变量定义;
若所述变量块中存在自定义变量,且自定义变量为需搜索变量,则通过soot从所述问题函数的上下文中搜索该需搜索变量对应的第三变量定义,并利用所述修复块中该需搜索变量对应的第四变量定义替换该第三变量定义。
若所述变量块中存在原始内核代码中的变量,则基于该问题函数以及所述修复块替换所述安卓应用安装包中该变量的定义。
可以理解的是,自定义变量为程序员在实现安卓应用时自定义的变量。原始内核代码中的变量包括函数内部变量和函数外部变量,为安卓内核代码,可以在模板中指定变量定义的位置。并且,由于遍历时,将模板转换为语义对象,在进行替换前,需要将修复块构建为相应格式的中间码。
进一步的,在遍历结束之后,将所述中间码转换为字节码并保存为安卓应用安装包。
为解决安卓生态系统严重碎片化导致的应用程序出现的兼容性问题,如:安卓SDK版本导致的崩溃、特定设备导致的崩溃等,本申请提供的安卓兼容性问题修复方案,针对已发布的应用进行兼容问题修复,以Jimple代码为例,具体可以包括以下步骤:针对兼容性问题编写对应的模板,然后将模板解析为语义对象;通过Soot将目标应用的Dalvik字节码转换为Jimple代码;遍历目标应用的Jimple代码,通过语义对象找到问题所在位置;通过语义对象替换Jimple代码;第五,通过Soot将Jimple代码还原为Dalvik字节码。进一步的,参见图2所示,本申请实施例公开了一种具体的安卓兼容性问题修复方法流程图:
第一步,通过Soot将输入的目标APK转换为Jimple代码;
第二步,加载模板,将模板转换为语义对象。模板是Jimple代码格式,由3部分构成:第一部分是变量块,包含自定义变量、原始代码中包含的变量,自定义变量包括函数内部变量以及需要进行上下文搜索的变量,如:函数需要使用的函数外部声明的变量;第二部分是问题定位块,用于定位出问题函数和问题存在需满足的条件;第三部分是修复块,由专业人员使用Soot将修复后的Java代码转为Jimple代码表示;
第三步,遍历目标应用的Jimple代码中的每一个类的每一个函数,通过模板的问题定位块确定问题是否存在;如果存在,转入第四步;
第四步,解析模板的变量块,如果存在自定义变量且为函数内部变量,则通过Soot找到对应的定义,如果存在自定义变量且为需要搜索的变量,则通过Soot在上下文进行搜索,如果搜索失败,转入第三步,否则转入第五步;
第五步,将语义对象进行构建操作,通过Soot将模板解析为语义对象后的修复块生成Jimple代码,替换目标应用的原始Jimple代码,判断是否遍历完毕,如果没有则转入第三步,否则,转入第六步;
第六步,使用Soot将Jimple代码转换为字节码并保存为APK文件。
这样,对已发布的安卓应用进行兼容性问题修复,应用市场上许多已发布的安卓应用由于安卓版本迭代和产商硬件型号不同,导致了大量的兼容问题。而现有技术都是通过对源码进行修复,无法修复已发布的应用,并且修复针对单独的特例,不具有良好的延展性。本申请采用基于Soot的字节码转换为Jimple代码,对Jimple代码进行修复,再转换为字节码的方式,并为市面上已出现的兼容问题生成对应模板,模板设计为3部分:变量块、问题块和修复块,每个模板对应一种兼容问题,通过模板对Jimple代码进行修复,可以覆盖一个广泛的兼容性问题范围。
可见,本申请实施例获取安卓应用安装包,并获取模板;所述模板包括问题定位块以及修复块;所述问题定位块包括兼容性问题存在所需满足的条件,之后利用所述模板遍历所述安卓应用安装包,若在遍历过程中基于所述问题定位块定位到问题,则利用所述修复块进行问题修复。也即,本申请实施例针对安卓应用安装包,通过包括问题定位块以及修复块的模板进行问题定位和修复,能够对已发布的安卓应用进行兼容性问题修复,从而提升用户体验。
参见图3所示,本申请实施例公开了一种安卓应用兼容性问题修复装置,包括:
安装包获取模块11,用于获取安卓应用安装包;
模板获取模块12,用于获取模板;所述模板包括问题定位块以及修复块;所述问题定位块包括兼容性问题存在所需满足的条件;
问题遍历模块13,用于利用所述模板遍历所述安卓应用安装包,若在遍历过程中基于所述问题定位块定位到问题,则利用所述修复块进行问题修复。
可见,本申请实施例获取安卓应用安装包,并获取模板;所述模板包括问题定位块以及修复块;所述问题定位块包括兼容性问题存在所需满足的条件,之后利用所述模板遍历所述安卓应用安装包,若在遍历过程中基于所述问题定位块定位到问题,则利用所述修复块进行问题修复。也即,本申请实施例针对安卓应用安装包,通过包括问题定位块以及修复块的模板进行问题定位和修复,能够对已发布的安卓应用进行兼容性问题修复,从而提升用户体验。
进一步的,所述装置还包括模板解析模块,用于将所述模板解析为语义对象;
相应的,所述问题遍历模块13,具体用于利用所述语义对象遍历所述安卓应用安装包。
进一步的,所述装置还包括中间码转换模块,用于将所述安卓应用安装包转换为预设格式的中间码;所述预设格式为所述模板所采用的代码格式;
相应的,所述问题遍历模块13,具体用于利用所述模板遍历所述安卓应用安装包的所述中间码。
在一种实施方式中,中间码转换模块,具体用于利用soot将所述安卓应用安装包转换为预设格式的中间码。
其中,所述预设格式为Jimple、Baf、Shimple或Grimple代码格式。
进一步的,所述装置还包括安卓应用安装包生成模块,用于在遍历结束之后,将所述中间码转换为字节码并保存为安卓应用安装包。
在一种实施方式中,所述模板还包括变量块;所述问题遍历模块13,具体用于:
若在遍历过程中基于所述问题定位块定位到问题函数,则解析所述变量块;
若所述变量块中存在自定义变量,且自定义变量为函数内部变量,则通过soot从所述问题函数中查找该函数内部变量对应的第一变量定义,并利用所述修复块中该函数内部变量对应的第二变量定义替换该第一变量定义;
若所述变量块中存在自定义变量,且自定义变量为需搜索变量,则通过soot从所述问题函数的上下文中搜索该需搜索变量对应的第三变量定义,并利用所述修复块中该需搜索变量对应的第四变量定义替换该第三变量定义;
若所述变量块中存在原始内核代码中的变量,则基于该问题函数以及所述修复块替换所述安卓应用安装包中该变量的定义。
参见图4所示,本申请实施例公开了一种电子设备20,包括处理器21和存储器22;其中,所述存储器22,用于保存计算机程序;所述处理器21,用于执行所述计算机程序,前述实施例公开的安卓应用兼容性问题修复方法。
关于上述安卓应用兼容性问题修复方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
并且,所述存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,存储方式可以是短暂存储或者永久存储。
另外,所述电子设备20还包括电源23、通信接口24、输入输出接口25和通信总线26;其中,所述电源23用于为所述电子设备20上的各硬件设备提供工作电压;所述通信接口24能够为所述电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;所述输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
进一步的,本申请实施例还公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的安卓应用兼容性问题修复方法。
关于上述安卓应用兼容性问题修复方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种安卓应用兼容性问题修复方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种安卓应用兼容性问题修复方法,其特征在于,包括:
获取安卓应用安装包;
获取模板;所述模板包括问题定位块以及修复块;所述问题定位块包括兼容性问题存在所需满足的条件;
利用所述模板遍历所述安卓应用安装包,若在遍历过程中基于所述问题定位块定位到问题,则利用所述修复块进行问题修复。
2.根据权利要求1所述的安卓应用兼容性问题修复方法,其特征在于,所述获取模板之后,还包括:
将所述模板解析为语义对象;
相应的,所述利用所述模板遍历所述安卓应用安装包,包括:利用所述语义对象遍历所述安卓应用安装包。
3.根据权利要求1所述的安卓应用兼容性问题修复方法,其特征在于,所述获取安卓应用安装包之后,还包括:
将所述安卓应用安装包转换为预设格式的中间码;所述预设格式为所述模板所采用的代码格式;
相应的,所述利用所述模板遍历所述安卓应用安装包,包括:利用所述模板遍历所述安卓应用安装包的所述中间码。
4.根据权利要求3所述的安卓应用兼容性问题修复方法,其特征在于,所述将所述安卓应用安装包转换为预设格式的中间码,包括:
利用soot将所述安卓应用安装包转换为预设格式的中间码。
5.根据权利要求3所述的安卓应用兼容性问题修复方法,其特征在于,所述预设格式为Jimple、Baf、Shimple或Grimple代码格式。
6.根据权利要求3所述的安卓应用兼容性问题修复方法,其特征在于,还包括:
在遍历结束之后,将所述中间码转换为字节码并保存为安卓应用安装包。
7.根据权利要求1至6任一项所述的安卓应用兼容性问题修复方法,其特征在于,所述模板还包括变量块;所述若在遍历过程中基于所述问题定位块定位到问题,则利用所述修复块进行问题修复,包括:
若在遍历过程中基于所述问题定位块定位到问题函数,则解析所述变量块;
若所述变量块中存在自定义变量,且自定义变量为函数内部变量,则通过soot从所述问题函数中查找该函数内部变量对应的第一变量定义,并利用所述修复块中该函数内部变量对应的第二变量定义替换该第一变量定义;
若所述变量块中存在自定义变量,且自定义变量为需搜索变量,则通过soot从所述问题函数的上下文中搜索该需搜索变量对应的第三变量定义,并利用所述修复块中该需搜索变量对应的第四变量定义替换该第三变量定义;
若所述变量块中存在原始内核代码中的变量,则基于该问题函数以及所述修复块替换所述安卓应用安装包中该变量的定义。
8.一种安卓应用兼容性问题修复装置,其特征在于,包括:
安装包获取模块,用于获取安卓应用安装包;
模板获取模块,用于获取模板;所述模板包括问题定位块以及修复块;所述问题定位块包括兼容性问题存在所需满足的条件;
问题遍历模块,用于利用所述模板遍历所述安卓应用安装包,若在遍历过程中基于所述问题定位块定位到问题,则利用所述修复块进行问题修复。
9.一种电子设备,其特征在于,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的安卓应用兼容性问题修复方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的安卓应用兼容性问题修复方法。
CN202211121816.0A 2022-09-15 2022-09-15 一种安卓应用兼容性问题修复方法、装置、设备及介质 Pending CN115525457A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211121816.0A CN115525457A (zh) 2022-09-15 2022-09-15 一种安卓应用兼容性问题修复方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211121816.0A CN115525457A (zh) 2022-09-15 2022-09-15 一种安卓应用兼容性问题修复方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN115525457A true CN115525457A (zh) 2022-12-27

Family

ID=84698357

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211121816.0A Pending CN115525457A (zh) 2022-09-15 2022-09-15 一种安卓应用兼容性问题修复方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN115525457A (zh)

Similar Documents

Publication Publication Date Title
CN109491695B (zh) 一种集成安卓应用的增量更新方法
CN106775723B (zh) 基于Android平台的系统固件定制的方法和Android设备
EP1548587A2 (en) Self-describing software image update components
CN110990019B (zh) 一种Java类分析方法、装置、存储介质及电子设备
CN107506219A (zh) 一种基于Android系统的通用版本升级方法
CN105100191A (zh) 一种云编译实现Java应用安装的方法、装置及系统
CN109739508B (zh) 源代码编译方法、装置、系统及存储介质
CN106055375B (zh) 应用程序安装方法及装置
US20040123286A1 (en) Method for integrating Linux kernel and application software packages and generating installation file list based on CML2 computer language
US10248409B1 (en) Limiting the effects of source code patches on corresponding native-code patches
CN112965720B (zh) 一种组件编译方法、装置、设备及计算机可读存储介质
CN111985055A (zh) 一种模型封装方法、装置及电子设备
CN112732321B (zh) 一种固件修改方法、装置、计算机可读存储介质和设备
CN106775781B (zh) 减小应用安装包的方法、装置及电子设备
CN111008009A (zh) 基于Flutter的业务组件化方法及系统
CN112882718A (zh) 编译处理方法、装置、设备及存储介质
CN112612502A (zh) 补丁生成方法、装置、设备及存储介质
CN114610640A (zh) 一种面向物联网可信执行环境的模糊测试方法和系统
CN111966357A (zh) 一种操作系统应用编译方法、装置及电子设备
CN114327477A (zh) 智能合约执行方法、装置、电子装置和存储介质
CN110333872B (zh) 一种应用的处理方法、装置、设备和介质
CN111552480B (zh) 跨平台编译方法、装置、设备及可读存储介质
CN111949303A (zh) 升级包处理方法、装置、电子设备及存储介质
CN115525457A (zh) 一种安卓应用兼容性问题修复方法、装置、设备及介质
CN114637514A (zh) Sdk的编译方法、装置、终端及存储介质

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