CN106648638A - 一种基于python的R.java文件的优化方法及优化系统 - Google Patents

一种基于python的R.java文件的优化方法及优化系统 Download PDF

Info

Publication number
CN106648638A
CN106648638A CN201611129939.3A CN201611129939A CN106648638A CN 106648638 A CN106648638 A CN 106648638A CN 201611129939 A CN201611129939 A CN 201611129939A CN 106648638 A CN106648638 A CN 106648638A
Authority
CN
China
Prior art keywords
java
resource
python
files
code source
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
CN201611129939.3A
Other languages
English (en)
Other versions
CN106648638B (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 Magic Crystal Intelligent 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 CN201611129939.3A priority Critical patent/CN106648638B/zh
Publication of CN106648638A publication Critical patent/CN106648638A/zh
Application granted granted Critical
Publication of CN106648638B publication Critical patent/CN106648638B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4434Reducing the memory space required by the program code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4441Reducing the execution time required by the program code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于python的R.java文件的优化方法,涉及计算机文件优化技术领域,包括创建python字典对象,遍历R.java文件目录,获取全部资源名称和与资源名称对应的资源值并存储于python字典对象中;创建路径列表,获取应用程序中所有的java代码源文件的路径并存储于路径列表中;遍历路径列表,通过java代码源文件的路径打开对应的java代码源文件,在python字典对象中查找java代码源文件调用资源的资源名称对应的资源值,将java代码源文件中的资源名称替换成资源值;清空R.java文件的内容。本发明还公开了一种基于python的R.java文件的优化系统。

Description

一种基于python的R.java文件的优化方法及优化系统
技术领域
本发明涉及计算机文件优化技术领域,具体涉及一种基于python的R.java文件的优化方法及优化系统。
背景技术
在安卓开发过程中,随着系统版本的更新与迭代,应用程序的体积会越来越大,出于用户流量费用的考虑,优化应用程序的安装包大小,从而减少用户的流量成为一项亟需解决的技术问题。
目前主流优化应用程序安装包大小的方案有两种,一种是清理无用的so文件。应用程序的安装包中为了兼容性会放入多个处理器架构的so文件,导致应用程序安装包变大,但是其实大多数处理器都只兼容其中一种处理器架构,因而只能使用一种处理器架构的so文件。于是在编译时期将其他处理器的so文件过滤掉,能够减少应用程序安装包的大小。其缺点就是对于没有使用native层接口的应用程序,没有优化的空间。
另外一种方案就是编译混淆,通过混淆器更改文件名为更小的字符。其缺陷是,对于应用中使用了反射相关的类不能进行混淆,不然应用在运行其会找不到该类。
同时,在安卓系统中一个应用的dex文件的支持的方法数的数量有上限,如果超过上限需要将应用拆分成多个dex文件,应用启动时会额外的花时间组合多个dex文件,导致应用的启动变慢。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种基于python的R.java文件的优化方法及优化系统,优化应用程序安装包大小,减少应用程序的dex文件分包数量。
为达到以上目的,本发明采取的技术方案是:一种基于python的R.java文件的优化方法,所述R.java文件用于存储应用程序中java代码源文件调用资源的资源名称和资源值,该方法包括:
步骤S1,创建python字典对象,遍历R.java文件目录,获取全部资源名称和与资源名称对应的资源值并存储于所述python字典对象中;
步骤S2,创建路径列表,获取应用程序中所有的java代码源文件的路径并存储于所述路径列表中;
步骤S3,遍历所述路径列表,通过所述java代码源文件的路径打开对应的java代码源文件,在python字典对象中查找所述java代码源文件调用资源的资源名称对应的资源值,将java代码源文件中的资源名称替换成资源值;
步骤S4,清空R.java文件的内容。
在上述技术方案的基础上,R.java文件的路径在应用程序的安装包名的直接目录下。
在上述技术方案的基础上,所述资源值为常量或变量值。
在上述技术方案的基础上,步骤S1的具体过程包括:
S101,找到R.java文件的目录;
S102,遍历R.java文件的目录,获得其资源的资源名称;
S103,遍历全部资源,获取其资源值;
S104,将资源名称和资源值存储到所述python字典对象中。
在上述技术方案的基础上,遍历R.java文件的目录,获得其资源的资源名称包括:
通过python的open函数打开R.java文件,然后调用python的readline函数遍历R.java文件的每一行,通过python的find函数找出R.java文件下包含资源值的全部资源,通过python的replace函数获得资源的资源名称。
在上述技术方案的基础上,遍历全部资源,获取其资源值包括:
遍历R.java文件下遍历全部资源,调用python的replace函数获得全部资源里包含的资源值。
在上述技术方案的基础上,步骤S2的具体过程包括:
S201,获取应用程序中所有的java代码源文件的目录,扫描出其下所有的子目录和文件;
S202,判断扫描出的文件中哪些是java代码源文件;
S203,将扫描出的文件中的java代码源文件经过的全部目录拼成该java代码源文件的路径,并将该java代码源文件的路径存到路径列表中。
在上述技术方案的基础上,步骤S3的具体过程包括:
S301,遍历所述路径列表,通过python的open函数所述java代码源文件的路径打开对应的java代码源文件,
S302,然后在python字典对象中查找所述java代码源文件调用资源的资源名称对应的资源值
S303,使用python的replace函数将java代码源文件中的资源名称替换成资源值。
在上述技术方案的基础上,步骤S4的具体过程包括:通过python的open函数打开R.java文件,然后调用python的replace函数将R.java文件中所有内容替换为空。
本发明还公开了一种基于python的R.java文件的优化系统,包括:
资源值获取模块,用于创建python字典对象,遍历R.java文件目录,获取全部资源名称和与资源名称对应的资源值并存储于所述python字典对象中;
路径列表模块,用于创建路径列表,获取应用程序中所有的java代码源文件的路径并存储于所述路径列表中;
替换模块,用于遍历所述路径列表,通过所述java代码源文件的路径打开对应的java代码源文件,在python字典对象中查找所述java代码源文件调用资源的资源名称对应的资源值,将java代码源文件中的资源名称替换成资源值;
清空模块,用于清空R.java文件。
与现有技术相比,本发明的优点在于:
(1)本发明将java代码源文件引用的资源替换成R.java文件中保存的资源名称对应的资源值,从而可以清空R.java文件的内容,实现优化应用程序安装包大小。
(2)由于清空了R.java文件的内容,有效减少了dex文件的成员数量,从而减少应用程序的dex文件分包数量。
附图说明
图1为本发明实施例中一种基于python的R.java文件的优化方法的流程示意图;
图2为本发明实施例中一种基于python的R.java文件的优化方法的步骤S1流程示意图;
图3为本发明实施例中一种基于python的R.java文件的优化方法的步骤S2流程示意图;
图4为本发明实施例中一种基于python的R.java文件的优化方法的步骤S3流程示意图;
图5为本发明实施例中一种基于python的R.java文件的优化系统的结构示意图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
参见图1所示,本发明实施例提供一种基于python的R.java文件的优化方法:所述R.java文件用于存储应用程序中java代码源文件调用资源的资源名称和资源值,该方法包括:
步骤S1,创建python字典对象,遍历R.java文件目录,获取全部资源名称和与资源名称对应的资源值并存储于所述python字典对象中;
步骤S2,创建路径列表,获取应用程序中所有的java代码源文件的路径并存储于所述路径列表中;
步骤S3,遍历所述路径列表,通过所述java代码源文件的路径打开对应的java代码源文件,在python字典对象中查找所述java代码源文件调用资源的资源名称对应的资源值,将java代码源文件中的资源名称替换成资源值;
步骤S4,清空R.java文件的内容。
所述资源值为常量或变量值。
参见图2所示,步骤S1的具体过程包括:
S101,找到R.java文件的目录;
R.java文件的路径在应用程序的安装包名的直接目录下。例如,一个应用的包名是com.adc.xxx,其R.java文件在应用目录路径为com/adc/xxx/R.java,所以R.JAVA文件路径格式就是pkg/R.java,在所有android应用中R.java文件所生成的位置固定,应用程序的安装包名的直接目录下。这里定位好后为后续优化做准备。
S102,遍历R.java文件的目录,获得其资源的资源名称;
S103,遍历全部资源,获取其资源值;
S104,将资源名称和资源值存储到所述python字典对象中。
遍历R.java文件的目录,获得其资源的资源名称包括:
通过python的open函数打开R.java文件,然后调用python的read line函数遍历R.java文件的每一行,通过python的find函数找出R.java文件下包含资源值的全部资源,通过python的replace函数获得资源的资源名称。
例如,首先通过python的open函数打开R.JAVA文件,参数就是1中的R.java文件路径,然后调用python的readline函数遍历R.java文件的每一行,R.java文件下内部类声明前缀是“publicstaticfinalclass”,比如drawabe类的声明就是“publicstaticfinalclassdrawabe”,当读取每一行时先通过python的find函数判断当前行是否包含字符串“publicstaticfinalclass”,当包含表明此处有一个内部类,然后通过replace函数将将“publicstaticfinalclass”替换成空值,再次调用replace函数将“{”字符置为空“{”是java类的语法字符用来包裹java类的数据体,当替换完成后所得的字符串就是该资源的类名。
遍历全部资源,获取其资源值包括:
遍历R.java文件下遍历全部资源,调用python的replace函数获得全部资源里包含的资源值。
例如,当接下来字符串前缀是“public static final int”或者是“publicstatic int”表示是drawabe下的资源常量和变量,同样调用python的replace函数将“public static final int”或者“public static int”替换成空字符串,然后得到一个等于格式的字符串,比如前面的a常量在drawabe静态内部类下的声明是“public staticfinal int a=1”,那么前面方法将得到字符串“a=1”,然后调用python的split函数将“a=1”以字符“=”拆分,得到2个子串“a”和“1”,其中a就是成员名(这里可以命名为fieldname),当前资源的全称就是R.classname.Fieldname,1就是资源值。然后将资源的全称作为python字典对象的key,资源值(前面例子的1)作为字典的值添加到字典中。
参见图3所示,步骤S2的具体过程包括:
S201,获取应用程序中所有的java代码源文件的目录,扫描出其下所有的子目录和文件;
S202,判断扫描出的文件中哪些是java代码源文件;
S203,将扫描出的文件中的java代码源文件经过的全部目录拼成该java代码源文件的路径,并将该java代码源文件的路径存到路径列表中。
例如,首先通过外部传入java代码源文件的目录,然后通过python的os.listdir函数扫描出其下所有的文件或者目录,当其下是目录时,需要递归查询,直到找到其所有子目录下的文件,os.listdir返回的就是一个子文件或者目录名,所以需要通过python的os.path.join函数将目录和文件名拼接成一个完整的文件或者目录的绝对路径,然后调用python提供的os.path.isdir函数判断该路径是否是目录,是目录就递归,当读取到是文件时,还需要判断该文件是否以.java文件为后缀,因为java源文件目录下不能保证全部就是纯java文件,判断后缀可以使用python的os.path.splitext函数,该方法返回一个文件名和后缀名的数组,所以数组的偏移为0就是不带后缀的文件名,偏移为1就是该文件的后缀,然后通过后缀比较,如果是.java就表明是需要读取的文件.最后将遍历得到的所有java代码源文件存到一个路径列表中。这里是为了获取所有可能使用R.java文件中资源常量和变量的类,将其统计,后续进行批量替换。
参见图4所示,步骤S3的具体过程包括:
S301,遍历所述路径列表,通过python的open函数所述java代码源文件的路径打开对应的java代码源文件;
S302,然后在python字典对象中查找所述java代码源文件调用资源的资源名称对应的资源值;
S303,使用python的replace函数将java代码源文件中的资源名称替换成资源值。
例如,遍历路径列表,获取其保存的java代码源文件路径,通过open函数将其打开,然后对每个java代码源文件进行遍历python字典对象,通过调用python的replace函数将资源名成其真实的常量或者变量值,比如resdict中存储了资源对<R.drawabe.a,1>,当一个java文件b.java中查找到R.drawabe.a时,将R.drawabe.a替换成1依次轮训遍历,直到将所有的java代码源文件中资源的引用全部替换为止。当资源id全部替换完成后,其实R.java文件已经没有什么作用了,为接下来清空R.java文件做准备。这里是直接替换掉所有使用到的R中的资源,从而减少对R.java文件的依赖。
步骤S4的具体过程包括:通过python的open函数打开R.java文件,然后调用python的replace函数将R.java文件中所有内容替换为空。
虽然R.java文件中的变量与常量已经没有用处,R.java文件也没有用途,但是这里并不能直接对其进行删除,因为有些java代码源文件可能存在引用了R.java文件如果删除就会导致项目无法编译通过,这里可以直接对R.java文件进行清空操作,使其成一个空实现,没有任何的内容,这里直接通过python的open的函数对其进行打开,然后调用replace函数将所有内容替换成字符串“public static final class R{}”就行。从而完全去掉R.java文件所消耗的大小当外部已经没有使用R.java文件的资源后,R.java文件已经没有作用,所以直接作为空类的实现只是为了保持兼容性。
参见图5所示,本发明还公开了一种基于python的R.java文件的优化系统,包括:
资源值获取模块,用于创建python字典对象,遍历R.java文件目录,获取全部资源名称和与资源名称对应的资源值并存储于所述python字典对象中;
路径列表模块,用于创建路径列表,获取应用程序中所有的java代码源文件的路径并存储于所述路径列表中;
替换模块,用于遍历所述路径列表,通过所述java代码源文件的路径打开对应的java代码源文件,在python字典对象中查找所述java代码源文件调用资源的资源名称对应的资源值,将java代码源文件中的资源名称替换成资源值;
清空模块,用于清空R.java文件。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (10)

1.一种基于python的R.java文件的优化方法,所述R.java文件用于存储应用程序中java代码源文件调用资源的资源名称和资源值,其特征在于,该方法包括:
步骤S1,创建python字典对象,遍历R.java文件目录,获取全部资源名称和与资源名称对应的资源值并存储于所述python字典对象中;
步骤S2,创建路径列表,获取应用程序中所有的java代码源文件的路径并存储于所述路径列表中;
步骤S3,遍历所述路径列表,通过所述java代码源文件的路径打开对应的java代码源文件,在python字典对象中查找所述java代码源文件调用资源的资源名称对应的资源值,将java代码源文件中的资源名称替换成资源值;
步骤S4,清空R.java文件的内容。
2.如权利要求1所述的一种基于python的R.java文件的优化方法,其特征在于:R.java文件的路径在应用程序的安装包名的直接目录下。
3.如权利要求1所述的一种基于python的R.java文件的优化方法,其特征在于:所述资源值为常量或变量值。
4.如权利要求1所述的一种基于python的R.java文件的优化方法,其特征在于:步骤S1的具体过程包括:
S101,找到R.java文件的目录;
S102,遍历R.java文件的目录,获得其资源的资源名称;
S103,遍历全部资源,获取其资源值;
S104,将资源名称和资源值存储到所述python字典对象中。
5.如权利要求4所述的一种基于python的R.java文件的优化方法,其特征在于:遍历R.java文件的目录,获得其资源的资源名称包括:
通过python的open函数打开R.java文件,然后调用python的readline函数遍历R.java文件的每一行,通过python的find函数找出R.java文件下包含资源值的全部资源,通过python的replace函数获得资源的资源名称。
6.如权利要求4所述的一种基于python的R.java文件的优化方法,其特征在于:遍历全部资源,获取其资源值包括:
遍历R.java文件下遍历全部资源,调用python的replace函数获得全部资源里包含的资源值。
7.如权利要求1所述的一种基于python的R.java文件的优化方法,其特征在于:步骤S2的具体过程包括:
S201,获取应用程序中所有的java代码源文件的目录,扫描出其下所有的子目录和文件;
S202,判断扫描出的文件中哪些是java代码源文件;
S203,将扫描出的文件中的java代码源文件经过的全部目录拼成该java代码源文件的路径,并将该java代码源文件的路径存到路径列表中。
8.如权利要求1所述的一种基于python的R.java文件的优化方法,其特征在于:步骤S3的具体过程包括:
S301,遍历所述路径列表,通过python的open函数所述java代码源文件的路径打开对应的java代码源文件,
S302,然后在python字典对象中查找所述java代码源文件调用资源的资源名称对应的资源值
S303,使用python的replace函数将java代码源文件中的资源名称替换成资源值。
9.如权利要求1所述的一种基于python的R.java文件的优化方法,其特征在于:步骤S4的具体过程包括:通过python的open函数打开R.java文件,然后调用python的replace函数将R.java文件中所有内容替换为空。
10.一种基于python的R.java文件的优化系统,其特征在于,包括:
资源值获取模块,用于创建python字典对象,遍历R.java文件目录,获取全部资源名称和与资源名称对应的资源值并存储于所述python字典对象中;
路径列表模块,用于创建路径列表,获取应用程序中所有的java代码源文件的路径并存储于所述路径列表中;
替换模块,用于遍历所述路径列表,通过所述java代码源文件的路径打开对应的java代码源文件,在python字典对象中查找所述java代码源文件调用资源的资源名称对应的资源值,将java代码源文件中的资源名称替换成资源值;
清空模块,用于清空R.java文件。
CN201611129939.3A 2016-12-09 2016-12-09 一种基于python的R.java文件的优化方法及优化系统 Active CN106648638B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611129939.3A CN106648638B (zh) 2016-12-09 2016-12-09 一种基于python的R.java文件的优化方法及优化系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611129939.3A CN106648638B (zh) 2016-12-09 2016-12-09 一种基于python的R.java文件的优化方法及优化系统

Publications (2)

Publication Number Publication Date
CN106648638A true CN106648638A (zh) 2017-05-10
CN106648638B CN106648638B (zh) 2019-08-23

Family

ID=58824324

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611129939.3A Active CN106648638B (zh) 2016-12-09 2016-12-09 一种基于python的R.java文件的优化方法及优化系统

Country Status (1)

Country Link
CN (1) CN106648638B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109324792A (zh) * 2018-10-09 2019-02-12 深圳点猫科技有限公司 一种基于编程语言的路由构建自动化方法及电子设备
CN109816007A (zh) * 2019-01-18 2019-05-28 北京智游网安科技有限公司 应用程序文字信息的行业分类方法、存储介质及终端设备
CN110059214A (zh) * 2019-04-01 2019-07-26 北京奇艺世纪科技有限公司 一种图像资源处理方法及装置
CN110659022A (zh) * 2019-08-19 2020-01-07 浙江邦盛科技有限公司 一种基于Java自动调用Python脚本的方法
CN110750632A (zh) * 2019-10-21 2020-02-04 闽江学院 一种改进的中文alice智能问答方法及系统
CN113987379A (zh) * 2021-10-19 2022-01-28 山东百盟信息技术有限公司 网页渲染引擎中日志模块Histogram的优化方法和装置
CN114003834A (zh) * 2021-10-19 2022-02-01 山东百盟信息技术有限公司 网页渲染引擎中日志模块Trace_Log的优化方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103544414A (zh) * 2013-10-25 2014-01-29 苏州通付盾信息技术有限公司 一种Android系统应用的深度代码混淆方法
CN105204823A (zh) * 2014-05-29 2015-12-30 腾讯科技(深圳)有限公司 生成应用程序安装包的方法及装置
CN105915623A (zh) * 2016-05-20 2016-08-31 努比亚技术有限公司 应用安装包处理装置及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103544414A (zh) * 2013-10-25 2014-01-29 苏州通付盾信息技术有限公司 一种Android系统应用的深度代码混淆方法
CN105204823A (zh) * 2014-05-29 2015-12-30 腾讯科技(深圳)有限公司 生成应用程序安装包的方法及装置
CN105915623A (zh) * 2016-05-20 2016-08-31 努比亚技术有限公司 应用安装包处理装置及方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109324792A (zh) * 2018-10-09 2019-02-12 深圳点猫科技有限公司 一种基于编程语言的路由构建自动化方法及电子设备
CN109324792B (zh) * 2018-10-09 2022-03-11 深圳点猫科技有限公司 一种基于编程语言的路由构建自动化方法及电子设备
CN109816007A (zh) * 2019-01-18 2019-05-28 北京智游网安科技有限公司 应用程序文字信息的行业分类方法、存储介质及终端设备
CN110059214A (zh) * 2019-04-01 2019-07-26 北京奇艺世纪科技有限公司 一种图像资源处理方法及装置
CN110659022A (zh) * 2019-08-19 2020-01-07 浙江邦盛科技有限公司 一种基于Java自动调用Python脚本的方法
CN110659022B (zh) * 2019-08-19 2020-09-04 浙江邦盛科技有限公司 一种基于Java自动调用Python脚本的方法
CN110750632A (zh) * 2019-10-21 2020-02-04 闽江学院 一种改进的中文alice智能问答方法及系统
CN110750632B (zh) * 2019-10-21 2022-09-09 闽江学院 一种改进的中文alice智能问答方法及系统
CN113987379A (zh) * 2021-10-19 2022-01-28 山东百盟信息技术有限公司 网页渲染引擎中日志模块Histogram的优化方法和装置
CN114003834A (zh) * 2021-10-19 2022-02-01 山东百盟信息技术有限公司 网页渲染引擎中日志模块Trace_Log的优化方法和装置

Also Published As

Publication number Publication date
CN106648638B (zh) 2019-08-23

Similar Documents

Publication Publication Date Title
CN106648638A (zh) 一种基于python的R.java文件的优化方法及优化系统
US7783626B2 (en) Pipelined architecture for global analysis and index building
US9430224B2 (en) Hot-update method and apparatus
US10452716B2 (en) Optimizing complex path endpoint resolution
JP5437557B2 (ja) 検索処理方法及び検索システム
CN103870588B (zh) 一种在数据库中使用的方法及装置
US11645245B2 (en) Container software discovery and cataloging
US20090254575A1 (en) Apparatus and method for manipulating nested archive files and folders
CN103473099A (zh) 一种移动终端的软件升级方法和系统
CN111176717B (zh) 生成安装包的方法、装置及电子设备
US10394939B2 (en) Resolving outdated items within curated content
CN103473367B (zh) 浏览器中使用本地应用程序的方法和网页浏览器
US20220236964A1 (en) Semantic code search based on augmented programming language corpus
CN105404688A (zh) 搜索方法和搜索设备
CN108268609A (zh) 一种文件路径的建立、访问方法和装置
US20110167088A1 (en) Efficient immutable syntax representation with incremental change
US8327329B2 (en) Application dehydration, synchronization, and rehydration
KR101648047B1 (ko) 호환 오픈소스 소프트웨어 추천 시스템 및 방법
CN105468412A (zh) 动态打包方法和装置
CN105488198A (zh) 一种应用程序的推荐方法及终端
US20160147547A1 (en) Metadata-based class loading using a content repository
US10318262B2 (en) Smart hashing to reduce server memory usage in a distributed system
US8875113B2 (en) Managing JAVA class paths
US10606805B2 (en) Object-level image query and retrieval
US11675772B2 (en) Updating attributes in data

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230810

Address after: Room 403, No.1 Youyi Road, Huangpu District, Guangzhou City, Guangdong Province, 510000 (office only)

Patentee after: Guangzhou Magic Crystal Intelligent Technology Co.,Ltd.

Address before: 430000 East Lake Development Zone, Wuhan City, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building

Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd.