KR101112697B1 - Computer readable recording medium containing a program for converting SK-VM and WIPI-JAVA applications to Android applications - Google Patents

Computer readable recording medium containing a program for converting SK-VM and WIPI-JAVA applications to Android applications Download PDF

Info

Publication number
KR101112697B1
KR101112697B1 KR1020100034068A KR20100034068A KR101112697B1 KR 101112697 B1 KR101112697 B1 KR 101112697B1 KR 1020100034068 A KR1020100034068 A KR 1020100034068A KR 20100034068 A KR20100034068 A KR 20100034068A KR 101112697 B1 KR101112697 B1 KR 101112697B1
Authority
KR
South Korea
Prior art keywords
api
android
application
resource
bytecode
Prior art date
Application number
KR1020100034068A
Other languages
Korean (ko)
Other versions
KR20110114754A (en
Inventor
류혁곤
정성훈
Original Assignee
주식회사 인프라웨어테크놀러지
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 주식회사 인프라웨어테크놀러지 filed Critical 주식회사 인프라웨어테크놀러지
Priority to KR1020100034068A priority Critical patent/KR101112697B1/en
Publication of KR20110114754A publication Critical patent/KR20110114754A/en
Application granted granted Critical
Publication of KR101112697B1 publication Critical patent/KR101112697B1/en

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/44Encoding
    • G06F8/447Target code generation
    • 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/448Execution paradigms, e.g. implementations of programming paradigms

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

본 발명은 기 개발된 에스케이브이엠 및 위피자바 응용프로그램을 추가 개발 과정 없이 안드로이드 플랫폼에서 동작할 수 있도록 안드로이드 응용프로그램으로 변환한다. 이를 위하여, 본 발명은, 에스케이브이엠 및 위피자바 응용프로그램의 바이트코드로 구성된 클래스 파일과 리소스 파일을 변환하는 단계; 그 변환된 바이트코드로 구성된 클래스 파일에 OEM API와 MIDP API를 래핑하는 단계; OEM API와 MIDP API가 래핑된 클래스 파일과 위 변환된 리소스 파일을 안드로이드 응용프로그램으로 생성하는 단계;로 이루어진다. 본 발명에 의하면 에스케이브이엠 및 위피자바 응용프로그램을 안드로이드 개발 환경에서 새로 개발하거나 추가 개발 과정 없이 안드로이드 응용프로그램으로 변환하여 기 개발된 응용프로그램의 재사용성을 높이고 개발 자원의 낭비를 줄일 수 있는 효과가 있다.The present invention converts the pre-developed escaping and Wifijaba application to the Android application to operate on the Android platform without further development process. To this end, the present invention comprises the steps of: converting the class file and the resource file consisting of bytecode of the escape and Wi-Fi application Java; Wrapping the OEM API and the MIDP API in a class file composed of the converted bytecodes; Comprising the OEM API and MIDP API wrapped class file and the above converted resource file to create an Android application; consists of. According to the present invention, the application of Escape and WifiJava is newly developed in the Android development environment or converted into an Android application without any further development process, thereby increasing the reusability of previously developed applications and reducing waste of development resources. have.

Description

에스케이브이엠 및 위피자바 응용프로그램을 안드로이드 응용프로그램으로 변환하는 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 {Computer readable recording medium containing a program for converting SK-VM and WIPI-JAVA applications to Android applications}Computer readable recording medium containing a program for converting SK-VM and WIPI-JAVA applications to Android applications}

본 발명은 컴퓨터 프로그램 기술에 관한 것으로, 더욱 자세하게는 에스케이브이엠(SK-VM) 및 위피자바(WIPI-JAVA) 응용프로그램을 안드로이드 응용프로그램으로 변환하는 프로그램에 관련된 것이다.
TECHNICAL FIELD The present invention relates to computer program technology, and more particularly, to a program for converting an SK-VM and a WIPI-JAVA application into an Android application.

안드로이드 플랫폼은 구글이 주도하는 OHA(Open Handset Alliance)에서 공개한 오픈소스 플랫폼으로 리눅스 커널, 가상머신(VM), 프레임워크, 응용프로그램을 모두 포함하는 소프트웨어 패키지를 의미한다. The Android platform is an open source platform published by Google-led Open Handset Alliance (OHA), which means a software package that includes the Linux kernel, virtual machine (VM), framework, and applications.

현재 안드로이드 플랫폼에 대한 사용자의 기대가 높고 단말 제조사와 이동통신 서비스사의 호응도 높기에 안드로이드 플랫폼을 탑재하는 휴대용 단말기가 점점 늘어나고 있다. 그에 따라, 안드로이드 응용프로그램 시장이 활성화되기 시작하였고 양질의 안드로이드 응용프로그램 공급에 대한 요구가 높아지고 있다.Due to high user expectations for the Android platform and strong response from handset manufacturers and mobile service providers, portable devices equipped with the Android platform are increasing. As a result, the Android application market has begun to become active and demand for high quality Android applications is increasing.

이에 응용프로그램 개발사 또는 개발자는 응용프로그램 시장의 변화에 대응하기 위해 에스케이텔레콤(이동통신 서비스사)을 통해 안정적으로 서비스되고 있는 검증된 자바 기반의 에스케이브이엠 및 위피자바 응용프로그램을 안드로이드 플랫폼에서 동작할 수 있게 추가 개발을 하고 있다.Therefore, application developers or developers can run the proven Java-based Escape EM and WIPIZAVA applications on the Android platform, which are being reliably serviced by SK Telecom (mobile telecommunications service provider) to respond to changes in the application market. We are working on further development.

에스케이브이엠 및 위피자바 응용프로그램은 J2ME 표준 규격 이외에 사업자 확장 OEM API와 위피자바 표준 API를 사용하여 개발되었다. 각 플랫폼의 특성에 맞게 구현된 응용프로그램이 안드로이드 플랫폼에서 동작할 수 있도록 별도의 지원 및 개발 과정을 거쳐야 하는 문제점이 있다.In addition to the J2ME standard specification, EscapeEm and WIPIZA applications were developed using the Operator Extension OEM API and WIPIZA Standard API. There is a problem in that an application implemented according to the characteristics of each platform needs to undergo a separate support and development process so that it can operate on the Android platform.

또한, 안드로이드 응용프로그램이 자바 프로그램 언어로 만들어진 응용프로그램 형식을 따른다고 해도 응용프로그램의 라이프사이클을 안드로이드 플랫폼에 맞게 변경해야 하며, 참조하는 라이브러리가 기존의 자바 라이브러리와 달라 추가 개발 과정에 어려움이 따르는 문제점이 있다.
In addition, even if the Android application follows the application format made in the Java programming language, the lifecycle of the application must be changed to suit the Android platform.In addition, the reference library is different from the existing Java library, which causes difficulties in the further development process. There is this.

이러한 문제점을 해결하기 위해 본 발명은 기 개발된 에스케이브이엠 및 위피자바 응용프로그램을 추가 개발 과정 없이 안드로이드 응용프로그램으로 변환하여 안드로이드 플랫폼에서 동작 가능하도록 하는 기술을 제공한다.
In order to solve this problem, the present invention provides a technology for converting the previously developed escaping and Wifijaba application into an Android application without additional development process to enable operation on the Android platform.

본 발명은 에스케이브이엠 및 위피자바 응용프로그램의 바이트코드로 구성된 클래스 파일과 리소스 파일을 변환하는 단계; 그 변환된 바이트코드로 구성된 클래스 파일에 OEM API와 MIDP API를 래핑(wrapping)하는 단계; OEM API와 MIDP API가 래핑된 클래스 파일과 그 변환된 리소스 파일을 안드로이드 응용프로그램으로 생성하는 단계;를 포함하여 구성된다.
The present invention comprises the steps of converting the class file and the resource file consisting of the byte code of the escape and Wi-Fi application Java; Wrapping the OEM API and the MIDP API in a class file consisting of the converted bytecodes; Generating the OEM API and MIDP API wrapped class file and the converted resource file to the Android application; is configured to include.

본 발명을 이용하면, 에스케이브이엠 및 위피자바 응용프로그램을 추가 개발 과정 없이 안드로이드 플랫폼에서 동작 가능하도록 함으로써, 기 개발된 무선단말용 자바 응용프로그램의 재사용성을 높이고 개발 자원의 낭비를 줄일 수 있는 효과가 있다.
By using the present invention, by enabling the escape EM and WIPIZA application to operate on the Android platform without additional development process, it is possible to increase the reusability of the developed Java application for the wireless terminal and reduce the waste of development resources There is.

[도 1]은 SK-VM과 WIPI-JAVA 응용프로그램이 안드로이드 응용프로그램으로 변환되는 과정에 대한 전체 구성을 개략적으로 나타낸 도면,
[도 2]는 SK-VM과 WIPI-JAVA 응용프로그램이 안드로이드 응용프로그램으로 변환되는 과정에 대한 순서도,
[도 3]은 바이트코드 변환기에 대해 상세히 나타낸 도면,
[도 4]는 리소스 변환기에 대해 상세히 나타낸 도면,
[도 5]는 OEM API/MIDP API 래핑 모듈에 대해 상세히 나타낸 도면,
[도 6]은 안드로이드 응용프로그램 생성 모듈에 대해 상세히 나타낸 도면.
1 is a view schematically showing the overall configuration of the process of the SK-VM and WIPI-JAVA application is converted to an Android application,
[Figure 2] is a flow chart for the process of the SK-VM and WIPI-JAVA application is converted into an Android application,
3 is a detailed view of the bytecode converter;
4 is a detailed view of a resource converter;
5 is a view showing in detail for the OEM API / MIDP API wrapping module,
6 is a view showing in detail for the Android application generation module.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

