CN114461226A - 解决强制依赖的方法及装置 - Google Patents

解决强制依赖的方法及装置 Download PDF

Info

Publication number
CN114461226A
CN114461226A CN202210359017.0A CN202210359017A CN114461226A CN 114461226 A CN114461226 A CN 114461226A CN 202210359017 A CN202210359017 A CN 202210359017A CN 114461226 A CN114461226 A CN 114461226A
Authority
CN
China
Prior art keywords
party sdk
software
processed
sdk
party
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
CN202210359017.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.)
Guangzhou Easefun Information Technology Co ltd
Original Assignee
Guangzhou Easefun Information 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 Easefun Information Technology Co ltd filed Critical Guangzhou Easefun Information Technology Co ltd
Priority to CN202210359017.0A priority Critical patent/CN114461226A/zh
Publication of CN114461226A publication Critical patent/CN114461226A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/433Dependency analysis; Data or control flow analysis

Landscapes

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

Abstract

本发明涉及一种解决强制依赖的方法及装置,检测待处理软件是否存在第三方SDK后,在不存在第三方SDK时,解除对第三方SDK类对象的强制寻找和确认;同时,在不存在第三方SDK时,使用提前编写的同值结构体进行替代;其中,同值结构体用于转换第三方SDK的声明。通过解除强制寻找和确认以及同值结构体的编写,使得待处理软件中产生强制依赖的模块,弱化对第三方SDK的引用、接触类的强制依赖,而产生了“动态裁剪”的效果。基于此,提高待处理软件的使用灵活性并降低用户集成工作量,丰富待处理软件的被使用方式。

Description

