CN111026439A - 应用程序的兼容方法、装置、设备及计算机存储介质 - Google Patents

应用程序的兼容方法、装置、设备及计算机存储介质 Download PDF

Info

Publication number
CN111026439A
CN111026439A CN201911158733.7A CN201911158733A CN111026439A CN 111026439 A CN111026439 A CN 111026439A CN 201911158733 A CN201911158733 A CN 201911158733A CN 111026439 A CN111026439 A CN 111026439A
Authority
CN
China
Prior art keywords
file
source code
application program
code engineering
library file
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.)
Granted
Application number
CN201911158733.7A
Other languages
English (en)
Other versions
CN111026439B (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.)
Guangzhou Cubesili Information Technology Co Ltd
Original Assignee
Guangzhou Huaduo 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 Guangzhou Huaduo Network Technology Co Ltd filed Critical Guangzhou Huaduo Network Technology Co Ltd
Priority to CN201911158733.7A priority Critical patent/CN111026439B/zh
Publication of CN111026439A publication Critical patent/CN111026439A/zh
Application granted granted Critical
Publication of CN111026439B publication Critical patent/CN111026439B/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/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

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

Abstract

本申请公开了一种应用程序的兼容方法、装置、设备及计算机存储介质,属于应用程序技术领域。方法包括:获取移动操作***对应的源码工程文件并配置开发环境;将源码工程文件中的第一动态链接库文件更改为注释;将第二动态链接库文件放入源码工程文件中处理器的架构对应的目录中,得到更新源码工程文件,第二动态链接库文件的版本高于第一动态链接库文件的版本;运行更新源码工程文件,得到库文件;将库文件放入指定应用程序的原生项目中;运行指定应用程序的原生项目,得到应用程序的安装包。本申请解决了相关技术中应用程序的兼容性较差的问题,达到了提高应用程序的兼容性的效果。

Description

应用程序的兼容方法、装置、设备及计算机存储介质
技术领域
本申请涉及应用程序技术领域,特别涉及一种应用程序的兼容方法、装置、设备及计算机存储介质。
背景技术
移动端操作***(如安卓***或苹果***)的应用程序可以在个人电脑(personalcomputer,pc)端的模拟器中使用,但是应用程序在pc端的模拟器中运行时可能会出现由于兼容性问题导致的崩溃。
相关技术中一种应用程序的兼容方法,首先从开源库中获取新的源码工程文件,之后通过该新的源码工程文件来生成应用程序的安装包,以提升应用程序的兼容性。
但是,源码工程文件的更新通常较慢,从开源库中获取的源码工程文件仍可能是较旧的版本,进而导致应用程序的兼容性较差。
发明内容
本申请实施例提供了一种应用程序的兼容方法、装置、设备及计算机存储介质,能够解决相关技术中应用程序的兼容性较差的问题。所述技术方案如下:
根据本申请的第一方面,提供了一种应用程序的兼容方法,所述应用程序的兼容方法包括:
获取移动操作***对应的源码工程文件;
根据所述源码工程文件配置开发环境;
将所述源码工程文件中的第一动态链接库文件更改为注释;
获取第二动态链接库文件,并将所述第二动态链接库文件放入所述源码工程文件中处理器的架构对应的目录中,得到更新源码工程文件,所述处理器包括所述桌面操作***的处理器以及所述移动操作***的处理器,所述第二动态链接库文件的版本高于所述第一动态链接库文件的版本;
运行所述更新源码工程文件,得到库文件;
将所述库文件放入指定应用程序的原生项目中;
运行所述指定应用程序的原生项目,得到所述应用程序的安装包。
可选的,所述运行所述指定应用程序的原生项目,得到所述应用程序的安装包之前,所述方法还包括:
在所述指定应用程序的原生项目中创建通知模块;
所述运行所述指定应用程序的原生项目,得到所述应用程序的安装包之后,所述方法还包括:
根据所述安装包,在所述移动操作***的模拟器中运行所述应用程序,所述通知模块用于在所述应用程序运行时进行数据的传输。
可选的,所述安装包中包括跨平台运行模块和本地事件发射器,所述根据所述安装包,在所述移动操作***的模拟器中运行所述应用程序,包括:
通过所述跨平台运行模块控制所述通知模块进行数据的封包以及发送;
通过所述通知模块进行数据的接收以及解包;
在所述通知模块接收到数据时,将解包的数据通过本地事件发射器发送至所述跨平台运行模块;
通过所述跨平台运行模块对所述解包的数据进行判空处理;
将经过所述判空处理的解包的数据发送给业务层进行数据渲染。
可选的,所述通过所述跨平台运行模块对所述解包的数据进行判空处理,包括:
判断所述解包的数据中每个字段是否存在且已赋值;
若所述解包的数据中任一字段不存在或未赋值,则对所述任一字段赋予指定值。
可选的,所述源码工程文件为跨平台移动应用开发框架的源码工程文件,所述根据所述源码工程文件配置开发环境,包括:
根据所述跨平台移动应用开发框架的源码工程文件以及原生开发工具包配置所述开发环境。
可选的,所述运行所述指定应用程序的原生项目,得到所述应用程序的安装包之前,所述方法还包括:
根据所述源码工程文件的版本号修改所述库文件的名称。
另一方面,提供了一种应用程序的兼容装置,所述装置包括:
第一获取模块,用于获取移动操作***对应的源码工程文件;
配置模块,用于根据所述源码工程文件配置开发环境;
更改模块,用于将所述源码工程文件中的第一动态链接库文件更改为注释;
第二获取模块,用于获取第二动态链接库文件,并将所述第二动态链接库文件放入所述源码工程文件中处理器的架构对应的目录中,得到更新源码工程文件,所述处理器包括所述桌面操作***的处理器以及所述移动操作***的处理器,所述第二动态链接库文件的版本高于所述第一动态链接库文件的版本;
第一运行模块,用于运行所述更新源码工程文件,得到库文件;
设置模块,用于将所述库文件放入指定应用程序的原生项目中;
第二运行模块,用于运行所述指定应用程序的原生项目,得到所述应用程序的安装包。
可选的,所述装置还包括:
通知模块,用于在所述应用程序运行时进行数据的传输。
又一方面,提供了一种应用程序的兼容设备,其特征在于,所述应用程序的兼容设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面所述的应用程序的兼容方法。
再一方面,提供了一种计算机存储介质,其特征在于,所述计算机存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如第一方面所述的应用程序的兼容方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
本申请提供了一种应用程序的兼容方法,该方法通过将移动操作***对应的源码工程文件中的第一动态链接库文件更改为注释,并将版本高于第一动态链接库文件的第二动态链接库文件放入源码工程文件中处理器的架构对应的目录中,得到更新源码工程文件,运行更新源码工程文件,得到库文件,将该库文件放入指定应用程序的原生项目中,运行指定应用程序的原生项目,得到该应用程序的安装包,如此便通过使用版本较高的动态链接库文件提升了应用程序与pc端模拟器之间的兼容性,进而修复因应用程序与模拟器之间兼容性问题导致的崩溃。解决了相关技术中应用程序的兼容性较差的问题,达到了提高应用程序的兼容性的效果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种应用程序的兼容方法的实施环境的示意图;
图2是本申请实施例提供的一种应用程序的兼容方法的流程图;
图3是本申请实施例提供的另一种应用程序的兼容方法的流程图;
图4是业务层对解包的数据进行数据渲染后,终端上的应用程序的显示页面;
图5是在移动操作***的模拟器中运行应用程序的流程图;
图6是本申请实施例提供的一种应用程序的兼容装置的框图;
图7是本申请实施例提供的另一种应用程序的兼容装置的框图;
图8本申请实施例提供的一种应用程序的兼容装置的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
目前的一种应用程序的兼容方法中,首先从开源库中获取新的通过升级应用程序中的源码工程文件对应用程序进行优化,之后通过该新的源码工程文件来生成应用程序的安装包,以提升应用程序的兼容性。。
但是,源码工程文件的更新通常较慢,从开源库中获取的源码工程文件仍可能是较旧的版本,进而导致应用程序的兼容性较差。
本申请实施例提供了一种应用程序的兼容方法、装置、设备及计算机存储介质。
图1是本申请实施例提供的一种应用程序的兼容方法的实施环境的示意图,该实施环境可以包括服务器11、终端12。
服务器11可以为一个服务器或服务器集群。
终端12可以为台式计算机、笔记本电脑、手机、平板电脑和智能可穿戴设备等能够运行桌面操作***的各种终端。终端12可以通过有线或无线的方式(图1示出的是以无线的方式进行连接的情况)与服务器连接。
其中,桌面操作***可以是在计算机上借助硬件运行并完成计算(应用)的软件,示例性的,桌面操作***可以包括苹果操作***(mac os)、视窗操作***(windows)以及林纳斯操作***(linux)等。
图2是本申请实施例提供的一种应用程序的兼容方法的流程图。该应用程序的兼容方法可以应用于上述实施环境的终端中。该应用程序的兼容方法可以包括:
步骤201,获取移动操作***对应的源码工程文件。
步骤202,根据源码工程文件配置开发环境。
步骤203,将源码工程文件中的第一动态链接库文件更改为注释。
步骤204,获取第二动态链接库文件,并将第二动态链接库文件放入源码工程文件中处理器的架构对应的目录中,得到更新源码工程文件,处理器包括桌面操作***的处理器以及移动操作***的处理器,第二动态链接库文件的版本高于第一动态链接库文件的版本。
步骤205,运行更新源码工程文件,得到库文件。
步骤206,将库文件放入指定应用程序的原生项目中。
步骤207,运行指定应用程序的原生项目,得到应用程序的安装包。
综上所述,本申请实施例提供了一种应用程序的兼容方法,该方法通过将移动操作***对应的源码工程文件中的第一动态链接库文件更改为注释,并将版本高于第一动态链接库文件的第二动态链接库文件放入源码工程文件中处理器的架构对应的目录中,得到更新源码工程文件,运行更新源码工程文件,得到库文件,将该库文件放入指定应用程序的原生项目中,运行指定应用程序的原生项目,得到该应用程序的安装包,如此便通过使用版本较高的动态链接库文件提升了应用程序与pc端模拟器之间的兼容性,进而修复因应用程序与模拟器之间兼容性问题导致的崩溃。解决了相关技术中应用程序的兼容性较差的问题,达到了提高应用程序的兼容性的效果。
图3是本申请实施例提供的另一种应用程序的兼容方法的流程图,该应用程序的兼容方法可以应用于上述实施环境的终端中。该应用程序的兼容方法可以包括:
步骤301,获取移动操作***对应的跨平台移动应用开发框架的源码工程文件。
运行有桌面操作***的终端可以通过开源库来获取移动操作***对应的跨平台移动应用开发框架(例如React Native)的源码工程文件。示例性的,可以从https://github.com/facebook/react-native来获取React Native的源码工程文件。
步骤302,根据跨平台移动应用开发框架的源码工程文件以及原生开发工具包配置开发环境。
运行有桌面操作***的终端可以将跨平台移动应用开发框架的源码工程文件导入开发工具中,再根据跨平台移动应用开发框架的源码工程文件以及原生开发工具包(Native Development Kit,NDK)配置开发环境。
示例性的,可以将React Native的源码工程文件导入Android Studio(AndroidStudio是一种对应于安卓***的集成开发工具)中,再根据React Native的源码工程文件以及NDK配置开发环境。
步骤303,将跨平台移动应用开发框架的源码工程文件中的第一动态链接库文件更改为注释。
从开源库中直接获取的第一动态链接库文件版本通常较低,容易引起模拟器的崩溃问题,也即是与模拟器的兼容性较低。本申请实施例中,终端可以将第一动态链接库文件更改为注释,也即是将第一动态链接库文件更改为不会被运行的状态。
示例性的,第一动态链接库文件可以包括android-jsc的动态链接库文件。虚拟机(JavaScriptCore,jsc)是JavaScript(一种编程语言)的引擎,android-jsc是jsc在安卓平台上运行的动态链接库文件。
步骤304,获取第二动态链接库文件,并将第二动态链接库文件放入跨平台移动应用开发框架的源码工程文件中处理器的架构对应的目录中,得到更新源码工程文件。
其中,处理器(Central Processing Unit,cpu)包括桌面操作***的处理器以及移动操作***的处理器,可以在开源社区(例如https://www.npmjs.com/package/jsc-android)获取第二动态链接库文件,第二动态链接库文件的版本通常高于第一动态链接库文件的版本。桌面操作***的处理器的架构可以为x86或x64,而移动操作***的处理器的架构可以为进阶精简指令集机器(Advanced RISC Machine,ARM)架构。不同架构的处理器在跨平台移动应用开发框架可以对应有不同的目录。
终端将第二动态链接库文件放入跨平台移动应用开发框架的源码工程文件中处理器的架构对应的目录中后,即能够得到更新源码工程文件。该更新源码工程文件中的第二动态链接库文件的版本较高,兼容性较好。
示例性的,第二动态链接库文件的版本可以为r216113.0.3版本,该版本的第二动态链接库文件与模拟器的兼容性较高。可以将r216113.0.3版本的第二动态链接库文件按照处理器架构,分别放入跨平台移动应用开发框架的源码工程文件中的x86、armeabi目录下(x86、armeabi目录均位于跨平台移动应用开发框架的源码工程文件的libs目录下),x86目录是与桌面操作***的x86架构处理器对应的目录,armeabi目录是与移动操作***的arm架构处理器对应的目录。
步骤305,运行更新源码工程文件,得到库文件。
在得到更新源码工程文件后,终端可以运行该更新源码工程文件,以得到库文件,该库文件可以包括aar文件,该aar文件可以包括资源文件。
步骤306,将库文件放入指定应用程序的原生项目中。
该指定应用程序可以是指要进行兼容性提升的应用程序。终端可以将步骤305获取的库文件放入该指定应用程序的原生项目中。其中,指定应用程序的原生项目可以包括指定应用程序的Android原生项目。原生项目是用于生成应用程序的文件,在开发工具中运行原生项目可以生成与该原生项目对应的应用程序的安装包,该应用程序的安装包中可以包括该原生项目以及跨平台运行模块等组件。
示例性的,终端可以将库文件放入指定应用程序的原生项目中的本地仓库目录(local-repository)中。
步骤307,根据跨平台移动应用开发框架的源码工程文件的版本号修改库文件的名称。
根据跨平台移动应用开发框架的源码工程文件的版本号修改库文件的名称,如此便可以实现对该指定应用程序的原生项目中原有的库文件的替换。
示例性的,若步骤301中获取的源码工程文件的版本号为0.54.4,则可以将库文件的名称修改为react-native-0.54.4.aar。
步骤307可以在得到库文件之后执行,也即是步骤307可以在步骤305之后进行,也可以在步骤306之后进行,本申请实施例对此不进行限制。
步骤308,在指定应用程序的原生项目中创建通知模块。通知模块用于在应用程序运行时进行数据的传输。
在指定应用程序的原生项目中创建通知模块,可以通过通知模块在应用程序运行时进行数据的传输。步骤308可以在步骤301之前,也可以在步骤301至步骤307任一步骤之后,本申请实施例不作任何限制。
步骤309,运行指定应用程序的原生项目,得到应用程序的安装包。
其中,安装包中包括跨平台运行模块(即js端,一种主要由JavaScript语言编写的模块)和本地事件发射器(Native Event Emitter)。使用开发工具运行指定应用程序的原生项目,得到应用程序的安装包。
步骤309得到的安装包,由于是根据高版本的动态链接库文件生成的,因而可以显著的提高移动操作***的模拟器的稳定性。
本申请实施例提供的应用程序的兼容方法,可以包括生成应用程序的安装包的部分,以及通过该安装包在移动操作***的模拟器中运行该应用程序的部分。
其中,步骤301至步骤309为生成应用程序的安装包的部分,而后续步骤为通过该安装包在移动操作***的模拟器中运行该应用程序的部分。
步骤310至步骤313的执行主体也为运行有桌面操作***的终端,但该终端可以和执行步骤301至309的终端为同一个终端,或者,执行步骤310至步骤313的终端可以和执行步骤301至309的终端为不同的终端,本申请实施例不进行限制。
当执行步骤310至步骤313的终端和执行步骤301至309的终端为不同的终端时,执行步骤301至309的终端可以为应用程序提供方的终端,而执行步骤310至步骤313的终端可以是应用程序使用方的终端。
步骤310,通过跨平台运行模块控制通知模块进行数据的封包以及发送。
在移动操作***的模拟器中运行上述应用程序时,可以由跨平台运行模块控制通知模块进行数据的封包以及发送,该数据可以包括用户在应用程序显示页面上的操作对应的数据,通知模块对数据进行封包并发送至服务器。
步骤311,在通知模块接收到数据时,将解包的数据通过本地事件发射器发送至跨平台运行模块。
终端可以通过通知模块进行数据的接收以及解包。当接收到服务器返回的数据后,再进行解包,将解包的数据通过本地事件发射器发送到跨平台运行模块,本地事件发射器可以位于指定应用程序的原生项目中。
相关技术中数据的封包解包以及数据的发送与接收是在跨平台运行模块(js端)进行的,使用这种方法可能会出现服务器接口数据异常导致的崩溃,而本申请通过步骤310和步骤311,将数据的封包解包以及数据的发送与接收从跨平台运行模块(js端)转移到指定应用程序的原生项目中,可以避免服务器接口数据异常导致的崩溃。
步骤312,通过跨平台运行模块对解包的数据进行判空处理。
判空处理包括判断解包的数据中每个字段是否存在且已赋值,若解包的数据中任一字段不存在或未赋值,则对任一字段赋予指定值,指定值可以由操作人员根据实际情况进行设置。对解包的数据进行判空处理可以在跨平台运行模块的数据层进行。
当解包的数据存在异常时,终端使用未经过判空处理的解包的数据,可能会出现服务器接口数据异常导致的崩溃,而使用本申请提供的判空处理对解包的数据进行处理,可以给异常的数据赋予指定值,使异常的数据可以被正常使用,能够进一步避免服务器接口数据异常导致的崩溃。
对解包的数据进行判空处理可以改进由服务器数据异常导致的崩溃。
步骤313,将经过判空处理的解包的数据发送给业务层进行数据渲染。
终端可以将经过判空处理的解包的数据发送给跨平台运行模块的业务层进行数据渲染,数据渲染也即是根据用户的操作显示相应的页面。
示例性的,如图4所示,其为业务层对解包的数据进行数据渲染后,终端上的应用程序的显示页面。用户可以根据需求进行操作,该操作可以包括点击显示页面的某一位置,跨平台运行模块控制通知模块该位置对应的数据进行封包,并将该数据发送至服务器。
图5所示为在移动操作***的模拟器中运行应用程序的流程图。在移动操作***的模拟器中启动应用程序,使用上述第二动态链接库文件,初始化可执行文件,可执行文件在每次启动应用时都会初始化一次,可执行文件可以包括Bundle文件。显示页面,当用户在显示页面操作时,跨平台运行模块通过该应用原生项目中的通知模块将用户的操作对应的数据进行封包,并将数据发送至服务器。服务器根据接收到的数据返回相应的数据,通知模块接收到服务器返回的数据后,对数据进行解包,并将解包的数据发送至跨平台运行模块。跨平台运行模块的数据层对解包的数据进行判空处理,将经过判空处理的解包的数据发送到跨平台运行模块的业务层进行数据的渲染,显示与用户操作对应的页面。
综上所述,本申请实施例提供了一种应用程序的兼容方法,该方法通过将移动操作***对应的源码工程文件中的第一动态链接库文件更改为注释,并将版本高于第一动态链接库文件的第二动态链接库文件放入源码工程文件中处理器的架构对应的目录中,得到更新源码工程文件,运行更新源码工程文件,得到库文件,将该库文件放入指定应用程序的原生项目中,运行指定应用程序的原生项目,得到该应用程序的安装包,如此便通过使用版本较高的动态链接库文件提升了应用程序与pc端模拟器之间的兼容性,进而修复因应用程序与模拟器之间兼容性问题导致的崩溃。解决了相关技术中应用程序的兼容性较差的问题,达到了提高应用程序的兼容性的效果。
本申请实施例提供的应用程序的兼容方法中,生成安装包的过程在一个示例性实施例中可以包括:
应用程序的提供方(例如小伙伴应用的提供商)的终端从获取React Native的源码工程文件,将React Native的源码工程文件导入Android Studio中,再根据ReactNative的源码工程文件以及NDK配置开发环境,将React Native的源码工程文件中的android-jsc的动态链接库文件更改为注释,获取r216113.0.3版本的动态链接库文件,并将r216113.0.3版本的动态链接库文件按照cpu架构,放入React Native的源码工程文件libs目录下的x86、armeabi目录下,得到更新源码工程文件,运行更新源码工程文件,得到aar文件。将aar文件放入指定应用程序的Android原生项目中,根据React Native的源码工程文件的版本号(即0.54.4)修改aar文件的名称,修改后的aar文件的名称为react-native-0.54.4.aar。在指定应用程序的Android原生项目中创建通知模块,运行指定应用程序的Android原生项目,得到应用程序的安装包。
本申请实施例提供的应用程序的兼容方法中,运行应用程序的过程在一个示例性实施例中可以包括:
应用程序的使用方(例如小伙伴应用的用户)的终端在移动操作***的模拟器中启动应用程序,使用r216113.0.3版本的动态链接库文件,初始化Bundle文件。显示页面,当用户在显示页面操作时,跨平台运行模块通过该Android原生项目中的通知模块将用户的操作对应的数据进行封包,并将数据发送至服务器。服务器根据接收到的数据返回相应的数据,通知模块接收到服务器返回的数据后,对数据进行解包,并将解包的数据发送至跨平台运行模块。跨平台运行模块的数据层对解包的数据进行判空处理,将经过判空处理的解包的数据发送到跨平台运行模块的业务层进行数据的渲染,显示与用户操作对应的页面。
图6是本申请实施例提供的一种应用程序的兼容装置的框图。参考图6可以看出,该应用程序的兼容装置可以包括:
第一获取模块601,用于获取移动操作***对应的源码工程文件。
配置模块602,用于根据源码工程文件配置开发环境。
更改模块603,用于将源码工程文件中的第一动态链接库文件更改为注释。
第二获取模块604,用于获取第二动态链接库文件,并将第二动态链接库文件放入源码工程文件中处理器的架构对应的目录中,得到更新源码工程文件,处理器包括桌面操作***的处理器以及移动操作***的处理器,第二动态链接库文件的版本高于第一动态链接库文件的版本。
第一运行模块605,用于运行更新源码工程文件,得到库文件。
设置模块606,用于将库文件放入指定应用程序的原生项目中。
第二运行模块607,用于运行指定应用程序的原生项目,得到应用程序的安装包。
综上所述,本申请实施例提供了一种应用程序的兼容装置,该装置通过将移动操作***对应的源码工程文件中的第一动态链接库文件更改为注释,并将版本高于第一动态链接库文件的第二动态链接库文件放入源码工程文件中处理器的架构对应的目录中,得到更新源码工程文件,运行更新源码工程文件,得到库文件,将该库文件放入指定应用程序的原生项目中,运行指定应用程序的原生项目,得到该应用程序的安装包,如此便通过使用版本较高的动态链接库文件提升了应用程序与pc端模拟器之间的兼容性,进而修复因应用程序与模拟器之间兼容性问题导致的崩溃。解决了相关技术中应用程序的兼容性较差的问题,达到了提高应用程序的兼容性的效果。
图7是本申请实施例提供的另一种应用程序的兼容装置的框图。参考图7可以看出,该应用程序的兼容装置可以包括:
第一获取模块701,用于获取移动操作***对应的源码工程文件。
配置模块702,用于根据源码工程文件配置开发环境。
更改模块703,用于将源码工程文件中的第一动态链接库文件更改为注释。
第二获取模块704,用于获取第二动态链接库文件,并将第二动态链接库文件放入源码工程文件中处理器的架构对应的目录中,得到更新源码工程文件,处理器包括桌面操作***的处理器以及移动操作***的处理器,第二动态链接库文件的版本高于第一动态链接库文件的版本。
第一运行模块705,用于运行更新源码工程文件,得到库文件。
设置模块706,用于将库文件放入指定应用程序的原生项目中。
第二运行模块707,用于运行指定应用程序的原生项目,得到应用程序的安装包。
通知模块708,用于在所述应用程序运行时进行数据的传输。
综上所述,本申请实施例提供了一种应用程序的兼容装置,该装置通过将移动操作***对应的源码工程文件中的第一动态链接库文件更改为注释,并将版本高于第一动态链接库文件的第二动态链接库文件放入源码工程文件中处理器的架构对应的目录中,得到更新源码工程文件,运行更新源码工程文件,得到库文件,将该库文件放入指定应用程序的原生项目中,运行指定应用程序的原生项目,得到该应用程序的安装包,如此便通过使用版本较高的动态链接库文件提升了应用程序与pc端模拟器之间的兼容性,进而修复因应用程序与模拟器之间兼容性问题导致的崩溃。解决了相关技术中应用程序的兼容性较差的问题,达到了提高应用程序的兼容性的效果。
请参考图8,其示出了本申请实施例提供的一种应用程序的兼容装置800的结构示意图,该应用程序的兼容装置800可以为使用桌面操作***的各种终端。示例地,如图8所示,该装置800包括中央处理单元(CPU)801、包括随机存取存储器(RAM)802和只读存储器(ROM)803的***存储器804,以及连接***存储器804和中央处理单元801的***总线805。装置800还包括帮助计算机内的各个器件之间传输信息的基本输入/输出***(I/O***)806,和用于存储操作***813、应用程序814和其他程序模块815的大容量存储设备807。
基本输入/输出***806包括有用于显示信息的显示器808和用于用户输入信息的诸如鼠标、键盘之类的输入设备809。其中显示器808和输入设备809都通过连接到***总线805的输入输出控制器810连接到中央处理单元801。基本输入/输出***806还可以包括输入输出控制器810以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入/输出控制器810还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备807通过连接到***总线805的大容量存储控制器(未示出)连接到中央处理单元801。大容量存储设备807及其相关联的计算机可读介质为装置800提供非易失性存储。也就是说,大容量存储设备807可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读存储介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的***存储器804和大容量存储设备807可以统称为存储器。
根据本申请的各种实施例,装置800还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即装置800可以通过连接在***总线805上的网络接口单元811连接到网络812,或者说,也可以使用网络接口单元811来连接到其他类型的网络或远程计算机***(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行,以实现本申请实施例提供的方法。
本申请实施例还提供了一种应用程序的兼容设备,应用程序的兼容设备包括处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述方法实施例所提供的应用程序的兼容方法。
本申请实施例还提供了一种计算机存储介质,该计算机存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由处理器加载并执行以实现如上述方法实施例所提供的应用程序的兼容方法。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种应用程序的兼容方法,其特征在于,用于桌面操作***,所述方法包括:
获取移动操作***对应的源码工程文件;
根据所述源码工程文件配置开发环境;
将所述源码工程文件中的第一动态链接库文件更改为注释;
获取第二动态链接库文件,并将所述第二动态链接库文件放入所述源码工程文件中处理器的架构对应的目录中,得到更新源码工程文件,所述处理器包括所述桌面操作***的处理器以及所述移动操作***的处理器,所述第二动态链接库文件的版本高于所述第一动态链接库文件的版本;
运行所述更新源码工程文件,得到库文件;
将所述库文件放入指定应用程序的原生项目中;
运行所述指定应用程序的原生项目,得到所述应用程序的安装包。
2.根据权利要求1所述的方法,其特征在于,所述运行所述指定应用程序的原生项目,得到所述应用程序的安装包之前,所述方法还包括:
在所述指定应用程序的原生项目中创建通知模块;
所述运行所述指定应用程序的原生项目,得到所述应用程序的安装包之后,所述方法还包括:
根据所述安装包,在所述移动操作***的模拟器中运行所述应用程序,所述通知模块用于在所述应用程序运行时进行数据的传输。
3.根据权利要求2所述的方法,其特征在于,所述安装包中包括跨平台运行模块和本地事件发射器,所述根据所述安装包,在所述移动操作***的模拟器中运行所述应用程序,包括:
通过所述跨平台运行模块控制所述通知模块进行数据的封包以及发送;
通过所述通知模块进行数据的接收以及解包;
在所述通知模块接收到数据时,将解包的数据通过本地事件发射器发送至所述跨平台运行模块;
通过所述跨平台运行模块对所述解包的数据进行判空处理;
将经过所述判空处理的解包的数据发送给业务层进行数据渲染。
4.根据权利要求3所述的方法,其特征在于,所述通过所述跨平台运行模块对所述解包的数据进行判空处理,包括:
判断所述解包的数据中每个字段是否存在且已赋值;
若所述解包的数据中任一字段不存在或未赋值,则对所述任一字段赋予指定值。
5.根据权利要求1所述的方法,其特征在于,所述源码工程文件为跨平台移动应用开发框架的源码工程文件,所述根据所述源码工程文件配置开发环境,包括:
根据所述跨平台移动应用开发框架的源码工程文件以及原生开发工具包配置所述开发环境。
6.根据权利要求1所述的方法,其特征在于,所述运行所述指定应用程序的原生项目,得到所述应用程序的安装包之前,所述方法还包括:
根据所述源码工程文件的版本号修改所述库文件的名称。
7.一种应用程序的兼容装置,其特征在于,用于桌面操作***,所述装置包括:
第一获取模块,用于获取移动操作***对应的源码工程文件;
配置模块,用于根据所述源码工程文件配置开发环境;
更改模块,用于将所述源码工程文件中的第一动态链接库文件更改为注释;
第二获取模块,用于获取第二动态链接库文件,并将所述第二动态链接库文件放入所述源码工程文件中处理器的架构对应的目录中,得到更新源码工程文件,所述处理器包括所述桌面操作***的处理器以及所述移动操作***的处理器,所述第二动态链接库文件的版本高于所述第一动态链接库文件的版本;
第一运行模块,用于运行所述更新源码工程文件,得到库文件;
设置模块,用于将所述库文件放入指定应用程序的原生项目中;
第二运行模块,用于运行所述指定应用程序的原生项目,得到所述应用程序的安装包。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
通知模块,用于在所述应用程序运行时进行数据的传输。
9.一种应用程序的兼容设备,其特征在于,所述应用程序的兼容设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至6任一所述的应用程序的兼容方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至6任一所述的应用程序的兼容方法。
CN201911158733.7A 2019-11-22 2019-11-22 应用程序的兼容方法、装置、设备及计算机存储介质 Active CN111026439B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911158733.7A CN111026439B (zh) 2019-11-22 2019-11-22 应用程序的兼容方法、装置、设备及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911158733.7A CN111026439B (zh) 2019-11-22 2019-11-22 应用程序的兼容方法、装置、设备及计算机存储介质

Publications (2)

Publication Number Publication Date
CN111026439A true CN111026439A (zh) 2020-04-17
CN111026439B CN111026439B (zh) 2023-03-24

Family

ID=70203239

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911158733.7A Active CN111026439B (zh) 2019-11-22 2019-11-22 应用程序的兼容方法、装置、设备及计算机存储介质

Country Status (1)

Country Link
CN (1) CN111026439B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112764797A (zh) * 2021-01-06 2021-05-07 浙江大华技术股份有限公司 软件兼容性检测方法、装置、电子装置和存储介质
CN112783542A (zh) * 2021-02-04 2021-05-11 华东交通大学 软件升级方法、装置及可读存储介质
CN113535227A (zh) * 2021-09-07 2021-10-22 深圳市云中鹤科技股份有限公司 一种数字化技术架构的部署方法和装置
CN115129333A (zh) * 2022-09-02 2022-09-30 城云科技(中国)有限公司 适用于微前端框架的npm资源包管理方法、装置及***

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5838911A (en) * 1996-05-23 1998-11-17 Electronic Data Systems Corporation Method and apparatus for obtaining network information by using a dynamic link library
US20020066085A1 (en) * 1998-10-08 2002-05-30 Dan H. Nowlin Jr. Enabling software designed for one operating system to operate on another operating system
CN101650668A (zh) * 2008-08-11 2010-02-17 优诺威讯国际有限公司 虚拟环境的实现方法及装置
US7735079B1 (en) * 2005-02-04 2010-06-08 Symantec Corporation Securely hooking installations for compatibility with other applications
CN103379481A (zh) * 2012-04-26 2013-10-30 腾讯科技(深圳)有限公司 一种实现安全防护的方法及一种防火墙
CN103677777A (zh) * 2012-09-19 2014-03-26 腾讯科技(深圳)有限公司 调用应用程序组件的方法及装置
US20140304720A1 (en) * 2013-04-03 2014-10-09 Tencent Technology (Shenzhen) Company Limited Method for starting process of application and computer system
CN104965712A (zh) * 2015-07-17 2015-10-07 北京奇虎科技有限公司 应用程序加固保护方法、装置及移动终端
CN106371940A (zh) * 2015-07-21 2017-02-01 腾讯科技(深圳)有限公司 一种程序崩溃解决方法及装置
CN110046479A (zh) * 2019-03-21 2019-07-23 腾讯科技(深圳)有限公司 一种基于安卓操作***的链接库文件反调试方法及装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5838911A (en) * 1996-05-23 1998-11-17 Electronic Data Systems Corporation Method and apparatus for obtaining network information by using a dynamic link library
US20020066085A1 (en) * 1998-10-08 2002-05-30 Dan H. Nowlin Jr. Enabling software designed for one operating system to operate on another operating system
US7735079B1 (en) * 2005-02-04 2010-06-08 Symantec Corporation Securely hooking installations for compatibility with other applications
CN101650668A (zh) * 2008-08-11 2010-02-17 优诺威讯国际有限公司 虚拟环境的实现方法及装置
CN103379481A (zh) * 2012-04-26 2013-10-30 腾讯科技(深圳)有限公司 一种实现安全防护的方法及一种防火墙
CN103677777A (zh) * 2012-09-19 2014-03-26 腾讯科技(深圳)有限公司 调用应用程序组件的方法及装置
US20140304720A1 (en) * 2013-04-03 2014-10-09 Tencent Technology (Shenzhen) Company Limited Method for starting process of application and computer system
CN104965712A (zh) * 2015-07-17 2015-10-07 北京奇虎科技有限公司 应用程序加固保护方法、装置及移动终端
CN106371940A (zh) * 2015-07-21 2017-02-01 腾讯科技(深圳)有限公司 一种程序崩溃解决方法及装置
CN110046479A (zh) * 2019-03-21 2019-07-23 腾讯科技(深圳)有限公司 一种基于安卓操作***的链接库文件反调试方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
丛伟等: "DLL在机载总线仿真***中的应用", 《现代电子技术》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112764797A (zh) * 2021-01-06 2021-05-07 浙江大华技术股份有限公司 软件兼容性检测方法、装置、电子装置和存储介质
CN112783542A (zh) * 2021-02-04 2021-05-11 华东交通大学 软件升级方法、装置及可读存储介质
CN113535227A (zh) * 2021-09-07 2021-10-22 深圳市云中鹤科技股份有限公司 一种数字化技术架构的部署方法和装置
CN113535227B (zh) * 2021-09-07 2021-12-21 深圳市云中鹤科技股份有限公司 一种数字化技术架构的部署方法和装置
CN115129333A (zh) * 2022-09-02 2022-09-30 城云科技(中国)有限公司 适用于微前端框架的npm资源包管理方法、装置及***
CN115129333B (zh) * 2022-09-02 2022-11-25 城云科技(中国)有限公司 适用于微前端框架的npm资源包管理方法、装置及***

Also Published As

Publication number Publication date
CN111026439B (zh) 2023-03-24

Similar Documents

Publication Publication Date Title
CN111026439B (zh) 应用程序的兼容方法、装置、设备及计算机存储介质
CN111740948B (zh) 数据包发布方法、动态更新方法、装置、设备及介质
CN111338623B (zh) 一种开发用户界面的方法、装置、介质和电子设备
CN108762767B (zh) 应用发布方法、装置及计算机可读存储介质
CN112769706B (zh) 组件化路由方法及***
CN110297776B (zh) 检测报告生成、接收方法、装置、设备及存储介质
CN113805882A (zh) 应用程序开发的方法、装置、电子设备及存储介质
CN113010827A (zh) 页面渲染方法、装置、电子设备以及存储介质
CN112416458A (zh) 基于ReactNative的预加载方法、装置、计算机设备及存储介质
CN107508846B (zh) 应用客户端的更新方法和***及终端设备
CN113127361A (zh) 应用程序的开发方法、装置、电子设备和存储介质
CN110928571A (zh) 业务程序开发方法和装置
CN112000334A (zh) 页面开发方法、装置、服务器及存储介质
JP2021068415A (ja) コード実行方法、装置、レンダリングデバイス、記憶媒体、及びプログラム
CN113468067B (zh) 应用程序的调试方法、装置、电子设备和计算机可读介质
CN112988588B (zh) 客户端软件调试方法、装置、存储介质及电子设备
CN112835568A (zh) 一种项目构建方法和装置
CN113138768A (zh) 应用程序包生成方法、装置、电子设备以及可读存储介质
CN111414154A (zh) 前端开发的方法、装置、电子设备和存储介质
WO2023083071A1 (zh) 视图交互方法、装置、电子设备及计算机可读介质
CN111580853A (zh) 多渠道软件安装包通用生成方法
WO2022019784A1 (en) Assigning computing resources to execution of evaluators for image animation
CN113761419A (zh) 拓扑信息的显示方法、装置、电子设备及存储介质
CN106775900B (zh) 应用浏览器的调用方法和***
CN110780864A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210111

Address after: 511442 3108, 79 Wanbo 2nd Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Applicant after: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 511446 24 / F, building B-1, Wanda Plaza, Panyu District, Guangzhou City, Guangdong Province

Applicant before: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20200417

Assignee: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

Assignor: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Contract record no.: X2021440000054

Denomination of invention: Compatible method, device, device and computer storage medium of application program

License type: Common License

Record date: 20210208

GR01 Patent grant
GR01 Patent grant