[도 1]은 본 발명의 실시예에 따라 자바 기반의 에스케이브이엠 및 위피자바 응용프로그램이 안드로이드 응용프로그램으로 변환되는 과정을 간략하게 도시한 것이다. [도 1]을 참조하면, 본 발명의 실시예에 따른 변환 매체(100)는 크게 바이트코드와 리소스 파일을 안드로이드 플랫폼 환경에 맞게 변환하여 주는 바이트코드/리소스 변환 모듈(110), 그 변환된 바이트코드로 구성된 클래스 파일과 리소스 파일에 OEM API와 MIDP API를 래핑하는 OEM API/MIDP API 래핑 모듈(120), OEM API와 MIDP API가 래핑된 변환된 클래스 및 리소스 파일을 안드로이드 SDK에서 제공하는 툴(tool)을 이용하여 안드로이드 응용프로그램으로 생성하는 안드로이드 응용프로그램 생성 모듈(130)로 나눌 수 있다.
FIG. 1 briefly illustrates a process of converting a Java-based escaping EM and WIPIZA application into an Android application according to an embodiment of the present invention. Referring to FIG. 1, the conversion medium 100 according to an embodiment of the present invention includes a bytecode / resource conversion module 110 for converting a bytecode and a resource file largely according to an Android platform environment, and the converted byte. The Android SDK provides the OEM API / MIDP API wrapping module 120, which wraps the OEM API and MIDP API in class files and resource files composed of code, and the converted class and resource files wrapped by the OEM API and MIDP API. Using the tool) can be divided into the Android application generation module 130 to create an Android application.

[도 2]는 [도 1]의 변환 과정을 그 순서대로 좀더 상세하게 도시한 것이다. [도 2]를 참조하면. 본 발명의 실시예에 다른 변환 매체(100)는 먼저 변환 대상이 되는 에스케이브이엠 및 위피자바 응용프로그램 실행 파일인 Jar 파일을 로딩(200)하게 된다. Jar 파일은 프로그램 소스 코드를 컴파일하여 생성된 바이트코드로 구성된 클래스 파일과 이미지, 음원, 동영상 등의 리소스 파일이 포함되어 압축된 파일이다.FIG. 2 illustrates the conversion process of FIG. 1 in more detail in that order. Referring to [Figure 2]. According to an embodiment of the present invention, the conversion medium 100 first loads a Jar file, which is an executable file of an escape target and a Wi-Fi application program, to be converted (200). Jar file is a compressed file that contains class files consisting of byte codes generated by compiling program source codes and resource files such as images, sound sources, and videos.

로드된 Jar 파일은 바이트코드/리소스 변환 모듈(210)을 거치게 된다. 바이트코드/리소스 변환 모듈(210)은 먼저 Jar 파일 내 클래스 파일의 바이트코드 변환 유무를 판단(211)하여 바이트코드 변환이 필요한 경우 바이트코드 변환기(212)로 전달하여 안드로이드 플랫폼 환경에 맞게 바이트코드를 변환한다.The loaded Jar file goes through the bytecode / resource conversion module 210. The bytecode / resource conversion module 210 first determines the bytecode conversion of the class file in the Jar file (211), and transfers the bytecode to the bytecode converter 212 when the bytecode conversion is necessary, so as to fit the bytecode according to the Android platform environment. To convert.

또한, 바이트코드/리소스 변환 모듈(120)은 바이트코드 변환이 필요하지 않거나 바이트코드 변환이 이루어진 로드된 Jar 파일 내 리소스 파일의 변환 유무를 판단(213)하여 리소스 파일의 변환이 필요한 경우 리소스 변환기(214)로 전달하여 안드로이드 플랫폼 환경에 맞게 리소스 파일을 변환한다.In addition, the bytecode / resource conversion module 120 determines whether to convert the resource file in the loaded Jar file that does not require bytecode conversion or the bytecode conversion (213), and if the resource file conversion is necessary, the resource converter ( 214) to convert the resource files for the Android platform environment.

바이트코드/리소스 변환 모듈(210)에 의해 변환된 클래스 파일과 리소스 파일은 OEM API/MIDP API 래핑 모듈(220)을 거치게 되는데, 먼저 사업자 확장 OEM API를 라이브러리화하여 위 변환된 클래스 파일과 리소스 파일에 래핑(221)하는 단계를 거치면서 통화(CALL), 단문 메시지(SMS) 등 명시된 OEM API 전체에 대해 지원 가능하게 한다.The class file and resource file converted by the bytecode / resource conversion module 210 go through the OEM API / MIDP API wrapping module 220. First, the class file and resource file converted by the library extension of the operator extension OEM API Wrapping 221 allows for support for all of the specified OEM APIs, such as CALL and Short Message (SMS).

또한, OEM API/MIDP API 래핑 모듈(220)은 미들릿(MIDlet) 매개체(222)를 통해 OEM API가 래핑된 변환된 클래스과 리소스 파일에 파일 컨트롤, 이벤트 핸들링 등의 미들릿 속성을 라이브러리화한 MIDP API를 래핑한다.In addition, the OEM API / MIDP API wrapping module 220 uses a midlet medium 222 to library MIDP properties, such as file control and event handling, into a converted class and resource file in which the OEM API is wrapped. Wrap the API.

바이트코드/리소스 변환 모듈(210)과 OEM API/MIDP API 래핑 모듈(220)을 거치면서 변환된 응용프로그램은 마지막으로 안드로이드 SDK에서 제공되는 DX/APK 빌더(APK Builder ; 231)를 이용하여 APK를 생성하는 안드로이드 응용프로그램 생성 모듈(230)을 통해 안드로이드 응용프로그램 형식으로 변환된다.
The application converted through the bytecode / resource conversion module 210 and the OEM API / MIDP API wrapping module 220 is finally converted to an APK using the DX / APK Builder (APK Builder; 231) provided in the Android SDK. The Android application generating module 230 is generated to convert the Android application format.

본 발명의 실시예에 따른 변환 매체(100)를 구성하는 각각의 모듈에서 이루어지는 변환 과정을 도면을 참고하여 아래 상세히 설명한다.A conversion process performed in each module constituting the conversion medium 100 according to an embodiment of the present invention will be described in detail below with reference to the drawings.

[도 3]은 바이트코드/리소스 변환 모듈(210)의 바이트코드 변환기(212) 내부에서 이루어지는 변환 과정을 상세하게 도시한 것이다.FIG. 3 illustrates the conversion process performed in the bytecode converter 212 of the bytecode / resource conversion module 210 in detail.

로딩된 Jar 파일(300) 내의 바이트코드로 이루어진 클래스 파일은 변환 대상 코드 인덱스 모듈(310)을 거치면서 변환 유무가 결정된다. 변환 대상 코드 인덱스 모듈(310)은 에스케이브이엠 및 위피자바 응용프로그램의 클래스 파일 중 문자열 생성 메소드, 리소스 접근 API, 시스템 속성 메소드가 존재하는지 확인하여 존재할 경우 바이트코드 변환기(320)로 전달하여 각각의 케이스에 맞게 변환이 이루어진다. The class file consisting of bytecodes in the loaded Jar file 300 passes through the conversion target code index module 310 to determine whether to convert. The conversion target code index module 310 checks whether there is a string generation method, a resource access API, or a system property method among class files of the escaping and WifiJava application, and if present, passes the result to the bytecode converter 320 to each of them. The conversion is made to suit your case.

바이트코드 변환기(320)는 에스케이브이엠 및 위피자바 응용프로그램의 클래스 파일 내에 문자열 생성 메소드가 존재할 경우, 기존의 바이트코드에서 문자열만 추출하여 안드로이드 플랫폼에서 인식이 가능한 변경된 문자열 생성 메소드와 문자열의 인코딩 타입을 추가하여 클래스 파일을 변환(321)한다.The bytecode converter 320 extracts only the string from the existing bytecode and recognizes the changed string generation method and encoding type of the string when the string generation method exists in the class file of the escaping and WifiJava application. Add a class to convert the class file (321).

또한, 바이트코드 변환기(320)는 에스케이브이엠 및 위피자바 응용프로그램의 클래스 파일 내에 리소스 접근 API 생성 메소드가 존재할 경우, 리소스 명은 그대로 두고 기존의 JAVA 리소스 접근 API 바이트코드를 안드로이드 리소스 접근 API로 변환(322)한다. In addition, the bytecode converter 320 converts the existing JAVA resource access API bytecode to the Android resource access API if the resource access API generation method exists in the class file of the escap and WAPI application. 322).

또한, 바이트코드 변환기(320)는 에스케이브이엠 및 위피자바 응용프로그램의 클래스 파일 내에 시스템 속성 메소드가 존재할 경우, 기존의 JAVA 시스템 속성 메소드를 안드로이드 플랫폼에서 사용 가능한 시스템 속성 메소드로 변환(323)한다.In addition, the bytecode converter 320 converts the existing JAVA system property method into a system property method that can be used in the Android platform when the system property method exists in the class file of the Escape and WifiJava application.

이러한 과정은 로드된 Jar 파일(300)에 포함된 모든 클래스 파일을 대상으로 이루어지며, 모든 클래스 파일은 변환 대상 코드 인덱스 모듈(310)을 거쳐 바이트코드 변환기(320)에 의해 변환된 바이트코드 클래스 파일(340)이 생성된다.
This process is performed for all class files included in the loaded Jar file 300, and all class files are converted into bytecode class files converted by the bytecode converter 320 through the conversion target code index module 310. 340 is generated.