解决强制依赖的方法及装置
技术领域
本发明涉及软件开发技术领域,特别是涉及一种解决强制依赖的方法及装置。
背景技术
软件开发工具包(Software Development Kit SDK)一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。因此,用户人员开发SDK产品,在编译过程中往往需要各类第三方SDK。
然而,第三方SDK的使用会产生强制依赖的问题,具体体现为两个主要的问题:第一,用户人员开发的SDK产品,在被用户使用过程中,若缺失任一第三方SDK,均将直接报错,继而无法使用。容易被用户的软件集成带来障碍,即便集成后也容易产生SDK冲突。第二,用户在使用SDK产品时,只能全部接受各SDK产品功能,无法进行功能选取,给用户的软件带来额外体积负担。
因此,在软件开发过程中,需要通过各类方案来解决上述的强制依赖问题。传统的解决方式是针对用户的需求,增加或删除特定功能,并进行重新编译和重新上传,由用户进行重新集成。然而,传统的解决方式所需的人力、时间、工作量成本极高,面对用户的数量、需求或类型数量过大这一现状时性价比完全失衡,甚至不具备操作可能。
发明内容
基于此,有必要针对传统解决软件强制依赖方式还存在的不足,提供一种解决强制依赖的方法及装置。
一种解决强制依赖的方法,包括步骤:
检测待处理软件是否存在第三方SDK;
在不存在第三方SDK时,解除对第三方SDK类对象的强制寻找和确认;
在不存在第三方SDK时,使用提前编写的同值结构体进行替代;其中,同值结构体用于转换第三方SDK的声明。
上述的解决强制依赖的方法,检测待处理软件是否存在第三方SDK后,在不存在第三方SDK时,解除对第三方SDK类对象的强制寻找和确认;同时,在不存在第三方SDK时,使用提前编写的同值结构体进行替代;其中,同值结构体用于转换第三方SDK的声明。通过解除强制寻找和确认以及同值结构体的编写,使得待处理软件中产生强制依赖的模块,弱化对第三方SDK的引用、接触类的强制依赖,而产生了“动态裁剪”的效果。基于此,提高待处理软件的使用灵活性并降低用户集成工作量,丰富待处理软件的被使用方式。
在其中一个实施例中,检测待处理软件是否存在第三方SDK的过程,包括步骤:
对待处理软件执行动态加载,根据动态加载结果检测待处理软件是否存在第三方SDK。
在其中一个实施例中,对待处理软件执行动态加载,根据动态加载结果检测待处理软件是否存在第三方SDK的过程,包括步骤:
通过NSClassFromString执行动态加载,在动态加载结果为NIL空值时判定不存在第三方SDK,否则判定存在第三方SDK。
在其中一个实施例中,还包括步骤:
根据动态加载结果读取第三方SDK的类。
在其中一个实施例中,解除对第三方SDK类对象的强制寻找和确认的过程,包括步骤:
解除编译器在编译过程中对第三方SDK类对象的强制寻找和确认。
在其中一个实施例中,同值结构体与第三方SDK结构体同值但不同名。
在其中一个实施例中,还包括步骤:
通过同值结构体替换第三方SDK结构体。
一种解决强制依赖的装置,包括:
软件检测模块,用于检测待处理软件是否存在第三方SDK;
第一处理模块,用于在不存在第三方SDK时,解除对第三方SDK类对象的强制寻找和确认;
第二处理模块,用于在不存在第三方SDK时,使用提前编写的同值结构体进行替代;其中,同值结构体用于转换第三方SDK的声明。
上述的强制依赖解除装置,检测待处理软件是否存在第三方SDK后,在不存在第三方SDK时,解除对第三方SDK类对象的强制寻找和确认;同时,在不存在第三方SDK时,使用提前编写的同值结构体进行替代;其中,同值结构体用于转换第三方SDK的声明。通过解除强制寻找和确认以及同值结构体的编写,使得待处理软件中产生强制依赖的模块,弱化对第三方SDK的引用、接触类的强制依赖,而产生了“动态裁剪”的效果。基于此,提高待处理软件的使用灵活性并降低用户集成工作量,丰富待处理软件的被使用方式。
一种计算机存储介质,其上存储有计算机指令,计算机指令被处理器执行时实现上述任一实施例的解决强制依赖的方法。
上述的计算机存储介质,检测待处理软件是否存在第三方SDK后,在不存在第三方SDK时,解除对第三方SDK类对象的强制寻找和确认;同时,在不存在第三方SDK时,使用提前编写的同值结构体进行替代;其中,同值结构体用于转换第三方SDK的声明。通过解除强制寻找和确认以及同值结构体的编写,使得待处理软件中产生强制依赖的模块,弱化对第三方SDK的引用、接触类的强制依赖,而产生了“动态裁剪”的效果。基于此,提高待处理软件的使用灵活性并降低用户集成工作量,丰富待处理软件的被使用方式。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述任一实施例的解决强制依赖的方法。
上述的计算机设备,检测待处理软件是否存在第三方SDK后,在不存在第三方SDK时,解除对第三方SDK类对象的强制寻找和确认;同时,在不存在第三方SDK时,使用提前编写的同值结构体进行替代;其中,同值结构体用于转换第三方SDK的声明。通过解除强制寻找和确认以及同值结构体的编写,使得待处理软件中产生强制依赖的模块,弱化对第三方SDK的引用、接触类的强制依赖,而产生了“动态裁剪”的效果。基于此,提高待处理软件的使用灵活性并降低用户集成工作量,丰富待处理软件的被使用方式。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一实施方式的解决强制依赖的方法流程图;
图2为另一实施方式的解决强制依赖的方法流程图;
图3为一实施方式的解决强制依赖的装置模块结构图;
图4为一实施方式的计算机内部构造示意图。
具体实施方式
为了更好地理解本发明的目的、技术方案以及技术效果,以下结合附图和实施例对本发明进行进一步的讲解说明。同时声明,以下所描述的实施例仅用于解释本发明,并不用于限定本发明。
本发明实施例提供了一种解决强制依赖的方法。
图1为一实施方式的解决强制依赖的方法流程图,如图1所示,一实施方式的解决强制依赖的方法包括步骤S100至步骤S102:
S100,检测待处理软件是否存在第三方SDK;
S101,在不存在第三方SDK时,解除对第三方SDK类对象的强制寻找和确认;
S102,在不存在第三方SDK时,使用提前编写的同值结构体进行替代;其中,同值结构体用于转换第三方SDK的声明。
其中,待处理软件包括开发过程、使用过程或维护过程等各阶段的代码或软件包等软件产品。在其中一个实施例中,待处理软件包括编译阶段或集成阶段的SDK产品。作为用户软件集成的对象,待处理软件包括自身的数据内容和SDK声明。
在其中一个实施例中,检测开始运行中的实际环境,是否真实的、最终的存在第三方SDK。
作为一个较优的实施方式,选用开发过程中的待处理软件,在开发过程中完成解决强制依赖的方法,无需后续用户进行其他处理,提高便携性。
待处理软件的开发过程,需要使用SDK工具。在使用第三方SDK时,第三方SDK若被集成到待处理软件,此时第三方SDK的类都将被编译进待处理软件中。其中,类指一种实现信息封装的基础,包含数据说明和一组操作数据或传递消息的函数。以待处理软件为APP为例,第三方SDK的被编译进App的Unix可执行文件中。当APP运行时,可通过在内存中读取该类来确定第三方SDK是否存在。在读取到该类时表征第三方SDK存在,以此实现类检测。
基于此,在不存在第三方SDK时,表征用户不需要或未引入第三方SDK,从而进行强制依赖的接触操作。
在其中一个实施例中,图2为另一实施方式的解决强制依赖的方法流程图,如图2所示,步骤S100中检测待处理软件是否存在第三方SDK的过程,包括步骤S200:
S200,对待处理软件执行动态加载,根据动态加载结果检测待处理软件是否存在第三方SDK。
其中,可通过自定义的加载器或加载函数,对待处理软件执行动态加载,获取类加载结果作为动态加载结果。在加载到类时,表征待处理软件存在第三方SDK;在未记载到类时,表征待处理软件不存在第三方SDK。
在其中一个实施例中,以待处理软件为APP为例,步骤S200中对待处理软件执行动态加载,根据动态加载结果检测待处理软件是否存在第三方SDK的过程,包括步骤:
通过NSClassFromString执行动态加载,在动态加载结果为NIL空值时判定不存在第三方SDK,否则判定存在第三方SDK。
通过NSClassFromString执行动态加载,满足相应系统的检测需求,在第三方SDK被集成时,可对应获取类,表征存在第三方SDK。在第三方SDK未被集成时,动态加载结果为NIL空值,表征不存在第三方SDK。尤其在iOS系统中,nil调用方法,将直接忽略而不产生崩溃风险,保证解决强制依赖的方法的稳定性。
在iOS系统中,在不存在第三方SDK时,使用NSClassFromString方法,去尝试获取类对象。对于此过程,作出更具体的解释及说明。在最终的运行环境中(区别于开发过程中的配置环境),iOS系统有一个链接分配内存的过程,此时,只有真实存在某个类对象,才会真正的被分配内存。基于此,去使用iOS系统方法NSClassFromString ,该方法根据iOS注释及说明、原本的用途,通过类名去获取类对象。结合上iOS系统分配内存的原理,去实现 “实时动态检测”、“实时动态获取”的效果。“实时动态检测”是因为若最终没有类对象被成功分配内存,则NSClassFromString获取为NIL表示空值,可知第三方SDK并未被真正集成;“实时动态获取”是因为若最终类对象有被成功分配内存,则NSClassFromString可获取到具体的类Class,再利用类Class,去调用对应的类对象创建方法,来重新创建类对象,则产物与未改变前无异,不影响原有代码的正常使用,而实现了两个效果。而同时实现的效果,还有“解除强制依赖”,使用NSClassFromString和使用原有类的创建方法对比,区别是后者在系统链接过程,必须要求能找到对应的类,才允许运行,否则报错。而前者方法,则不要求链接过程必须找到,而能继续正常运行。
在其中一个实施例中,如图2所示,另一实施方式的解决强制依赖的方法还包括步骤S201:
S201,根据动态加载结果读取第三方SDK的类。
通过动态加载,同时读取第三方SDK的类,以便于后续步骤的强制解除处理。
在确定第三方SDK存在后,表示存在第三方SDK的类。在待处理软件集成的第三方SDK类对象创建环节中,对象本身是运行期才确定具体类型的,编译器在编译过程中,会寻找、并确认类的存在,产生对第三方SDK的依赖。基于此,通过解除对第三方SDK类对象的强制寻找和确认,弱化类间强制依赖。
在其中一个实施例中,如图2所示,步骤S101中解除对第三方SDK类对象的强制寻找和确认的过程,包括步骤S202:
S202,解除编译器在编译过程中对第三方SDK类对象的强制寻找和确认。
通过对待处理软件的相关控制调整,使编译器在编译过程中,将不会强制寻找、并确认类的存在。
进一步地,通过使用提前编写的同值结构体进行替代,以调整第三方SDK声明,变成开发人员的自有声明。基于此,在后续待处理软件的集成过程中,解除对第三方SDK声明的依赖。
其中,表面上代码使用时,是直接调用结构体的名字,但实际上真正系统需要的,并非结构体名,而是结构体的值。若结构体的值可知,则结构体可仿写,并改为所需的名字,且因值无异,而不会产生任何影响。
以IOS系统为例,iOS系统在链接过程,若对应结构体不存在,则会编译报错无无法继续运行。只要未调用某个名字的结构体,则链接过程,不会产生强制依赖。
在其中一个实施例中,同值结构体与第三方SDK结构体同值但不同名。同值结构体与第三方SDK结构体的具体数据内容相同,名称不同。通过动态加载第三方SDK结构体的具体数据内容,进行同值结构体编写。其中,由于同值结构体与第三方SDK结构体的具体数据内容相同,因此同值结构体与第三方SDK结构体的效果相同,以便于为后续集成提供替代基础。
基于此,在其中一个实施例中,如图2所示,另一实施方式的解决强制依赖的方法还包括步骤S203:
S203,通过同值结构体替换第三方SDK结构体。
通过同值结构体替换第三方SDK结构体,以实现第三方SDK的声明的转换。
基于步骤S101和步骤S102,直接解除待处理软件的强制依赖问题,达到对第三方SDK依赖弱引用,而产生所依赖的模块,可动态裁剪的效果。
上述任一实施例的解决强制依赖的方法,检测待处理软件是否存在第三方SDK后,在不存在第三方SDK时,解除对第三方SDK类对象的强制寻找和确认;同时,在不存在第三方SDK时,使用提前编写的同值结构体进行替代;其中,同值结构体用于转换第三方SDK的声明。通过解除强制寻找和确认以及同值结构体的编写,使得待处理软件中产生强制依赖的模块,弱化对第三方SDK的引用、接触类的强制依赖,而产生了“动态裁剪”的效果。基于此,提高待处理软件的使用灵活性并降低用户集成工作量,丰富待处理软件的被使用方式。
本发明实施例还提供了一种解决强制依赖的装置。
图3为一实施方式的解决强制依赖的装置模块结构图,如图3所示,一实施方式的解决强制依赖的装置包括软件检测模块100、第一处理模块101和第二处理模块102:
软件检测模块100,用于检测待处理软件是否存在第三方SDK;
第一处理模块101,用于在不存在第三方SDK时,解除对第三方SDK类对象的强制寻找和确认;
第二处理模块102,用于在不存在第三方SDK时,使用提前编写的同值结构体进行替代;其中,同值结构体用于转换第三方SDK的声明。
上述的解决强制依赖的装置,检测待处理软件是否存在第三方SDK后,在不存在第三方SDK时,解除对第三方SDK类对象的强制寻找和确认;同时,在不存在第三方SDK时,使用提前编写的同值结构体进行替代;其中,同值结构体用于转换第三方SDK的声明。通过解除强制寻找和确认以及同值结构体的编写,使得待处理软件中产生强制依赖的模块,弱化对第三方SDK的引用、接触类的强制依赖,而产生了“动态裁剪”的效果。基于此,提高待处理软件的使用灵活性并降低用户集成工作量,丰富待处理软件的被使用方式。
本发明实施例还提供了一种计算机存储介质,其上存储有计算机指令,该指令被处理器执行时实现上述任一实施例的解决强制依赖的方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、终端、或者网络设备等)执行本发明各个实施例方法的全部或部分。而前述的存储介质包括:移动存储设备、RAM、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
与上述的计算机存储介质对应的是,在一个实施例中还提供一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行程序时实现如上述各实施例中的任意一种解决强制依赖的方法。
该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种解决强制依赖的方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
上述计算机设备,检测待处理软件是否存在第三方SDK后,在不存在第三方SDK时,解除对第三方SDK类对象的强制寻找和确认;同时,在不存在第三方SDK时,使用提前编写的同值结构体进行替代;其中,同值结构体用于转换第三方SDK的声明。通过解除强制寻找和确认以及同值结构体的编写,使得待处理软件中产生强制依赖的模块,弱化对第三方SDK的引用、接触类的强制依赖,而产生了“动态裁剪”的效果。基于此,提高待处理软件的使用灵活性并降低用户集成工作量,丰富待处理软件的被使用方式。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种解决强制依赖的方法,其特征在于,包括步骤:
检测待处理软件是否存在第三方SDK;
在不存在所述第三方SDK时,解除对所述第三方SDK类对象的强制寻找和确认;
在不存在所述第三方SDK时,使用提前编写的同值结构体进行替代;其中,所述同值结构体用于转换所述第三方SDK的声明。
2.根据权利要求1所述的解决强制依赖的方法,其特征在于,所述检测待处理软件是否存在第三方SDK的过程,包括步骤:
对所述待处理软件执行动态加载,根据动态加载结果检测待处理软件是否存在第三方SDK。
3.根据权利要求2所述的解决强制依赖的方法,其特征在于,所述对所述待处理软件执行动态加载,根据动态加载结果检测待处理软件是否存在第三方SDK的过程,包括步骤:
通过NSClassFromString执行动态加载,在所述动态加载结果为NIL空值时判定不存在第三方SDK,否则判定存在第三方SDK。
4.根据权利要求2所述的解决强制依赖的方法,其特征在于,还包括步骤:
根据所述动态加载结果读取所述第三方SDK的类。
5.根据权利要求1至4任意一项所述的解决强制依赖的方法,其特征在于,所述解除对所述第三方SDK类对象的强制寻找和确认的过程,包括步骤:
解除编译器在编译过程中对所述第三方SDK类对象的强制寻找和确认。
6.根据权利要求1至4任意一项所述的解决强制依赖的方法,其特征在于,所述同值结构体与所述第三方SDK结构体同值但不同名。
7.根据权利要求1至4任意一项所述的解决强制依赖的方法,其特征在于,还包括步骤:
通过所述同值结构体替换第三方SDK结构体。
8.一种解决强制依赖的装置,其特征在于,包括:
软件检测模块,用于检测待处理软件是否存在第三方SDK;
第一处理模块,用于在不存在所述第三方SDK时,解除对所述第三方SDK类对象的强制寻找和确认;
第二处理模块,用于在不存在所述第三方SDK时,使用提前编写的同值结构体进行替代;其中,所述同值结构体用于转换所述第三方SDK的声明。
9.一种计算机存储介质,其上存储有计算机指令,其特征在于,所述计算机指令被处理器执行时实现如权利要求1至7任意一项所述的解决强制依赖的方法。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行程序时实现如权利要求1至7任意一项所述的解决强制依赖的方法。
CN202210359017.0A 2022-04-07 2022-04-07 解决强制依赖的方法及装置 Pending CN114461226A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210359017.0A CN114461226A (zh) 2022-04-07 2022-04-07 解决强制依赖的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210359017.0A CN114461226A (zh) 2022-04-07 2022-04-07 解决强制依赖的方法及装置

Publications (1)

Publication Number Publication Date
CN114461226A true CN114461226A (zh) 2022-05-10

Family

ID=81417024

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210359017.0A Pending CN114461226A (zh) 2022-04-07 2022-04-07 解决强制依赖的方法及装置

Country Status (1)

Country Link
CN (1) CN114461226A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114816369A (zh) * 2022-06-29 2022-07-29 广州易方信息科技股份有限公司 一种Android端支持安全裁剪第三方库的方法及装置
CN117033287A (zh) * 2023-10-08 2023-11-10 易方信息科技股份有限公司 基于sdk包的多总线通信方法、系统、设备以及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105094878A (zh) * 2014-05-22 2015-11-25 阿里巴巴集团控股有限公司 一种集成系统库文件的方法和装置
WO2016061762A1 (zh) * 2014-10-22 2016-04-28 刘大澎 移动终端软件的多渠道sdk接入系统及方法
CN107391171A (zh) * 2017-06-14 2017-11-24 广东网金控股股份有限公司 一种解决iOS热修复问题的方法以及用户终端
CN108897533A (zh) * 2018-06-06 2018-11-27 北京奇虎科技有限公司 一种函数调用的方法、装置及终端
CN111309407A (zh) * 2020-02-21 2020-06-19 咪咕文化科技有限公司 集成第三方库的处理方法及装置
CN111324395A (zh) * 2020-02-07 2020-06-23 京东数字科技控股有限公司 调用方法、装置和计算机可读存储介质
CN114089961A (zh) * 2021-11-16 2022-02-25 上海中通吉网络技术有限公司 App中对三方SDK的集成和使用方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105094878A (zh) * 2014-05-22 2015-11-25 阿里巴巴集团控股有限公司 一种集成系统库文件的方法和装置
WO2016061762A1 (zh) * 2014-10-22 2016-04-28 刘大澎 移动终端软件的多渠道sdk接入系统及方法
CN107391171A (zh) * 2017-06-14 2017-11-24 广东网金控股股份有限公司 一种解决iOS热修复问题的方法以及用户终端
CN108897533A (zh) * 2018-06-06 2018-11-27 北京奇虎科技有限公司 一种函数调用的方法、装置及终端
CN111324395A (zh) * 2020-02-07 2020-06-23 京东数字科技控股有限公司 调用方法、装置和计算机可读存储介质
CN111309407A (zh) * 2020-02-21 2020-06-19 咪咕文化科技有限公司 集成第三方库的处理方法及装置
CN114089961A (zh) * 2021-11-16 2022-02-25 上海中通吉网络技术有限公司 App中对三方SDK的集成和使用方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
赵庆林 等: "《UNIX SHELL程序设计》", 31 October 1991, 北京希望电脑公司 *
风之谷等风来: "SDK开发:SDK之间相互依赖,文件加载不完全问题(项目中NSClassFromString方法找不到文件)", 《简书:HTTPS://WWW.JIANSHU.COM/P/64D16543431B》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114816369A (zh) * 2022-06-29 2022-07-29 广州易方信息科技股份有限公司 一种Android端支持安全裁剪第三方库的方法及装置
CN117033287A (zh) * 2023-10-08 2023-11-10 易方信息科技股份有限公司 基于sdk包的多总线通信方法、系统、设备以及存储介质
CN117033287B (zh) * 2023-10-08 2024-02-13 易方信息科技股份有限公司 基于sdk包的多总线通信方法、系统、设备以及存储介质

