CN114168148A - 源文件的处理方法、装置、介质及设备 - Google Patents
源文件的处理方法、装置、介质及设备 Download PDFInfo
- Publication number
- CN114168148A CN114168148A CN202111493140.3A CN202111493140A CN114168148A CN 114168148 A CN114168148 A CN 114168148A CN 202111493140 A CN202111493140 A CN 202111493140A CN 114168148 A CN114168148 A CN 114168148A
- Authority
- CN
- China
- Prior art keywords
- file
- source
- compiler
- compiling
- source 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/38—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Library & Information Science (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供一种源文件的处理方法、装置、存储介质及终端设备,该方法包括:遍历编译器的编译目录,确定与pod库中的源文件对应的索引文件,其中,所述源文件包括.metal文件;向所述编译器隐藏所述索引文件,以阻止所述编译器基于所述索引文件对所述源文件进行编译,得到Metal框架下的原生中间文件;调用预设的编译脚本对所述源文件进行编译,以得到与所述源文件对应的可自定义文件名的目标中间文件,其中,所述目标中间文件与所述原生中间文件的后缀名相同;将所述目标中间文件封装成资源文件并存放至资源库中。本申请实施例通过从编译目录中的索引文件入手可以避免编译器将源文件编译成文件名统一的中间文件,进而解决符号化冲突的问题。
Description
技术领域
本申请涉及电子通信技术领域,尤其涉及一种源文件的处理技术领域,特别涉及一种源文件的处理方法、装置、介质及设备。
背景技术
Metal是iOS渲染开发的一种主流框架,开发者通常会把的顶点着色器和片段着色器编写进.metal文件中,当开发者自定义.metal文件进行编译时,编译器会将.metal文件编译生成default.metallib文件从而进行渲染操作,但在pod库开发中,每个pod库都会有生成对应的default.metallib文件,当存在多个default.metallib时,编译器便会因为符号化冲突而编译失败。
发明内容
本申请实施例提供一种源文件的处理方法、装置、介质及设备,通过从编译目录中的索引文件入手可以避免编译器将源文件编译成文件名统一的中间文件,进而解决符号化冲突的问题。
本申请实施例一方面提供了一种源文件的处理方法,包括:
遍历编译器的编译目录,确定与pod库中的源文件对应的索引文件,其中,所述源文件包括.metal文件;
向所述编译器隐藏所述索引文件,以阻止所述编译器基于所述索引文件对所述源文件进行编译,得到Metal框架下的原生中间文件;
调用预设的编译脚本对所述源文件进行编译,以得到与所述源文件对应的可自定义文件名的目标中间文件,其中,所述目标中间文件与所述原生中间文件的后缀名相同;
将所述目标中间文件封装成资源文件并存放至资源库中。
在本申请实施例所述的源文件的处理方法中,所述方法还包括:
通过所述编译器读取封装后的目标中间文件,得到所述目标中间文件中的图像渲染参数,并进行相关的图像渲染操作。
在本申请实施例所述的源文件的处理方法中,所述向所述编译器隐藏所述索引文件,包括:
从所述编译目录中查找与所述源文件对应的索引文件;
将所述索引文件从所述编译目录中删除。
在本申请实施例所述的源文件的处理方法中,所述遍历编译器的编译目录,确定与pod库中的源文件对应的索引文件,包括:
获取与所述pod库中的源文件对应的预设关键字符;
基于所述预设关键字符构建对应的正则表达式;
根据所述正则表达式,从所述编译目录中匹配出对应的源文件,并将该源文件对应的索引文件确定为所述与pod库中的源文件对应的索引文件。
在本申请实施例所述的源文件的处理方法中,在所述将所述索引文件从所述编译目录中删除之后,所述方法还包括:
修改pod库的预设声明文件,以通过修改后的预设声明文件将所述源文件设置为所述编译器不可编译的文件。
在本申请实施例所述的源文件的处理方法中,所述修改pod库的预设声明文件,以通过修改后的预设声明文件将所述源文件设置为所述编译器不可编译的文件,包括:
在本地存储区域中将所述源文件转化成第一纯文本数据;
在所述编译目录中以文本形式展示所述纯文本数据,并在所述预设声明文件的规定所述纯文本数据不可编译。
在本申请实施例所述的源文件的处理方法中,所述调用预设的编译脚本对所述源文件进行编译,以得到与所述源文件对应的可自定义文件名的目标中间文件,包括:
将pod库中的源文件存储至本地存储区域中的一文件夹;
将所述文件夹内的源文件转化成对应的.air文件;
将所有.air文件合并生成所述目标中间文件,其中,所述目标中间文件包括.metallib文件。
在本申请实施例所述的源文件的处理方法中,在所述将所有.air文件合并生成所述目标中间文件之后,所述方法还包括:
在所述本地存储区域中将所述.air文件对应的缓存文件删除。
在本申请实施例所述的源文件的处理方法中,在所述将所有.air文件合并生成所述目标中间文件之后,所述方法还包括:
检测所述本地存储区域中是否存在历史中间文件,若存在,则将所述历史中间文件删除。
在本申请实施例所述的源文件的处理方法中,所述方法还包括:
修改pod库的预设声明文件,以通过修改后的预设声明文件将所述预设的编译脚本设置为所述编译器不可编译的文件。
相应的,本申请实施例另一方面还提供了一种源文件的处理装置,包括:
索引确定模块,用于遍历编译器的编译目录,确定与pod库中的源文件对应的索引文件,其中,所述源文件包括.metal文件;
阻止编译模块,用于向所述编译器隐藏所述索引文件,以阻止所述编译器基于所述索引文件对所述源文件进行编译,得到Metal框架下的原生中间文件;
第一编译模块,用于调用预设的编译脚本对所述源文件进行编译,以得到与所述源文件对应的可自定义文件名的目标中间文件,其中,所述目标中间文件与所述原生中间文件的后缀名相同;
文件封装模块,用于将所述目标中间文件封装成资源文件并存放至资源库中。
相应的,本申请实施例另一方面还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行如上所述的源文件的处理方法:
遍历编译器的编译目录,确定与pod库中的源文件对应的索引文件,其中,所述源文件包括.metal文件;
向所述编译器隐藏所述索引文件,以阻止所述编译器基于所述索引文件对所述源文件进行编译,得到Metal框架下的原生中间文件,所述中间文件用于存储图像渲染参数;
调用预设的编译脚本对所述源文件进行编译,以得到与所述源文件对应的可自定义文件名的目标中间文件,其中,所述目标中间文件与所述原生中间文件的后缀名相同;
将所述目标中间文件封装成资源文件并存放至资源库中。
相应的,本申请实施例另一方面还提供了一种终端设备,包括处理器和存储器,所述存储器存储有多条指令,所述处理器加载所述指令以执行如上所述的源文件的处理方法:
遍历编译器的编译目录,确定与pod库中的源文件对应的索引文件,其中,所述源文件包括.metal文件;
向所述编译器隐藏所述索引文件,以阻止所述编译器基于所述索引文件对所述源文件进行编译,得到Metal框架下的原生中间文件,所述中间文件用于存储图像渲染参数;
调用预设的编译脚本对所述源文件进行编译,以得到与所述源文件对应的可自定义文件名的目标中间文件,其中,所述目标中间文件与所述原生中间文件的后缀名相同;
将所述目标中间文件封装成资源文件并存放至资源库中。
本申请实施例提供了一种源文件的处理方法、装置、介质及设备,该方法遍历编译器的编译目录,确定与pod库中的源文件对应的索引文件,其中,所述源文件包括.metal文件;向所述编译器隐藏所述索引文件,以阻止所述编译器基于所述索引文件对所述源文件进行编译,得到Metal框架下的原生中间文件;调用预设的编译脚本对所述源文件进行编译,以得到与所述源文件对应的可自定义文件名的目标中间文件,其中,所述目标中间文件与所述原生中间文件的后缀名相同;将所述目标中间文件封装成资源文件并存放至资源库中。本申请实施例通过从编译目录中的索引文件入手可以避免编译器将源文件编译成文件名统一的中间文件,进而解决符号化冲突的问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的源文件的处理方法的流程示意图。
图2为本申请实施例提供的源文件的处理装置的结构示意图。
图3为本申请实施例提供的源文件的处理装置的另一种结构示意图。
图4为本申请实施例提供的终端设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请的保护范围。
本申请实施例提供一种源文件的处理方法,所述源文件的处理方法可以应用于终端设备中。所述终端设备可以是智能手机、平板电脑等设备。
Metal是iOS渲染开发的一种主流框架,开发者通常会把的顶点着色器和片段着色器编写进.metal文件中,当开发者自定义.metal文件进行编译时,编译器会将.metal文件编译生成default.metallib文件从而进行渲染操作,但在pod库开发中,每个pod库都会有生成对应的default.metallib文件,当存在多个default.metallib时,编译器便会因为符号化冲突而编译失败。
目前现有技术中,基本都是使用default.metallib文件来进行图像渲染,在仅存在一个default.metallib文件时不会出现编译报错问题,但当需要引进多个default.metallib文件时,就会由于存在多个文件名相同的default.metallib文件,导致编译器编译失败。为了解决该问题,通常需要生成自定义的.metallib,因此需要开发者自行遍历所有.metal文件执行生成命令,且每次都要手动运行,操作过程非常繁琐,给开发者带来不便。
为了解决上述技术问题,本申请实施例提供一种源文件的处理方法。利用本申请实施例提供的源文件的处理方法,能够通过从编译目录中的索引文件入手可以避免编译器将源文件编译成文件名统一的中间文件,进而解决符号化冲突的问题。
请参阅图1,图1为本申请实施例提供的源文件的处理方法的流程示意图。所述源文件的处理方法,应用于终端设备中,所述方法可以包括以下步骤:
步骤101,遍历编译器的编译目录,确定与pod库中的源文件对应的索引文件,其中,所述源文件包括.metal文件。
需要解释的是,pod是CocoaPods的简称,CocoaPods是开发iOS项目的库管理工具,Pod库是将若干个模块集成到磁盘本地的库。简单来说,pod库是一种模块化库,开发者可以将相关业务集成到pod库中,方便多个业务(例如游戏场景中的角色渲染等)同时调用。
Metal指的是iOS渲染开发的主流框架,开发者会把自己的顶点着色器和片段着色器编写进.metal文件里面,.metal文件即所述源文件。其中,顶点着色器决定一个物体的渲染位置,根据顶点坐标进行定位,用于描述顶点需要执行的模型变换、视变换、投影变换、光照处理的顶点着色器程序源代码,通过对顶点着色器进行编译输入顶点数据和纹理坐标等参数进行图元装配;片段着色器用于根据定点着色器的输出,描述片段上执行操作(如颜色混合)的片段着色器程序源代码,通过对片段着色器输入纹理对象等参数计算颜色,获取纹素,往像素点中填充颜色值,输出图像纹理数据渲染到终端设备的显示屏幕上。
当开发者对自定义.metal文件进行编译时,编译器会将.metal文件编译生成default.metallib文件从而进行渲染操作,default.metallib文件即所述中间文件,所述中间文件用于存储图像渲染参数。但在Pod库开发中,每个pod库可能都会有各自对应的default.metallib文件,且每个default.metallib文件的文件名在通过编译器编译后便自动形成统一文件名,当存在一个业务的渲染操作需要调用多个pod库来完成时,多个pod库将生成多个相同文件名的default.metallib文件时,此时编译器便会因为符号化冲突而出现编译失败。如果需要生成自定义的xx.metallib文件,每次修改完.metal文件之后都要自己重新生成一遍xx.metallib,而且Pod库里面的目录可能还无法查看.metal文件,导致操作过程步骤繁琐。
为了解决上述技术问题,在本实施例中,通过pod库遍历编译器的编译目录,确定出编译目录中与源文件对应的所有索引文件,由于编译器是根据建立在编译目录中的索引文件从本地存储磁盘中找到对应的源文件,进而将源文件编译成前缀不可更改的中间文件,即编译器将源文件编译成中间文件的关键在于编译目录中存在索引文件,同时在iOS环境下,编译器在将源文件编译成中间文件这个过程是不可被篡改的,开发者只能从编译目录中对源文件进行操作,因此,通过从编译目录中的索引文件入手可以避免编译器将源文件编译成文件名统一的中间文件,进而解决上述符号化冲突的问题。
步骤102,向所述编译器隐藏所述索引文件,以阻止所述编译器基于所述索引文件对所述源文件进行编译,得到Metal框架下的原生中间文件。
在本实施例中,基于上述步骤101得出的结论,可以通过向编译器隐藏源文件对应的索引文件,以阻止编译器基于索引文件从本地存储磁盘中获取对应的源文件,进而对源文件进行编译得到Metal框架下的原生中间文件。
在一具体实施例中,向编译器隐藏索引文件的过程可以通过从编译目录中查找与源文件对应的索引文件,将索引文件从编译目录中删除,从根本上阻断了编译器从本地存储磁盘中获取源文件的路径,由于编译器无法获取源文件,便无法做到将源文件编译成Metal框架下的原生中间文件,从根本上解决了符号化冲突的问题。
步骤103,调用预设的编译脚本对所述源文件进行编译,以得到与所述源文件对应的可自定义文件名的目标中间文件,其中,所述目标中间文件与所述原生中间文件的后缀名相同。
通过步骤102阻止了编译器生成原生中间文件后,由于中间文件是进行图像渲染的关键文件,因此,在阻止了编译器生成中间文件后,还需要代替编译器完成中间文件的创建操作。在本实施例中,通过调用预设脚本对源文件进行第一编译操作得到文件名可自定义的目标中间文件,其中,目标中间文件与原生中间文件的后缀名相同,即通过第三方工具实现中间文件的创建,脱离编译器本身对中间文件文件名设置的限制。开发者无需任何额外操作,在编译器进行编译前,让pod库自动生成自定义的xx.metallib文件,以取代编译器自动生成的default.metallib文件,从而避免了该pod库潜在产生符号化冲突,让导入pod库的使用者编译失败的情况发生。同时需要确保.metal文件可正常查看和修改,开发者无需进行其他操作,与使用系统自带的default.metallib文件察觉不出异常。
在一些实施例中,从编译目录中查找与源文件对应的索引文件的具体过程包括:
基于源文件的预设关键字符构建正则表达式,从编译目录中匹配与预设关键字符对应的源文件。其中,预设关键字符包括源代码元件的后缀,在本方案中指的是.metal,同时为了确保匹配源文件的预设关键字符是文件后缀,在本实施例中,通过构建正则表达式,能够规定预设关键字符在文本数据中的具体位置,避免匹配错误。
在一具体实施例中,调用预设脚本对源文件进行第一编译操作得到文件名可自定义的目标中间文件的过程包括:
将每个源文件转化成对应的.air文件,将所有.air文件合并成目标中间文件。需要解释的是,.air文件是编译器将.metal文件编译得到xx.metallib文件之前生成的过程文件。
在一些实施例中,在所述将所有.air文件合并生成所述目标中间文件,其中,所述目标中间文件包括.metallib文件之后,所述方法还包括:
在所述本地存储区域中将所述.air文件对应的缓存文件删除,从而减轻本地存储区域的数据存储压力。
在一些实施例中,在所述将所有.air文件合并生成所述目标中间文件,其中,所述目标中间文件包括.metallib文件之后,所述方法还包括:
检测所述本地存储区域中是否存在历史中间文件,若存在,则将所述历史中间文件删除,保留所述目标中间文件。
在本实施例中,当开发者在通过预设脚本生成目标中间文件后,发现目标中间文件存在不足之处,需要修改预设脚本重新生成目标文件,此时,为了避免在先生成的历史中间文件对后续操作造成不可预估的影响,需要将本地存储区域中存在的历史中间文件删除。具体过程包括:
检测本地存储区域中是否存在历史中间文件,若存在历史中间文件,则将历史中间文件删除,保留目标中间文件。
在一些实施例中,在所述将所述索引文件从所述编译目录中删除之后,所述方法还包括:
修改pod库的预设声明文件,以通过修改后的预设声明文件将所述源文件设置为所述编译器不可编译的文件。
由于开发者在通过预设脚本对源文件进行操作的过程中,同样需要在编译目录中进行,因此,为了使源文件在不被编译器自动编译生成原生中间文件的前提下,能够被开发者看到并进行修改操作,在本实施例中,基于pod库的预设声明文件,确定声明文件中的目标声明对象,修改目标声明对象的属性,以将源文件设置为可视而不可编译。
需要进一步解释的是,声明文件采用的是.podspec,是iOS开发的系统工程文件,其作用是可以声明某一文件可编译或不可编译。
在一具体实施例中,以将源文件设置为可视而不可编译的过程包括:
在本地存储区域(即本地存储磁盘)中将源文件转化成第一纯文本数据;当响应于开发者针对pod库的数据更新操作(例如设置操作控件)时,调用第一纯文本数据在编译目录中以文本形式展示,第一纯文本数据在预设声明文件的规定下被设置为可视而不可编译,从而满足源文件不被编译器编译成原生中间文件的同时,不影响开发者对源文件的修改操作,所述修改操作目的在于更改中间文件的前缀名。
在一些实施例中,在所述调用预设的编译脚本对所述源文件进行编译,以得到与所述源文件对应的可自定义文件名的目标中间文件之前,所述方法还包括:
修改pod库的预设声明文件,以通过修改后的预设声明文件将所述预设的编译脚本设置为所述编译器不可编译的文件。
由于预设脚本在本方案中只作为一种工具,不需要被编译,因此,为了避免误触发导致对预设脚本进行编译,使预设脚本失去本身具备的功能,在本实施例中,基于声明文件,在本地存储区域中将预设脚本进行编写得到第二纯文本数据,第二纯文本数据在声明文件的规定下被设置为可视而不可编译。需要进一步解释的是,声明文件采用的是.podspec,是iOS开发的系统工程文件,其作用是可以声明某一文件可编译或不可编译。
步骤104,将所述目标中间文件封装成资源文件并存放至资源库中。
在本实施例中,将得到目标中间文件后,为了让目标中间文件能够被编译器所识别并进行后续的编译操作,需要对目标中间文件进行封装得到待编译文件,所述待编译文件在本方案中采用的是Bundle,其包含代码所需资源的集合,可以将图片、文件等内容集成到里面,直接被编译器读取。
在一些实施例中,在所述将所述目标中间文件封装成资源文件并存放至资源库中之后,所述方法还包括:
通过所述编译器读取封装后的目标中间文件,得到所述目标中间文件中的图像渲染参数,并进行相关的图像渲染操作。
在本实施例中,在得到待编译文件后,还需要将待编译文件通过编译器进行编译操作,得到图像渲染参数以进行图像渲染操作。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
具体实施时,本申请不受所描述的各个步骤的执行顺序的限制,在不产生冲突的情况下,某些步骤还可以采用其它顺序进行或者同时进行。
由上可知,本申请实施例提供的源文件的处理方法遍历编译器的编译目录,确定与pod库中的源文件对应的索引文件,其中,所述源文件包括.metal文件;向所述编译器隐藏所述索引文件,以阻止所述编译器基于所述索引文件对所述源文件进行编译,得到Metal框架下的原生中间文件;调用预设的编译脚本对所述源文件进行编译,以得到与所述源文件对应的可自定义文件名的目标中间文件,其中,所述目标中间文件与所述原生中间文件的后缀名相同;将所述目标中间文件封装成资源文件并存放至资源库中。本申请实施例通过从编译目录中的索引文件入手可以避免编译器将源文件编译成文件名统一的中间文件,进而解决符号化冲突的问题。
本申请实施例还提供一种源文件的处理装置,所述源文件的处理装置可以集成在终端设备中。所述终端设备可以是智能手机、平板电脑等设备。
请参阅图2,图2为本申请实施例提供的源文件的处理装置的结构示意图。源文件的处理装置30可以包括:
索引确定模块31,用于遍历编译器的编译目录,确定与pod库中的源文件对应的索引文件,其中,所述源文件包括.metal文件;
阻止编译模块32,用于向所述编译器隐藏所述索引文件,以阻止所述编译器基于所述索引文件对所述源文件进行编译,得到Metal框架下的原生中间文件;
第一编译模块33,用于调用预设的编译脚本对所述源文件进行编译,以得到与所述源文件对应的可自定义文件名的目标中间文件,其中,所述目标中间文件与所述原生中间文件的后缀名相同;
文件封装模块34,用于将所述目标中间文件封装成资源文件并存放至资源库中。
在一些实施例中,所述装置还包括分配模块,用于获取所述讨论组页面中所包含的目标用户;为每个所述目标用户分配操作所述讨论组页面的权限。
在一些实施例中,所述装置还包括第二编译模块,用于通过所述编译器读取封装后的目标中间文件,得到所述目标中间文件中的图像渲染参数,并进行相关的图像渲染操作。
在一些实施例中,所述阻止编译模块32,用于从所述编译目录中查找与所述源文件对应的索引文件;将所述索引文件从所述编译目录中删除。
在一些实施例中,所述阻止编译模块32,用于基于所述源文件的预设关键字符构建正则表达式,根据所述正则表达式,从所述编译目录中匹配出对应的源文件,并将该源文件对应的索引文件确定为所述与pod库中的源文件对应的索引文件。
在一些实施例中,所述装置还包括属性修改模块,用于基于pod库的预设声明文件,确定所述声明文件中的目标声明对象;修改所述目标声明对象的属性,以将所述源文件设置为可视而不可编译。
在一些实施例中,所述属性修改模块,用于在本地存储区域中将所述源文件转化成第一纯文本数据;在所述编译目录中以文本形式展示所述纯文本数据,并在所述预设声明文件的规定所述纯文本数据不可编译。
在一些实施例中,所述属性修改模块,用于将所述文件夹内的源文件转化成对应的.air文件;将所有.air文件合并生成所述目标中间文件,其中,所述目标中间文件包括.metallib文件。
在一些实施例中,所述装置还包括第一删除模块,用于在所述本地存储区域中将所述.air文件对应的缓存文件删除。
在一些实施例中,所述装置还包括第二删除模块,用于检测所述本地存储区域中是否存在历史中间文件,若存在,则将所述历史中间文件删除,保留所述目标中间文件。
在一些实施例中,所述装置还包括属性设置模块,用于修改pod库的预设声明文件,以通过修改后的预设声明文件将所述预设的编译脚本设置为所述编译器不可编译的文件。
具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现。
由上可知,本申请实施例提供的源文件的处理装置30,通过索引确定模块31遍历编译器的编译目录,确定与pod库中的源文件对应的索引文件,其中,所述源文件包括.metal文件;阻止编译模块32向所述编译器隐藏所述索引文件,以阻止所述编译器基于所述索引文件对所述源文件进行编译,得到Metal框架下的原生中间文件;第一编译模块33调用预设的编译脚本对所述源文件进行编译,以得到与所述源文件对应的可自定义文件名的目标中间文件,其中,所述目标中间文件与所述原生中间文件的后缀名相同;文件封装模块34将所述目标中间文件封装成资源文件并存放至资源库中。
请参阅图3,图3为本申请实施例提供的源文件的处理装置的另一结构示意图,源文件的处理装置30包括存储器120、一个或多个处理器180、以及一个或多个应用程序,其中该一个或多个应用程序被存储于该存储器120中,并配置为由该处理器180执行;该处理器180可以包括索引确定模块31,阻止编译模块32,第一编译模块33,以及文件封装模块34。例如,以上各个部件的结构和连接关系可以如下:
存储器120可用于存储应用程序和数据。存储器120存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器180通过运行存储在存储器120的应用程序,从而执行各种功能应用以及数据处理。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180对存储器120的访问。
处理器180是装置的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器120内的应用程序,以及调用存储在存储器120内的数据,执行装置的各种功能和处理数据,从而对装置进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等。
具体在本实施例中,处理器180会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器120中,并由处理器180来运行存储在存储器120中的应用程序,从而实现各种功能:
索引确定模块31,用于遍历编译器的编译目录,确定与pod库中的源文件对应的索引文件,其中,所述源文件包括.metal文件;
阻止编译模块32,用于向所述编译器隐藏所述索引文件,以阻止所述编译器基于所述索引文件对所述源文件进行编译,得到Metal框架下的原生中间文件;
第一编译模块33,用于调用预设的编译脚本对所述源文件进行编译,以得到与所述源文件对应的可自定义文件名的目标中间文件,其中,所述目标中间文件与所述原生中间文件的后缀名相同;
文件封装模块34,用于将所述目标中间文件封装成资源文件并存放至资源库中。
在一些实施例中,所述装置还包括分配模块,用于获取所述讨论组页面中所包含的目标用户;为每个所述目标用户分配操作所述讨论组页面的权限。
在一些实施例中,所述装置还包括第二编译模块,用于通过所述编译器读取封装后的目标中间文件,得到所述目标中间文件中的图像渲染参数,并进行相关的图像渲染操作。
在一些实施例中,所述阻止编译模块32,用于从所述编译目录中查找与所述源文件对应的索引文件;将所述索引文件从所述编译目录中删除。
在一些实施例中,所述阻止编译模块,用于基于所述源文件的预设关键字符构建正则表达式,根据所述正则表达式,从所述编译目录中匹配出对应的源文件,并将该源文件对应的索引文件确定为所述与pod库中的源文件对应的索引文件。
在一些实施例中,所述装置还包括属性修改模块,用于基于pod库的预设声明文件,确定所述声明文件中的目标声明对象;修改所述目标声明对象的属性,以将所述源文件设置为可视而不可编译。
在一些实施例中,所述属性修改模块,用于在本地存储区域中将所述源文件转化成第一纯文本数据;在所述编译目录中以文本形式展示所述纯文本数据,并在所述预设声明文件的规定所述纯文本数据不可编译。
在一些实施例中,所述属性修改模块,用于将所述文件夹内的源文件转化成对应的.air文件;将所有.air文件合并生成所述目标中间文件,其中,所述目标中间文件包括.metallib文件。
在一些实施例中,所述装置还包括第一删除模块,用于在所述本地存储区域中将所述.air文件对应的缓存文件删除。
在一些实施例中,所述装置还包括第二删除模块,用于检测所述本地存储区域中是否存在历史中间文件,若存在,则将所述历史中间文件删除,保留所述目标中间文件。
在一些实施例中,所述装置还包括属性设置模块,用于修改pod库的预设声明文件,以通过修改后的预设声明文件将所述预设的编译脚本设置为所述编译器不可编译的文件。
本申请实施例还提供一种终端设备。所述终端设备可以是智能手机、电脑、平板电脑等设备。
请参阅图4,图4示出了本申请实施例提供的终端设备的结构示意图,该终端设备可以用于实施上述实施例中提供的源文件的处理方法。该终端设备1200可以为智能手机或平板电脑。
如图4所示,终端设备1200可以包括RF(Radio Frequency,射频)电路110、包括有一个或一个以上(图中仅示出一个)计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、传输模块170、包括有一个或者一个以上(图中仅示出一个)处理核心的处理器180以及电源190等部件。本领域技术人员可以理解,图4中示出的终端设备1200结构并不构成对终端设备1200的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路110用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。RF电路110可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。RF电路110可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。
存储器120可用于存储软件程序以及模块,如上述实施例中源文件的处理方法对应的程序指令/模块,处理器180通过运行存储在存储器120内的软件程序以及模块,从而执行各种功能应用以及数据处理,可以根据终端设备所处的当前场景来自动选择振动提醒模式来进行源文件的处理,既能够保证会议等场景不被打扰,又能保证用户可以感知来电,提升了终端设备的智能性。存储器120可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器120可进一步包括相对于处理器180远程设置的存储器,这些远程存储器可以通过网络连接至终端设备1200。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端设备1200的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid CrystalDisplay,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图4中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输出功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。
终端设备1200还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端设备1200移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端设备1200还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与终端设备1200之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端设备1200的通信。
终端设备1200通过传输模块170(例如Wi-Fi模块)可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图4示出了传输模块170,但是可以理解的是,其并不属于终端设备1200的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是终端设备1200的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端设备1200的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;在一些实施例中,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
终端设备1200还包括给各个部件供电的电源190,在一些实施例中,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端设备1200还可以包括摄像头(如前置摄像头、后置摄像头)、蓝牙模块等,在此不再赘述。具体在本实施例中,终端设备1200的显示单元140是触摸屏显示器,终端设备1200还包括有存储器120,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器120中,且经配置以由一个或者一个以上处理器180执行一个或者一个以上程序包含用于进行以下操作的指令:
索引确定指令,用于遍历编译器的编译目录,确定与pod库中的源文件对应的索引文件,其中,所述源文件包括.metal文件;
阻止编译指令,用于向所述编译器隐藏所述索引文件,以阻止所述编译器基于所述索引文件对所述源文件进行编译,得到Metal框架下的原生中间文件;
第一编译指令,用于调用预设的编译脚本对所述源文件进行编译,以得到与所述源文件对应的可自定义文件名的目标中间文件,其中,所述目标中间文件与所述原生中间文件的后缀名相同;
文件封装指令,用于将所述目标中间文件封装成资源文件并存放至资源库中。
在一些实施例中,所述程序还包括分配指令,用于获取所述讨论组页面中所包含的目标用户;为每个所述目标用户分配操作所述讨论组页面的权限。
在一些实施例中,所述程序还包括第二编译指令,用于通过所述编译器读取封装后的目标中间文件,得到所述目标中间文件中的图像渲染参数,并进行相关的图像渲染操作。
在一些实施例中,所述阻止编译指令,用于从所述编译目录中查找与所述源文件对应的索引文件;将所述索引文件从所述编译目录中删除。
在一些实施例中,所述阻止编译指令,用于基于所述源文件的预设关键字符构建正则表达式,根据所述正则表达式,从所述编译目录中匹配出对应的源文件,并将该源文件对应的索引文件确定为所述与pod库中的源文件对应的索引文件。
在一些实施例中,所述程序还包括属性修改指令,用于基于pod库的预设声明文件,确定所述声明文件中的目标声明对象;修改所述目标声明对象的属性,以将所述源文件设置为可视而不可编译。
在一些实施例中,所述属性修改指令,用于在本地存储区域中将所述源文件转化成第一纯文本数据;在所述编译目录中以文本形式展示所述纯文本数据,并在所述预设声明文件的规定所述纯文本数据不可编译。
在一些实施例中,所述属性修改指令,用于将所述文件夹内的源文件转化成对应的.air文件;将所有.air文件合并生成所述目标中间文件,其中,所述目标中间文件包括.metallib文件。
在一些实施例中,所述程序还包括第一删除指令,用于在所述本地存储区域中将所述.air文件对应的缓存文件删除。
在一些实施例中,所述程序还包括第二删除指令,用于检测所述本地存储区域中是否存在历史中间文件,若存在,则将所述历史中间文件删除,保留所述目标中间文件。
在一些实施例中,所述程序还包括属性设置指令,用于修改pod库的预设声明文件,以通过修改后的预设声明文件将所述预设的编译脚本设置为所述编译器不可编译的文件。
本申请实施例还提供一种终端设备。所述终端设备可以是智能手机、平板电脑等设备。
由上可知,本申请实施例提供了一种终端设备1200,所述终端设备1200执行以下步骤:遍历编译器的编译目录,确定与pod库中的源文件对应的索引文件,其中,所述源文件包括.metal文件;向所述编译器隐藏所述索引文件,以阻止所述编译器基于所述索引文件对所述源文件进行编译,得到Metal框架下的原生中间文件;调用预设的编译脚本对所述源文件进行编译,以得到与所述源文件对应的可自定义文件名的目标中间文件,其中,所述目标中间文件与所述原生中间文件的后缀名相同;将所述目标中间文件封装成资源文件并存放至资源库中。本申请实施例通过从编译目录中的索引文件入手可以避免编译器将源文件编译成文件名统一的中间文件,进而解决符号化冲突的问题。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,所述计算机执行上述任一实施例所述的源文件的处理方法。
需要说明的是,对本申请所述源文件的处理方法而言,本领域普通测试人员可以理解实现本申请实施例所述源文件的处理方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读存储介质中,如存储在终端设备的存储器中,并被该终端设备内的至少一个处理器执行,在执行过程中可包括如所述源文件的处理方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)等。
对本申请实施例的所述源文件的处理装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。
以上对本申请实施例所提供的源文件的处理方法、装置、计算机可读存储介质及终端设备进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (13)
1.一种源文件的处理方法,其特征在于,包括:
遍历编译器的编译目录,确定与pod库中的源文件对应的索引文件,其中,所述源文件包括.metal文件;
向所述编译器隐藏所述索引文件,以阻止所述编译器基于所述索引文件对所述源文件进行编译,得到Metal框架下的原生中间文件;
调用预设的编译脚本对所述源文件进行编译,以得到与所述源文件对应的可自定义文件名的目标中间文件,其中,所述目标中间文件与所述原生中间文件的后缀名相同;
将所述目标中间文件封装成资源文件并存放至资源库中。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
通过所述编译器读取封装后的目标中间文件,得到所述目标中间文件中的图像渲染参数,并进行相关的图像渲染操作。
3.如权利要求1所述的方法,其特征在于,所述向所述编译器隐藏所述索引文件,包括:
从所述编译目录中查找与所述源文件对应的索引文件;
将所述索引文件从所述编译目录中删除。
4.如权利要求1所述的方法,其特征在于,所述遍历编译器的编译目录,确定与pod库中的源文件对应的索引文件,包括:
获取与所述pod库中的源文件对应的预设关键字符;
基于所述预设关键字符构建对应的正则表达式;
根据所述正则表达式,从所述编译目录中匹配出对应的源文件,并将该源文件对应的索引文件确定为所述与pod库中的源文件对应的索引文件。
5.如权利要求3所述的方法,其特征在于,在所述将所述索引文件从所述编译目录中删除之后,所述方法还包括:
修改pod库的预设声明文件,以通过修改后的预设声明文件将所述源文件设置为所述编译器不可编译的文件。
6.如权利要求5所述的方法,其特征在于,所述修改pod库的预设声明文件,以通过修改后的预设声明文件将所述源文件设置为所述编译器不可编译的文件,包括:
在本地存储区域中将所述源文件转化成纯文本数据;
在所述编译目录中以文本形式展示所述纯文本数据,并在所述预设声明文件的规定所述纯文本数据不可编译。
7.如权利要求1所述的方法,其特征在于,所述调用预设的编译脚本对所述源文件进行编译,以得到与所述源文件对应的可自定义文件名的目标中间文件,包括:
将pod库中的源文件存储至本地存储区域中的一文件夹;
将所述文件夹内的源文件转化成对应的.air文件;
将所有.air文件合并生成所述目标中间文件,其中,所述目标中间文件包括.metallib文件。
8.如权利要求7所述的方法,其特征在于,在所述将所有.air文件合并生成所述目标中间文件之后,所述方法还包括:
在所述本地存储区域中将所述.air文件对应的缓存文件删除。
9.如权利要求7所述的方法,其特征在于,在所述将所有.air文件合并生成所述目标中间文件之后,所述方法还包括:
检测所述本地存储区域中是否存在历史中间文件,若存在,则将所述历史中间文件删除。
10.如权利要求1所述的方法,其特征在于,所述方法还包括:
修改pod库的预设声明文件,以通过修改后的预设声明文件将所述预设的编译脚本设置为所述编译器不可编译的文件。
11.一种源文件的处理装置,其特征在于,包括:
索引确定模块,用于遍历编译器的编译目录,确定与pod库中的源文件对应的索引文件,其中,所述源文件包括.metal文件;
阻止编译模块,用于向所述编译器隐藏所述索引文件,以阻止所述编译器基于所述索引文件对所述源文件进行编译,得到Metal框架下的原生中间文件;
第一编译模块,用于调用预设的编译脚本对所述源文件进行编译,以得到与所述源文件对应的可自定义文件名的目标中间文件,其中,所述目标中间文件与所述原生中间文件的后缀名相同;
文件封装模块,用于将所述目标中间文件封装成资源文件并存放至资源库中。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1-10任一项所述的源文件的处理方法。
13.一种终端设备,其特征在于,包括处理器和存储器,所述存储器存储有多条指令,所述处理器加载所述指令以执行权利要求1-10任一项所述的源文件的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111493140.3A CN114168148A (zh) | 2021-12-08 | 2021-12-08 | 源文件的处理方法、装置、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111493140.3A CN114168148A (zh) | 2021-12-08 | 2021-12-08 | 源文件的处理方法、装置、介质及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114168148A true CN114168148A (zh) | 2022-03-11 |
Family
ID=80484560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111493140.3A Pending CN114168148A (zh) | 2021-12-08 | 2021-12-08 | 源文件的处理方法、装置、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114168148A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116774988A (zh) * | 2023-08-16 | 2023-09-19 | 易方信息科技股份有限公司 | 解除框架包模式符号依赖的方法及装置 |
-
2021
- 2021-12-08 CN CN202111493140.3A patent/CN114168148A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116774988A (zh) * | 2023-08-16 | 2023-09-19 | 易方信息科技股份有限公司 | 解除框架包模式符号依赖的方法及装置 |
CN116774988B (zh) * | 2023-08-16 | 2024-02-27 | 易方信息科技股份有限公司 | 解除框架包模式符号依赖的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107038112B (zh) | 应用界面的调试方法及装置 | |
CN112052008B (zh) | 代码检查方法、装置、计算机设备及计算机可读存储介质 | |
CN106502703B (zh) | 一种函数调用方法和装置 | |
CN108595218B (zh) | 一种加载系统动态库的方法和装置 | |
CN114327688B (zh) | 基于微前端的数据处理方法、框架、存储介质及终端设备 | |
CN110058850B (zh) | 一种应用的开发方法、装置以及存储介质 | |
CN110865837B (zh) | 一种进行系统升级的方法和终端 | |
CN112116690B (zh) | 视频特效生成方法、装置及终端 | |
CN110471701B (zh) | 图像渲染的方法、装置、存储介质及电子设备 | |
CN113867848A (zh) | 图形接口的调用方法、装置、设备及可读存储介质 | |
CN112084747A (zh) | 一种资源管理方法、装置、电子设备及存储介质 | |
CN106648316A (zh) | 一种解锁方法及终端 | |
CN111737100A (zh) | 数据获取方法、装置、设备及存储介质 | |
CN114168148A (zh) | 源文件的处理方法、装置、介质及设备 | |
CN106919458B (zh) | Hook目标内核函数的方法及装置 | |
CN108664389B (zh) | 一种测试方法、装置及终端 | |
CN113038141A (zh) | 视频帧处理方法及电子设备 | |
CN109145598B (zh) | 脚本文件的病毒检测方法、装置、终端及存储介质 | |
CN108132817B (zh) | 对象管理方法及装置 | |
CN115600213A (zh) | 基于应用程序的漏洞管理方法、装置、介质及设备 | |
CN115469937A (zh) | 插件运行方法、装置、电子设备及存储介质 | |
CN110032394B (zh) | 一种无源码文件的分析方法、装置和存储介质 | |
CN113934340A (zh) | 一种终端设备和进度条显示方法 | |
CN114489429A (zh) | 一种终端设备、长截屏方法和存储介质 | |
CN109413714B (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 |