[도 4]는 바이트코드/리소스 변환 모듈(210)의 리소스 변환기(214) 내부에서 이루어지는 변환 과정을 상세히 도시한 것이다. 리소스 변환기(214)에 대해 리소스 파일 중 이미지 파일 변환의 예를 설명한다.4 illustrates the conversion process performed in the resource converter 214 of the bytecode / resource conversion module 210 in detail. An example of image file conversion among resource files will be described for the resource converter 214.

로딩된 Jar 파일(300) 내의 리소스 파일은 변환 대상 리소스 인덱스 모듈(350)을 거치면서 변환 유무가 결정된다. 변환 대상 리소스 인덱스 모듈(350)은 지원되지 않는 PNG 이미지 파일의 인코딩 타입 정보와 지원되지 않는 파일 형식에 대한 정보를 가지고 변환 유무를 결정하게 된다. The resource file in the loaded Jar file 300 passes through the conversion target resource index module 350 to determine whether to convert. The conversion target resource index module 350 determines whether or not conversion is performed based on encoding type information of an unsupported PNG image file and information on an unsupported file format.

리소스 변환기(360)에 전달된 리소스 파일은 표준 PNG 파일로 재 인코딩하여 안드로이드 플랫폼에서 지원 가능한 리소스 파일(370)로 변환된다.
The resource file passed to the resource converter 360 is re-encoded into a standard PNG file and converted into a resource file 370 that can be supported by the Android platform.

[도 5]는 OEM API/MIDP API 래핑 모듈(220), 즉 OEM API와 MIDP API를 래핑하는 모듈의 내부에서 이루어지는 과정을 상세히 도시한 것이다.FIG. 5 illustrates in detail the process performed inside the OEM API / MIDP API wrapping module 220, that is, the module wrapping the OEM API and the MIDP API.

변환 대상인 응용프로그램에 대해 바이트코드/리소스 변환 모듈(210)에서 바이트코드로 이루어진 클래스 파일이 안드로이드 플랫폼에 맞게 변환 되었다해도 응용프로그램 내에 OEM API와 MIDP API를 호출하는 메소드는 그대로 남아 있기 때문에 해당 API를 안드로이드 API를 이용하여 구현한 라이브러리 형태의 매체를 변환 대상 응용프로그램에 래핑하는 과정이 필요하다. 이 과정이 OEM API/MIDP API 래핑 모듈(220)에서 이루어진다.Even though the class file consisting of bytecodes in the bytecode / resource conversion module 210 is converted for the Android platform, the method for calling the OEM API and MIDP API remains in the application. It is necessary to wrap the library-type media implemented using the Android API in the application to be converted. This process is done in the OEM API / MIDP API wrapping module 220.

바이트코드/리소스 변환 모듈(210)을 거친 변환된 클래스 파일(340)은 먼저 OEM API를 래핑하는 OEM API 래핑 모듈(510)로 전달된다. OEM API 래핑 모듈(510)에서는 변환된 클래스 파일(340)에 통화, 단문 메시지, 단말 제어 등의 사업자 확장 OEM API를 안드로이드 API로 구현한 라이브러리 형태의 매체(520)를 래핑한다.The converted class file 340 via the bytecode / resource conversion module 210 is first passed to an OEM API wrapping module 510 which wraps the OEM API. The OEM API wrapping module 510 wraps the media 520 in the form of a library in which the operator extension OEM API such as currency, short message, and terminal control is implemented as an Android API in the converted class file 340.

OEM API가 래핑된 클래스 파일(530)은 다시 MIDP API를 래핑하는 미들릿 매개체(540)로 전달되어 이벤트 핸들링, 파일 컨트롤, 디스플레이 컨트롤, 키 이벤트 처리, 미들릿 속성 등에 관한 MIDP API를 안드로이드 API로 구현한 라이브러리 형태의 매체(550)를 래핑하여 OEM API와 MIDP API가 래핑된 클래스 파일(560)을 생성한다. The OEM API-wrapped class file 530 is passed back to the middlelet mediator 540 which wraps the MIDP API, which converts the MIDP API for event handling, file control, display control, key event handling, middlelet properties, etc. into the Android API. The class file 560 wrapped with the OEM API and the MIDP API is generated by wrapping the media 550 in the implemented library form.

미들릿 매개체(540)에서 MIDP API가 래핑되는 과정을 통해 기존의 에스케이브이엠 및 위피자바 응용프로그램의 라이프사이클이 안드로이드 응용프로그램 라이프사이클에 대응된다.
Through the process of wrapping the MIDP API in the middlelet medium 540, the lifecycles of the existing EMB and WIPIZA applications correspond to the Android application lifecycle.

[도 6]은 안드로이드 응용프로그램 생성 모듈(230) 내부에서 이루어지는 변환 과정을 상세하게 도시한 것이다.6 illustrates in detail the conversion process performed in the Android application generating module 230.