Similar Documents

Publication Publication Date Title
CN114461226A (zh) 解决强制依赖的方法及装置
CN111367510B (zh) 一种安卓功能模块开发的方法及装置
US20140130016A1 (en) Offline type checking in programming languages
US20120159462A1 (en) Method for checkpointing and restoring program state
CN110083360B (zh) 一种应用程序代码的编译方法、装置、设备及存储介质
AU2021206497B2 (en) Method and apparatus for authority control, computer device and storage medium
CN109814873B (zh) 一种代码发布方法及装置
CN107179982B (zh) 一种跨进程调试方法和装置
CN109032612B (zh) 混合型应用的接口调用方法、装置及计算机可读存储介质
CN114064114A (zh) 一种动态库生成方法及装置
CN111352631B (zh) 一种接口兼容性检测方法及装置
CN111240987B (zh) 移植程序检测方法、装置、电子设备及计算机可读存储介质
CN110688320B (zh) 全局变量的检测方法、装置及终端设备
CN110806891A (zh) 嵌入式设备软件版本的生成方法及装置
CN110780863A (zh) 一种存储系统的跨平台开发方法、装置、设备及介质
CN113254065B (zh) 应用软件兼容方法及装置
CN113641389B (zh) 基于OpenCPU的软件升级方法、装置及设备
CN111367512B (zh) 一种应用程序开发中创建Android库模块依赖关系的方法及装置
CN113986744A (zh) 一种分库分表组件的测试方法、装置及存储介质
CN109815142B (zh) 一种产品测试方法和装置
CN110554867B (zh) 一种应用程序的处理方法和装置
CN112052051A (zh) 插件处理方法、装置、设备及存储介质
CN116774988B (zh) 解除框架包模式符号依赖的方法及装置
CN113326048B (zh) 浮点数计算精度处理方法、系统、介质及设备
CN113672238B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20220510