CN108073403A - 转换应用的方法及计算装置 - Google Patents
转换应用的方法及计算装置 Download PDFInfo
- Publication number
- CN108073403A CN108073403A CN201711120923.0A CN201711120923A CN108073403A CN 108073403 A CN108073403 A CN 108073403A CN 201711120923 A CN201711120923 A CN 201711120923A CN 108073403 A CN108073403 A CN 108073403A
- Authority
- CN
- China
- Prior art keywords
- application
- bag
- class
- computing device
- original application
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- 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
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- 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/53—Decompilation; Disassembly
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开一种转换应用的方法及计算装置,根据本发明的一实施例的应用转换方法在如下的计算装置中执行,包括:一个以上的处理器;以及存储器,存储有通过所述一个以上的处理器运行的一个以上的程序,其中,所述方法包括如下步骤:对原始应用包进行解压;从被解压的所述原始应用包提取应用运行区域;以及向所述运行区域并入包括一个以上的修改类的代理类集合。
Description
技术领域
本发明的实施例涉及一种转换应用的技术。
背景技术
企业移动管理(EMM;Enterprise Mobility Management)是一种包括现有的移动设备管理(MDM;Mobile Device Management)以及移动应用管理(MAM;Mobile ApplicationManagement)功能的企业用移动安全(Mobile Security)解决方案中的一个。尤其,随着最近移动终端的使用被普遍化,使职员个人终端能够用于业务中的自带设备(BYOD;BringYour Own Device)、将公司提供的特定终端同时用于移动业务以及个人用途的公司授权,个人使用(COPE;Company-issued,Personal Enabled)等移动趋势(Mobile Trends)正在扩散。
但是,随着将个人终端同时用于业务和个人用途,对企业机密泄露的担忧正在增加。并且,因此对终端的无线网络(WiFi)、相机控制、GPS控制、通信控制等硬件控制功能以及业务所需的电邮、信使(Messenger)、公司内部系统等企业用应用本身进行动态控制的要求也在增加。
为了使企业用应用与EMM等形成关联,需要使用从EMM提供的API而另行制造企业用应用。但是在这种情况下,需要将现有的多种企业用应用全部基于EMM重新制造,因此发生成本以及时间方面的问题。因此,需要一种以无需另行制造企业用应用且能够包括EMM等追加功能的方式有效地转换应用的方案。
[现有技术文献]
韩国公开专利公报第10-2014-0016897号(2014.02.10)
发明内容
本发明的实施例用于提供如下的技术方案:以使现有的应用额外地包括所需的政策以及功能的方式转换应用。
根据示例性的实施例,提供如下的方法,所述方法在如下的计算装置中执行,包括:一个以上的处理器;以及存储器,存储有通过所述一个以上的处理器运行的一个以上的程序,其中,所述方法包括如下步骤:对原始应用包进行解压;从被解压的所述原始应用包提取应用运行区域;以及向所述运行区域并入包括一个以上的修改类的代理类集合。
并入所述代理类集合的步骤可以构成为,将所述运行区域解析(parsing),并向被解析的所述运行区域的类定义字段并入所述代理类集合。
所述代理类集合还可以包括:一个以上的应用编程接口,被利用于一个以上的所述修改类的运行;以及一个以上的政策信息,在所述应用编程接口中得以参照。
所述应用编程接口可以包括:程序运行代码,用于从预设的远程服务器接收所述政策信息并更新。
所述方法在执行并入所述代理类集合的步骤以后,还可以包括如下步骤:将在所述运行区域内参照的类中的至少一部分代替为所述代理类集合内的所述修改类;以及生成包括代替为所述修改类的所述运行区域的修改应用包。
所述方法在执行对所述原始应用包进行解压的步骤以后,还包括如下步骤:从被解压的所述原始应用包提取与所述原始应用包的驱动相关的信息文件;以及变更所述信息文件内所述原始应用包的应用包名。
所述方法在执行对所述原始应用包进行解压的步骤以后,还包括如下步骤:从被解压的所述原始应用包提取所述原始应用包的图标文件;以及将所述图标文件替换为代替图标文件。
根据另一示例性实施例,包括:一个以上的处理器;存储器;以及一个以上的程序,所述一个以上的程序存储于所述存储器,构成为通过所述一个以上的处理器运行,所述一个以上的程序包括:用于对原始应用包进行解压的指令;用于从被解压的所述原始应用包提取应用运行区域的指令;以及用于向所述运行区域并入(merge)包括一个以上的修改类的代理类集合的指令。
用于并入所述代理类集合的指令可以构成为,将所述运行区域解析(parsing),并向被解析的所述运行区域的类定义字段并入所述代理类集合。
所述代理类集合还可以包括:一个以上的应用编程接口,被利用于一个以上的修改类的运行;一个以上的政策信息,在所述应用编程接口中得以参照。
所述应用编程接口可以包括:程序运行代码,从预设的远程服务器接收所述政策信息而用于更新。
所述一个以上的程序在执行用于并入(merge)所述代理类集合的指令以后,还执行如下指令:用于将在所述运行区域内参照的类中的至少一部分代替为所述代理类集合内的所述修改类的指令;以及用于生成包括用所述修改类代替的所述运行区域的修改应用包。
所述一个以上的程序在执行用于对所述原始应用包进行解压(decompose)的指令以后,还执行如下指令:用于从被解压的所述原始应用包提取与所述原始应用包的驱动相关的信息文件的指令;以及用于变更所述信息文件内所述原始应用包的应用包名的指令。
所述一个以上的程序在执行用于对所述原始应用包进行解压(decompose)的指令以后,还执行如下指令:用于从被解压的所述原始应用包提取所述原始应用包的图标文件的指令;以及用于将所述图标文件替换为代替图标文件。
根据本发明的实施例,可以将应用的源代码的修改最小化,并有效地转换为符合EMM目的且安全性得到加强的应用。
并且,根据本发明的实施例,在转换应用时,可以同时变更应用包的名称,从而能够在相同计算装置的内部同时设置未被转换的应用以及被转换的应用。
并且,根据本发明的实施例,在转换应用时,可以同时变更应用的图标,从而用户能够在视觉上识别是否为被转换的应用。
附图说明
图1是用于举例说明包括适合使用于示例性实施例的计算装置的计算环境的框图。
图2是用于说明安卓应用包的文件格式的示例图。
图3是用于说明根据本发明的一实施例的应用转换方法的流程图。
图4是用于说明根据本发明的一实施例的代理类(Proxy class)集合的框图。
符号说明
400:代理类集合 402:修改类
404:应用编程接口 406:政策信息
408:网络 410:政策服务器
具体实施方式
以下,参照附图而对本发明的具体实施方式进行说明。以下的详细说明是为了有助于全面理解本说明书中记载的方法、装置和/或系统而提供的。然而,这仅仅是示例,本发明并不局限于此。
在对本发明的实施例进行说明的过程中,如果判断为对有关本发明的公知技术的具体说明有可能对本发明的主旨造成不必要的混乱,则省略其详细说明。另外,后述的术语均为考虑到本发明中的功能而定义的术语,其可能根据使用者、运用者的意图或惯例等而不同。因此,需要以贯穿整个说明书的内容为基础而对其下定义。在详细说明中使用的术语只用于记载本发明的实施例而并非旨在限定本发明。除非明确不同地使用,单数形态的表述包括复数形态的含义。在本说明书中,“包括”或“具有”之类的术语用于指代某种特性、数字、步骤、操作、要素及它们一部分或组合,不应被解释为排除所记载项之外的一个或一个以上的其他特性、数字、步骤、操作、要素及它们一部分或组合的存在性或可存在性。
图1是用于举例说明包括适合使用于示例性实施例的计算装置的计算环境10的框图。在图示的实施例中,各个组件可以具有除以下记载的内容以外的不同的功能及能力,也可以包括除以下记载的组件以外的额外的组件。
图示的计算环境10包括计算装置12。在一实施例中,计算装置12可以是根据本发明的实施例的应用转换装置。计算装置12包含至少一个处理器14、计算机可读存储介质16以及通信总线(bus)18。处理器14可使计算装置12根据上文中所提到的示例性的实施例而操作。例如,处理器14可运行存储于计算机可读存储介质16的一个以上的程序。所述一个以上的程序可以包含一个以上的计算机可执行指令,所述计算机可执行指令可构成为:在由处理器14来运行的情况下,使计算装置12运行根据示例性的实施例的操作。
计算机可读存储介质16以能够存储计算机可执行指令乃至程序代码、程序数据和/或其他适合的形式的信息的方式构成。存储于计算机可读存储介质16中的程序20包含可由处理器14运行的指令集。在一实施例中,计算机可读存储介质16可以是存储器(随机存取存储器等易失性存储器、非易失性存储器或者这些存储器的适当的组合)、一个以上的磁盘存储设备、光盘存储设备、闪速存储设备、除此之外的可由计算装置12访问并能够存储所期望的信息的其他形式的存储介质或者这些的适合的组合。
通信总线18用于将包括处理器14、计算机可读存储介质16的计算装置12的其他多样的组件相互连接。
计算装置12还可以包含提供用于一个以上的输入输出装置24的接口的一个以上的输入输出接口22以及一个以上的网络通信接口26。输入输出接口22以及网络通信接口26连接到通信总线18。输入输出装置24可以通过输入输出接口22而连接到计算装置12的其他组件。示例性的输入输出装置24可以包括:指点装置(鼠标或者触控板(track pad)等)、键盘、触摸输入装置(触摸板或者触摸屏等)、语音或者声音输入装置、多样的种类的传感器装置和/或拍摄装置等的输入装置;和/或诸如显示装置、打印机、扬声器和/或网卡(networkcard)等的输出装置。示例性的输入输出装置24可以作为用于构成计算装置12的一组件而被包含在计算装置12的内部,也可以作为区别于计算装置12的独立的装置而连接到计算装置12。
根据本发明的实施例的计算装置12是用于在已存在的原始应用添加附加功能或政策而转换所述原始应用的装置。在本发明的实施例中,计算装置12构成为对作为转换对象的原始应用包(application package)进行解压而提取其中的应用的运行区域,并在所述运行区域并入与附加功能相关的代理类集合,然后将所述原始应用包重新结合而生成修改后的应用包。在本发明的实施例中,代理(proxy)类集合表示包括如下的类的集合:用于欲添加到应用的附加功能的接口以及原始应用包的特定类所参照的类。例如,在所述附加功能是与EMM相关的功能的情况下,所述代理类集合可以是将用于EMM的接口以及原始应用包的特定类所参照的类包含在内的类的集合。在本发明的实施例中,代理类如同服务器的代理服务器那样,构成为在呼叫应用内部的逻辑时,如果附加功能所需的或者依照附加功能的功能操作时使该功能通过对应的类,并将所述类称为“代理”类。
例如,根据本发明的实施例的计算装置12可以为了在不考虑安全功能而制成的企业用应用中附加EMM等安全功能而被使用。在此情况下,企业等可以不重新制成以往使用的应用而容易生成具有安全功能的企业用应用。但是,本发明的实施例不限于上述的安全等特定用途,可以在现有的应用中应用多种附加功能或政策时无限制地得到使用。
在本发明的实施例中,应用包是应用的发布类型中的一个,其包括应用的运行代码以及所述应用的运行所需的附加数据(运行环境、附加内容等)而构成。在以下的说明中,为了便于说明,以美国谷歌公司公开的安卓应用包(Android Application Package)的格式(APK文件格式)为基准而对本发明的实施例进行说明。但是,需要留意本发明的实施例不限于特定种类的文件格式。
图2是用于说明安卓应用包的文件格式的示例图。安卓应用以.apk形态的文件生成,且对应文件被压缩成zip格式。如图所示,安卓应用包包括7个区域。对各个区域的功能的说明如下。
AndroidManifest.xml中,安卓应用的驱动所需的信息以二进制XML文件形态被存储。所述信息包括应用包名、应用的名字、版本信息、访问权限等。
META-INF区域是存储应用的电子签名信息(APK Signing)信息等的目录。
Assets区域是存储对应的应用中使用的文件或数据的目录。
resources.arsc包括对应的应用中使用的文本或多国语言文本信息等。
lib区域是存储对应的应用中使用的第三方或外部程序库的目录。
classes.dex是包括对应的应用的运行代码的区域。在安卓应用包中,classes.dex文件将应用的源代码以能够在谷歌的Dalvic虚拟机(Dalvic VirtualMachine)中驱动的dex文件形式编译而生成。
res区域是存储对应的应用中使用的图像或照片等内容、图标文件等的目录。
图3是用于说明根据本发明的一实施例的应用转换方法300的流程图。图3中示出的方法例如可以被如下的计算装置12运行,包括:一个以上的处理器以及存储有一个以上的通过所述一个以上的处理器而运行的程序的存储器。在图示的流程图中,将所述方法分为多个步骤而进行了记载,但是至少一部分步骤可以交换顺序而被执行,或者与其他步骤结合而一起被执行,或者被省略,或者被分为细分的步骤而被执行,或者附加未示出的一个以上的步骤而被执行。
在步骤302中,计算装置12将原始应用包解压(decompose)。例如,在所述原始应用包为APK文件的情况下,计算装置12将原始应用包解压而对所述APK文件进行解压,并据此而能够得到如所述图2中说明的物理目录以及文件。
在步骤304中,计算装置12从被解压的所述原始应用包提取应用运行区域。一实施例中,所述应用运行区域是包括应用的运行代码的区域,并且可以构成为二进制代码或文件形态。例如,在所述原始应用包为APK文件的情况下,被提取的应用运行区域为classes.dex。
在步骤306中,计算装置12解析(parsing)所述应用运行区域。例如,在所述应用运行区域为classes.dex文件的情况下,计算装置12参照所述classes.dex文件的文件格式而解析所述classes.dex文件。classes.dex文件的格式由谷歌公开并提供,在解析该文件的情况下,可以掌握对应的应用的类(class)以及方法(method)结构等。
在步骤308中,计算装置12在解析的应用运行区域并入代理类集合。
图4是用于说明根据本发明的一实施例的代理类集合400的框图。根据本发明的一实施例的代理类集合400是包括欲添加到应用的附加功能的程序运行代码,其构成为与应用运行区域相同的格式。例如,在所述应用运行区域为classes.dex文件的情况下,所述代理类集合400也可以构成为dex文件形式。
如图4所示,根据本发明的一实施例的代理类集合400包括修改类402、应用编程接口(API)404、政策信息406。其中,修改类402是用于运行欲添加到应用的附加功能的类。
修改类402可以构成为,代替在变更对象应用中参照(import)的类中的一个以上,或者代替变更对象应用中参照的类的上位类(super class)中的一个以上。例如,修改类402可以将关于在计算装置12中记录(write)数据的功能的类代替,从而改为应用并不将数据存储在应用目录中,而是将其存储在预设的加密存储器(secure storage)。并且,在另一示例中,修改类402可以代替与控制计算装置12的相机的功能相关的类。在此情况下,修改类402感测应用访问相机功能,并掌握当前计算装置12的位置,从而只有计算装置12没有位于预设安全区域(特定建筑物内部等)的情况下,才会允许访问相机功能。根据本发明的一实施例的代理类集合400可以包括一个以上的如上所述的修改类402。
应用编程接口404是用于控制所述一个以上的修改类402的运行所需的功能的接口。并且,政策信息406是所述应用编程接口404所参照的信息。例如,在应用编程接口404运行与计算装置12或者使用计算装置12的用户的安全相关的功能的情况下,政策信息406可以是运行对应安全功能所需的安全政策信息。如图所示,政策信息406可以通过网络408从远程的政策服务器410被接收而得到存储。应用编程接口404可以包括用于从政策服务器410接收政策信息406并更新的程序运行代码。
计算装置12可以构成为,向被解析的所述运行区域的类定义字段(class_def)并入代理类集合400。
再次回到图3,在步骤310中,计算装置12将所述运行区域内参照的类中的至少一部分代替为所述代理类集合400内的修改类402。例如,假设所述运行区域参照(import)如下的类。
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
...
计算装置12可以将所述类中的android.app.Activity以及importandroid.widget.TextView类分别代替为作为修改类402的android.app.wrapped.Activity以及android.widget.wrapped.TextView。用程序代码表示的话如下。
import android.app.wrapped.Activity;
import android.os.Bundle;
import android.widget.wrapped.TextView;
...
如上所述,在将所述运行区域内参照的类中的至少一部分代替为所述代理类集合400内的修改类402的情况下,可以最小化运行区域的代码修改,并将所需的额外功能有效地添加到应用中。
然后,在步骤312中,计算装置12重新生成经过所述308步骤以及所述310步骤而被转换的运行区域。例如,在所述应用运行区域为classes.dex文件的情况下,计算装置12反映变更的内容而将classes.dex文件编辑(redacting),从而重新生成被转换的classes.dex文件。
在步骤314中,计算装置12生成修改应用包。例如,在所述原始应用包为APK文件的情况下,计算装置12可以将现有的classes.dex文件代替为在所述312步骤中生成的classes.dex文件,并重新压缩构成APK文件的文件以及目录,从而可以生成所述修改应用包。生成的所述修改应用包可以利用预设的签名密钥(signing key)而得到签名(signing)。
另外,根据本发明的一实施例的应用转换方法300还可以额外地包括变更原始应用包的应用包名和图标的步骤。变更原始应用的应用包名以及图标的步骤在执行302步骤之后执行,可以与上述的304至312步骤并列地执行,或者在所述304至312步骤执行前后执行。
首先,对变更原始应用包的应用包名的步骤进行说明的话如下。
在步骤316中,计算装置12从302步骤中被解压的原始应用包提取关于所述原始应用包的驱动的信息文件。例如,在所述原始应用包为APK文件的情况下,所述信息文件可以是AndroidManifest.xml文件。
在步骤318中,计算装置12变更所述信息文件内所述原始应用包的应用包名。例如,假设所述信息文件内的应用包名被记载为如下。
package com.abc.emm.main;
在此情况下,计算装置12例如可以将作为应用包名的com.abc.emm.main变更为com.abc.wrapped.emm.main。将其用程序代码表示的话如下。
package com.abc.wrapped.emm.main;
对于普通计算系统而言,在应用包名相同的情况下,无法被设置。因此,在如本发明的实施例地变更被转换的应用的应用包名的情况下,可以在一个装置内同时使用未被转换的应用与被转换的应用。例如,对于相同电邮应用而言,可以按将未被转换的原始应用用于个人用途,并将被转换的应用用于业务用途的方式进行区分而使用。
然后,对变更应用包的图标的步骤进行说明的话如下。
在步骤320中,计算装置12从在302步骤中解压的所述原始应用包提取所述原始应用包的图标文件。例如,在所述原始应用包为APK文件的情况下,所述图标文件可以被存储于res目录。
在步骤322中,计算装置12将所述图标文件代替为被转换的应用用图标文件。
在如同本发明的实施例地变更被转换的应用的图标的情况下,在一个装置内同时设置未被转换的应用与被转换的应用的环境下,用户可以通过视觉区分各个应用。
经过上述过程而使应用包名被转换的文件信息以及被代替的图标被包含于在所述步骤314中重新结合的应用包。
另外,本发明的实施例可以包括计算机可读记录介质,其包括用于在计算机上运行本说明书中记载的方法的程序。所述计算机可读记录介质可以单独地或者组合地包括程序命令、本地数据文件、本地数据结构等。所述介质可以是为本发明而特别地设计并构成的介质,或者可以是在计算机软件领域中通常能够被使用的介质。计算机可读记录介质的示例包括:磁介质,如硬盘、软盘以及磁带等;光记录介质,如CD-ROM、DVD等;磁-光介质,如软盘等;以及ROM、RAM、闪存等为了储存并运行程序命令而特别构成的硬件装置。作为程序命令的示例,不仅包括如利用编译器制作的计算机语言代码,还可以包括可利用解释器等而由计算机运行的高级语言代码。
以上,通过具有代表性的实施例而对本发明进行了详细的说明,然而在本发明所属的技术领域中具有基本知识的人员可以理解上述的实施例可在不脱离本发明的范围的限度内实现多种变形。因此,本发明的权利范围不应局限于上述的实施例,本发明的权利范围需要根据权利要求书的范围以及与该权利要求书的范围均等的范围来确定。
Claims (12)
1.一种转换应用的方法,该方法在计算装置中执行,所述计算装置包括:一个以上的处理器;以及存储器,存储有通过所述一个以上的处理器运行的一个以上的程序,
其中,所述方法包括如下步骤:
对原始应用包进行解压;
从被解压的所述原始应用包提取应用运行区域;以及
向所述运行区域并入包括一个以上的修改类的代理类集合。
2.如权利要求1所述的转换应用的方法,其中,
所述代理类集合还包括:
一个以上的应用编程接口,被利用于一个以上的所述修改类的运行;以及
一个以上的政策信息,在所述应用编程接口中得以参照。
3.如权利要求2所述的转换应用的方法,其中,
所述应用编程接口包括:
程序运行代码,用于从预设的远程服务器接收所述政策信息并更新。
4.如权利要求1所述的转换应用的方法,其中,
在执行并入所述代理类集合的步骤以后,还包括如下步骤:
将在所述运行区域内参照的类中的至少一部分代替为所述代理类集合内的所述修改类;以及
生成包括代替为所述修改类的所述运行区域的修改应用包。
5.如权利要求1所述的转换应用的方法,其中,
在执行对所述原始应用包进行解压的步骤以后,还包括如下步骤:
从被解压的所述原始应用包提取与所述原始应用包的驱动相关的信息文件;以及
变更所述信息文件内所述原始应用包的应用包名。
6.如权利要求1所述的转换应用的方法,其中,
在执行对所述原始应用包进行解压的步骤以后,还包括如下步骤:
从被解压的所述原始应用包提取所述原始应用包的图标文件;以及
将所述图标文件替换为代替图标文件。
7.一种计算装置,包括:
一个以上的处理器;
存储器;以及
一个以上的程序,
所述一个以上的程序被存储于所述存储器,构成为通过所述一个以上的处理器运行,
所述一个以上的程序包括:
用于对原始应用包进行解压的指令;
用于从被解压的所述原始应用包提取应用运行区域的指令;以及
用于向所述运行区域并入包括一个以上的修改类的代理类集合的指令。
8.如权利要求7所述的计算装置,其中,
所述代理类集合还包括:
一个以上的应用编程接口,被利用于一个以上的所述修改类的运行;
一个以上的政策信息,在所述应用编程接口中得以参照。
9.如权利要求8所述的计算装置,其中,
所述应用编程接口包括:
程序运行代码,从预设的远程服务器接收所述政策信息而用于更新。
10.如权利要求7所述的计算装置,其中,
在执行用于并入所述代理类集合的指令以后,还执行如下指令:
用于将在所述运行区域内参照的类中的至少一部分代替为所述代理类集合内的所述修改类的指令;以及
用于生成包括用所述修改类代替的所述运行区域的修改应用包的指令。
11.如权利要求7所述的计算装置,其中,
在执行用于对所述原始应用包进行解压的指令以后,还执行如下指令:
用于从被解压的所述原始应用包提取与所述原始应用包的驱动相关的信息文件的指令;以及
用于变更所述信息文件内所述原始应用包的应用包名的指令。
12.如权利要求7所述的计算装置,其中,
在执行用于对所述原始应用包进行解压的指令以后,还执行如下指令:
用于从被解压的所述原始应用包提取所述原始应用包的图标文件的指令;以及
用于将所述图标文件替换为代替图标文件的指令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2016-0150960 | 2016-11-14 | ||
KR1020160150960A KR102471221B1 (ko) | 2016-11-14 | 2016-11-14 | 애플리케이션 변환 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108073403A true CN108073403A (zh) | 2018-05-25 |
Family
ID=62106825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711120923.0A Withdrawn CN108073403A (zh) | 2016-11-14 | 2017-11-14 | 转换应用的方法及计算装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10579374B2 (zh) |
KR (1) | KR102471221B1 (zh) |
CN (1) | CN108073403A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102323276B1 (ko) | 2021-03-18 | 2021-11-05 | 세종대학교산학협력단 | 애플리케이션 변환 방법 및 장치 |
KR102614060B1 (ko) | 2023-11-21 | 2023-12-15 | 인프라닉스 주식회사 | 일반 애플리케이션을 서비스형 소프트웨어 애플리케이션으로 변환하기 위한 자동 분석 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101548273A (zh) * | 2005-04-19 | 2009-09-30 | 微软公司 | 确定可演示文件的区域以及参考目录和引用的可扩展标记语言模式 |
US20120297341A1 (en) * | 2010-02-16 | 2012-11-22 | Screenovate Technologies Ltd. | Modified Operating Systems Allowing Mobile Devices To Accommodate IO Devices More Convenient Than Their Own Inherent IO Devices And Methods For Generating Such Systems |
CN104778382A (zh) * | 2014-01-13 | 2015-07-15 | 三星电子株式会社 | 对应用包重新签名的设备和方法和运行应用包的终端设备 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010014868A1 (en) * | 1997-12-05 | 2001-08-16 | Frederick Herz | System for the automatic determination of customized prices and promotions |
US6348927B1 (en) * | 1998-02-27 | 2002-02-19 | Oracle Cor | Composing a description of a virtual 3D world from values stored in a database and generated by decomposing another description of a virtual 3D world |
WO1999064944A2 (en) * | 1998-06-08 | 1999-12-16 | Microsoft Corporation | Compression of time-dependent geometry |
US20040098154A1 (en) * | 2000-10-04 | 2004-05-20 | Mccarthy Brendan | Method and apparatus for computer system engineering |
US6944606B2 (en) * | 2001-06-29 | 2005-09-13 | National Instruments Corporation | Measurements expert system and method for generating high-performance measurements software drivers |
US7721280B1 (en) * | 2001-07-16 | 2010-05-18 | West Corporation | Automated file delivery systems and methods |
KR100509650B1 (ko) * | 2003-03-14 | 2005-08-23 | 주식회사 안철수연구소 | 코드 삽입 기법을 이용한 악성 스크립트 감지 방법 |
WO2005022417A2 (en) * | 2003-08-27 | 2005-03-10 | Ascential Software Corporation | Methods and systems for real time integration services |
US20080094403A1 (en) * | 2003-11-19 | 2008-04-24 | Reuven Bakalash | Computing system capable of parallelizing the operation graphics processing units (GPUs) supported on a CPU/GPU fusion-architecture chip and one or more external graphics cards, employing a software-implemented multi-mode parallel graphics rendering subsystem |
US8010701B2 (en) * | 2005-12-19 | 2011-08-30 | Vmware, Inc. | Method and system for providing virtualized application workspaces |
US20070282778A1 (en) * | 2006-06-05 | 2007-12-06 | International Business Machines Corporation | Policy-based management system with automatic policy selection and creation capabilities by using singular value decomposition technique |
US7836429B2 (en) * | 2006-12-19 | 2010-11-16 | International Business Machines Corporation | Data synchronization mechanism for change-request-management repository interoperation |
US8819164B2 (en) * | 2007-08-31 | 2014-08-26 | Microsoft Corporation | Versioning management |
US8321856B2 (en) * | 2008-09-18 | 2012-11-27 | Sap Ag | Supplying software updates synchronously |
US8060857B2 (en) * | 2009-01-31 | 2011-11-15 | Ted J. Biggerstaff | Automated partitioning of a computation for parallel or other high capability architecture |
US8898658B2 (en) * | 2010-06-29 | 2014-11-25 | Cisco Technology, Inc. | Dynamic web resource provisioning |
US8549656B2 (en) | 2011-02-11 | 2013-10-01 | Mocana Corporation | Securing and managing apps on a device |
US8918448B2 (en) * | 2012-05-11 | 2014-12-23 | International Business Machines Corporation | Application component decomposition and deployment |
CN103324471B (zh) * | 2012-10-22 | 2018-05-15 | 中兴通讯股份有限公司 | 动态修改应用启动图标的方法、消息的发送方法、终端 |
CN103268284B (zh) * | 2013-05-14 | 2017-01-18 | 北京控制工程研究所 | 一种星敏感器在轨维护方法 |
US9389890B2 (en) * | 2014-03-27 | 2016-07-12 | Microsoft Technology Licensing, Llc | Hierarchical directives-based management of runtime behaviors |
US20160124744A1 (en) * | 2014-04-03 | 2016-05-05 | Empire Technology Development Llc | Sub-packaging of a packaged application including selection of user-interface elements |
US9772828B2 (en) * | 2014-04-22 | 2017-09-26 | Oracle International Corporation | Structural identification of dynamically generated, pattern-instantiation, generated classes |
CN106462430B (zh) * | 2016-08-29 | 2020-06-02 | 北京小米移动软件有限公司 | 应用升级包获取方法及装置 |
-
2016
- 2016-11-14 KR KR1020160150960A patent/KR102471221B1/ko active IP Right Grant
-
2017
- 2017-11-14 US US15/812,341 patent/US10579374B2/en active Active
- 2017-11-14 CN CN201711120923.0A patent/CN108073403A/zh not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101548273A (zh) * | 2005-04-19 | 2009-09-30 | 微软公司 | 确定可演示文件的区域以及参考目录和引用的可扩展标记语言模式 |
US20120297341A1 (en) * | 2010-02-16 | 2012-11-22 | Screenovate Technologies Ltd. | Modified Operating Systems Allowing Mobile Devices To Accommodate IO Devices More Convenient Than Their Own Inherent IO Devices And Methods For Generating Such Systems |
CN104778382A (zh) * | 2014-01-13 | 2015-07-15 | 三星电子株式会社 | 对应用包重新签名的设备和方法和运行应用包的终端设备 |
Also Published As
Publication number | Publication date |
---|---|
US10579374B2 (en) | 2020-03-03 |
KR102471221B1 (ko) | 2022-11-28 |
US20180136932A1 (en) | 2018-05-17 |
KR20180053872A (ko) | 2018-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210120044A1 (en) | Systems and Methods for Secure Policies-Based Information Governance | |
JP6318266B2 (ja) | ウェブページへの拡張機能変更を管理するシステム | |
US9891810B2 (en) | Collaboration for network-shared documents | |
US11087082B1 (en) | System and method for content sharing in enterprise content management | |
CN105103127A (zh) | 基于编译器的混淆 | |
Almutairi et al. | K-means clustering using homomorphic encryption and an updatable distance matrix: secure third party data clustering with limited data owner interaction | |
US10521609B2 (en) | Securely transferring data over a computer network | |
CN108268284A (zh) | 应用程序转换装置及方法 | |
US20150113506A1 (en) | Method and system for adaptive loading of application | |
CN108984158A (zh) | 计算装置及在该计算装置中执行的方法 | |
CN108073403A (zh) | 转换应用的方法及计算装置 | |
US9665723B2 (en) | Watermarking detection and management | |
WO2024152742A1 (zh) | 富文本编辑方法、装置、存储介质及计算机设备 | |
US10229093B2 (en) | Method and system for implementing a common data interface to web services | |
US20120317033A1 (en) | Generating business process objects | |
US20180234463A1 (en) | Autonomous security policy decision and implementation across heterogeneous it environments | |
CN104657631B (zh) | 应用的渠道信息的处理方法及装置 | |
KR102418961B1 (ko) | 인공지능 기반의 보안 관리 시스템 및 방법 | |
CN116628773A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
US20120204159A1 (en) | Methods and System for Managing Assets in Programming Code Translation | |
US11023476B2 (en) | Testing pairings to determine whether they are publically known | |
CN102111433A (zh) | 信息处理装置、信息处理方法、以及计算机程序 | |
US20200394152A1 (en) | Digital design application plugin for content updates and delivery | |
US20240126577A1 (en) | Visualization of application capabilities | |
US11388219B2 (en) | Interactive data transfer |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180525 |