바이트코드 변환 과정과 라이브러리 래핑 과정을 통해 생성된 클래스 파일(560)은 안드로이드 플랫폼에서 실행 가능한 바이트코드로 변환해야 하는데, 이 과정은 안드로이드 SDK에서 제공되는 DX 툴(610)에서 이루어진다.The class file 560 generated through the bytecode conversion process and the library wrapping process should be converted into bytecode executable on the Android platform. This process is performed by the DX tool 610 provided in the Android SDK.

안드로이드 바이트코드로 변환된 클래스 파일(615)은 다시 안드로이드 SDK에서 제공되는 APK 빌더(620)로 전달되며, 리소스 변환기(214)를 통해 변환된 리소스 파일(370)과 함께 APK 파일로 패키징됨으로써 에스케이브이엠 및 위피자바 응용프로그램이 안드로이드 응용프로그램으로 변환되는 과정이 종료된다.
The class file 615 converted to Android bytecode is passed back to the APK builder 620 provided in the Android SDK. The process of converting M and Wifizaba application to Android application is terminated.

이상에서 본 발명의 바람직한 실시예에 한정하여 설명하였으나, 본 발명은 이에 한정되지 않고 다양한 변화와 변경 및 균등물을 사용할 수 있다. 따라서 본 발명은 이들 실시예를 적절히 변형하여 응용할 수 있고, 이러한 응용도 특허청구범위에 기재된 기술적 사상을 바탕으로 하는 한 본 발명의 권리범위에 속하게 됨은 당연하다 할 것이다.
Although the above has been described as being limited to the preferred embodiment of the present invention, the present invention is not limited thereto and various changes, modifications, and equivalents may be used. Therefore, the present invention can be appropriately modified and applied to these embodiments, it will be obvious that such applications also fall within the scope of the present invention based on the technical idea described in the claims.

100 : 변환 매체
110, 210 : 바이트코드/리소스 변환모듈
120, 220 : OEM API/MIDP API 래핑 모듈
130, 230 : 안드로이드 응용프로그램 생성 모듈
300 : 변환 대상 어플리케이션(JAR 파일)
310 : 변환 대상 코드 인덱스 모듈
320 : 바이트코드 변환기
340 : 변환된 바이트코드 집합
350 : 변환 대상 리소스 인덱스 모듈
360 : 리소스 변환기
370 : 변환된 리소스 집합
510 : OEM API 래핑 모듈
520 : OEM API를 안드로이드 API로 구현한 라이브러리
540 : 미들릿 매개체 (MIDP API 래핑 모듈)
550 : MIDP API를 안드로이드 API로 구현한 라이브러리
610 : DX 변환기
620 : APK 빌더
100: conversion medium
110, 210: Bytecode / Resource Conversion Module
120, 220: OEM API / MIDP API Wrapping Module
130, 230: Android application creation module
300: target application (JAR file)
310: conversion target code index module
320: bytecode converter
340: converted bytecode set
350: Converted resource index module
360: resource converter
370: Converted resource set
510: OEM API Wrapping Module
520: Library implementing OEM API as Android API
540: middlelet media (MIDP API wrapping module)
550: Library implementing MIDP API as Android API
610: DX Converter
620: APK Builder

Claims (5)

에스케이브이엠 및 위피자바 응용프로그램에 대해 클래스 파일의 바이트코드와 리소스 파일을 안드로이드 플랫폼의 문법 규칙 및 파일 지원 형식에 맞게 변환하는 제 1 단계;
상기 변환된 바이트코드로 구성된 클래스 파일에 OEM API와 MIDP API를 래핑하는 제 2 단계;
상기 OEM API와 MIDP API가 래핑된 클래스 파일과 상기 변환된 리소스 파일을 안드로이드 응용프로그램으로 생성하는 제 3 단계;
를 포함하여 구성되는 에스케이브이엠 및 위피자바 응용프로그램을 안드로이드 응용프로그램으로 변환하는 프로그램을 기록한 컴퓨터로 판독가능한 기록매체.
A first step of converting bytecodes and resource files of class files according to the grammar rules and file support formats of the Android platform for the Escape and WifiJava applications;
Wrapping an OEM API and a MIDP API in a class file consisting of the converted bytecodes;
Generating a class file wrapped with the OEM API and a MIDP API and the converted resource file with an Android application program;
A computer-readable recording medium having recorded thereon a program for converting an EMB and WIPIZAVA application into an Android application.
청구항 1에 있어서,
상기 제 1 단계는,
변환 대상 바이트코드 인덱스 모듈을 거쳐 바이트코드 변환 유무를 판단하는 제 11 단계;
상기 바이트코드 변환이 필요하다고 판단되면 바이트코드 변환기로 전달되어 안드로이드 플랫폼 환경에 맞게 바이트코드로 구성된 클래스 파일을 변환하는 제 12 단계;
상기 바이트코드 변환이 이루어진 후 변환 대상 리소스 인덱스 모듈을 거쳐 리소스 변환 유무를 판단하는 제 13 단계;
상기 리소스 변환이 필요하다고 판단되면 리소스 변환기로 전달하여 리소스 변환을 수행하는 제 14 단계;
를 포함하여 구성되는 것을 특징으로 하는 에스케이브이엠 및 위피자바 응용프로그램을 안드로이드 응용프로그램으로 변환하는 프로그램을 기록한 컴퓨터로 판독가능한 기록매체.
The method according to claim 1,
The first step is,
An eleventh step of determining whether or not the bytecode conversion is performed via the conversion target bytecode index module;
A twelfth step of converting a class file composed of bytecodes according to the Android platform environment by being transmitted to a bytecode converter when it is determined that the bytecode conversion is necessary;
A thirteenth step of determining whether to convert a resource after the bytecode conversion is performed through a conversion target resource index module;
If it is determined that the resource conversion is necessary, transferring it to a resource converter to perform resource conversion;
A computer-readable recording medium having recorded thereon a program for converting an EMB and WifiJava application into an Android application, characterized in that it comprises a.
청구항 2에 있어서,
상기 제 12 단계는,
문자열 생성 메소드를 안드로이드 문자열 생성 메소드로 변경하고, 안드로이드 플랫폼 환경이 지원 가능한 인코딩 타입을 추가하는 제 121 단계;
JAVA 리소스 접근 API를 안드로이드 리소스 접근 API로 치환하는 제 122 단계;
JAVA 시스템 속성 메소드를 안드로이드 시스템 속성 메소드로 치환하는 제 123 단계;
상기 변환된 클래스 파일을 OEM API와 MIDP API를 래핑하는 OEM API/MIDP API 래핑 모듈로 전달하는 제 124 단계;
를 포함하여 구성되는 것을 특징으로 하는 에스케이브이엠 및 위피자바 응용프로그램을 안드로이드 응용프로그램으로 변환하는 프로그램을 기록한 컴퓨터로 판독가능한 기록매체.
The method according to claim 2,
The twelfth step,
Step 121, a method for changing a string generation method to an Android string generation method and adding an encoding type supported by the Android platform environment;
Step 122 of replacing the JAVA resource access API with an Android resource access API;
Step 123, replacing the JAVA system property method with an Android system property method;
Step 124, delivering the converted class file to an OEM API / MIDP API wrapping module that wraps the OEM API and the MIDP API;
A computer-readable recording medium having recorded thereon a program for converting an EMB and WifiJava application into an Android application, characterized in that it comprises a.
청구항 1 내지 청구항 3 중 어느 한 항에 있어서,
상기 제 2 단계는,
사업자 확장 OEM API를 안드로이드 API로 구현하여 라이브러리화하는 제 21 단계;
상기 사업자 확장 OEM API가 안드로이드 API로 구현된 라이브러리를 상기 변환된 클래스 파일에 래핑하는 제 22 단계;
MIDP API를 안드로이드 API로 구현하여 라이브러리화하는 제 23 단계;
상기 OEM API가 래핑된 변환된 클래스 파일에 MIDP API가 안드로이드 API로 구현된 라이브러리를 래핑하는 제 24 단계;
상기 OEM API와 MIDP API가 래핑된 클래스 파일을 안드로이드 응용프로그램을 생성하는 모듈로 전달하는 제 25 단계;
를 포함하는 것을 특징으로 하는 에스케이브이엠 및 위피자바 응용프로그램을 안드로이드 응용프로그램으로 변환하는 프로그램을 기록한 컴퓨터로 판독가능한 기록매체.
The method according to any one of claims 1 to 3,
The second step,
A twenty-first step of implementing a service provider extended OEM API as an Android API and making a library;
A twenty-second step in which the operator extension OEM API wraps a library implemented with an Android API in the converted class file;
A twenty-third step of implementing a MIDP API as an Android API and making it library;
A twenty-fourth step of wrapping a library in which an MIDP API is implemented as an Android API in a converted class file wrapped with the OEM API;
A twenty-fifth step of delivering the class file wrapped with the OEM API and the MIDP API to a module generating an Android application;
A computer-readable recording medium recording a program for converting the application of the EMB and Wifi bar application, characterized in that it comprises an Android application.
청구항 4에 있어서,
상기 제 3 단계는,
OEM API와 MIDP API가 래핑된 클래스 파일을 안드로이드 SDK에서 제공되는 DX 툴에 의해 안드로이드 바이트코드로 변환하는 제 31 단계;
상기 안드로이드 바이트코드와 상기 변환된 리소스 파일을 패키징하여 안드로이드 응용프로그램인 APK 파일을 생성하는 제 32 단계;
를 포함하여 구성되는 것을 특징으로 하는 에스케이브이엠 및 위피자바 응용프로그램을 안드로이드 응용프로그램으로 변환하는 프로그램을 기록한 컴퓨터로 판독가능한 기록매체.
The method of claim 4,
In the third step,
A thirty-first step of converting the class file wrapped with the OEM API and the MIDP API into Android bytecode by a DX tool provided in the Android SDK;
A thirty-second step of packaging the android bytecode and the converted resource file to generate an APK file which is an Android application;
A computer-readable recording medium having recorded thereon a program for converting an EMB and WifiJava application into an Android application, characterized in that it comprises a.
KR1020100034068A 2010-04-14 2010-04-14 Computer readable recording medium containing a program for converting SK-VM and WIPI-JAVA applications to Android applications KR101112697B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100034068A KR101112697B1 (en) 2010-04-14 2010-04-14 Computer readable recording medium containing a program for converting SK-VM and WIPI-JAVA applications to Android applications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100034068A KR101112697B1 (en) 2010-04-14 2010-04-14 Computer readable recording medium containing a program for converting SK-VM and WIPI-JAVA applications to Android applications

Publications (2)

Publication Number Publication Date
KR20110114754A KR20110114754A (en) 2011-10-20
KR101112697B1 true KR101112697B1 (en) 2012-03-16

Family

ID=45029571

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100034068A KR101112697B1 (en) 2010-04-14 2010-04-14 Computer readable recording medium containing a program for converting SK-VM and WIPI-JAVA applications to Android applications

Country Status (1)

Country Link
KR (1) KR101112697B1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101427562B1 (en) * 2013-03-08 2014-08-07 주식회사 인프라웨어테크놀러지 Method for automatically transforming an android application into tizen-installable application package, and computer-readable recording medium for the same
KR101427561B1 (en) * 2013-05-16 2014-08-07 주식회사 인프라웨어테크놀러지 Method for adaptively executing an android application on tizen platform by automatically transforming the android application into tizen-installable package, and computer-readable recording medium for the same
CN110399130B (en) * 2019-07-16 2023-10-20 国金证券股份有限公司 APP skin changing method based on android system
CN112083930B (en) * 2020-09-14 2024-06-14 华帝股份有限公司 Optimization method for android project compiling process
CN113742008B (en) * 2021-09-13 2024-04-02 挂号网(杭州)科技有限公司 Interface calling method and device, electronic equipment and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003140908A (en) 2001-10-31 2003-05-16 Aplix Corp Code conversion device and code conversion program
KR20070014832A (en) * 2005-07-29 2007-02-01 충청북도 Mobile contents providing system and method thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003140908A (en) 2001-10-31 2003-05-16 Aplix Corp Code conversion device and code conversion program
KR20070014832A (en) * 2005-07-29 2007-02-01 충청북도 Mobile contents providing system and method thereof

Also Published As

Publication number Publication date
KR20110114754A (en) 2011-10-20

Similar Documents

Publication Publication Date Title
CN107193544B (en) Application program componentization development method and device
CN101930366B (en) Browser-based mobile phone run time system
KR101112697B1 (en) Computer readable recording medium containing a program for converting SK-VM and WIPI-JAVA applications to Android applications
US20060136880A1 (en) System, apparatus and methods for automatic program translation
CN105094878B (en) A kind of method and apparatus of integrated system library file
TW201324351A (en) Conversion methods of applications of mobile devices and mobile devices and systems capable of converting applications of mobile devices
CN111399840A (en) Module development method and device
CN110399384B (en) UDF adaptation method, data processing method, device and storage medium
CN111625260A (en) Method and system based on mixed mobile application program upgrading
CN104572054A (en) Capability calling method and capability calling equipment
CN107977274B (en) SDK calling control method and device
KR101117165B1 (en) Web platform unit for mobile terminal connectioned web-application program in heterogeneous operating system
KR101070967B1 (en) Wipi contents download system and method thereof
KR101116939B1 (en) Mobile terminal and method for operating web application the mobile terminal
CN112181366B (en) Mobile application development framework based on cross-platform interaction
CN110825373B (en) Mobile terminal dynamic method and device
KR20130014203A (en) Multi operating system flatform in smart devices
KR101254756B1 (en) Method of creating virtual machine compatible with multiple operating system, and program recording media for virtual machine
Fu et al. Research on audio/video codec based on Android
WO2023083071A1 (en) View interaction method and apparatus, electronic device, and computer readable medium
KR20110077591A (en) Multi platform transformation apparatus and method for wipi based applications
JP6001199B2 (en) Method for automatic conversion of package for taizen installation of android application and computer-readable recording medium therefor
KR20090121949A (en) Method and system for converting mobile contents
WO2019157891A1 (en) Application installation method and application installer generating method
KR20210156369A (en) How to change the application platform

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141117

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160126

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170120

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180102

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee