KR101675420B1 - 안드로이드 os 기반 어플리케이션 패키지를 가전기기용 타이젠 os 기반 어플리케이션 패키지로 자동 변환하는 방법 - Google Patents

안드로이드 os 기반 어플리케이션 패키지를 가전기기용 타이젠 os 기반 어플리케이션 패키지로 자동 변환하는 방법 Download PDF

Info

Publication number
KR101675420B1
KR101675420B1 KR1020150068705A KR20150068705A KR101675420B1 KR 101675420 B1 KR101675420 B1 KR 101675420B1 KR 1020150068705 A KR1020150068705 A KR 1020150068705A KR 20150068705 A KR20150068705 A KR 20150068705A KR 101675420 B1 KR101675420 B1 KR 101675420B1
Authority
KR
South Korea
Prior art keywords
android
based application
features
rights
permission
Prior art date
Application number
KR1020150068705A
Other languages
English (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 KR1020150068705A priority Critical patent/KR101675420B1/ko
Application granted granted Critical
Publication of KR101675420B1 publication Critical patent/KR101675420B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • 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

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

본 발명의 일 실시예에 따른 안드로이드 OS 기반 어플리케이션 패키지를 타이젠 OS 기반 가전기기용 어플리케이션으로 자동 변환하는 방법이 제공된다. 안드로이드 OS 기반 어플리케이션 패키지를 타이젠 OS 기반 가전기기용 어플리케이션으로 자동 변환하는 방법은 정보 추출부를 통해 안드로이드 OS(Operating System) 기반 어플리케이션 패키지로부터 안드로이드 OS 기반 어플리케이션의 권한 및 피쳐를 추출하는 단계, 변환부를 통해 권한 및 피쳐를 각각 타이젠 OS에서 사용가능한 권한 및 피쳐로 변환하는 단계, 변환 어플리케이션 생성부를 통해 타이젠 OS에서 사용가능한 권한 및 피쳐를 기초로 가전기기를 위한 타이젠 OS 기반 어플리케이션 패키지를 생성하는 단계를 포함하는 것을 특징으로 한다. 본 발명은 안드로이드 OS 기반 어플리케이션 패키지로부터 권한 및 피쳐를 추출한 후 이를 가전기기용 타이젠 OS 상에서 동작가능하게 변환함으로써, 기존에 확보되어 있는 안드로이드 OS 기반 어플리케이션 패키지를 가전기기를 위한 타이젠 OS 어플리케이션 패키지로 손쉽게 자동 변환할 수 있는 효과가 있다.

Description

안드로이드 OS 기반 어플리케이션 패키지를 가전기기용 타이젠 OS 기반 어플리케이션 패키지로 자동 변환하는 방법{METHOD FOR AUTOMATICALLY TRANSFORMING ANDROID OS BASED APPLICATION PACKAGE TO TIZEN OS BASED APPLICATION PACKAGE FOR APPLIANCES}
본 발명은 안드로이드 OS 기판 어플리케이션 패키지를 가전기기용 타이젠 OS 어플리케이션 패키지로 자동 변환하는 방법에 관한 것이다.
스마트 단말은 기존에 컴퓨터에서 처리하던 작업과 기존의 단말에서 처리하던 작업이 하나의 단말에서 수행될 수 있도록 하는 단말을 의미한다. 이러한 스마트 단말의 영역은 스마트 폰, 스마트 패드 및 태블릿 PC 뿐만 아니라 텔레비전, 카메라, 자동차 및 일반 가전 제품 등으로 확장되고 있다.
한편, 현재 스마트 단말에서 이용되는 운영체제는 크게 애플의 “iOS”와 구글의 안드로이드 OS (Operating System) 로 양분되어 있는데, 2013년에는 안드로이드 OS의 점유율은 80%, “iOS”의 점유율은 13%로 두 운영체제가 전체 스마트 단말 중 93%에 탑재되어 있었다. 안드로이드 OS는 구글이 주도하는 “OHA” (Open Handset Alliance) 에서 공개한 소프트웨어 스택으로서 리눅스 커널, 가상 머신, 프레임 워크, 어플리케이션을 모두 포함하는 소프트웨어 패키지이며, 안드로이드 어플리케이션을 개발하기 위한 기초를 제공한다.
안드로이드 OS의 독주를 막기 위해, 다양한 운영체제가 전자 디바이스 운영 체제 시장 점유를 확대하기 위해 개발되고 있다. 특히, 타이젠 (Tizen) OS는 스마트 단말을 포함하여 모든 전자기기에서 동작가능한 오픈 소스 모바일 운영 체제로 활발하게 개발되고 있다.
그러나 기존에 주로 이용되지 않았던 타이젠 OS의 운영체제에서 어플리케이션을 이용하기 위해서는, 기존의 “iOS” 또는 안드로이드 OS에 따라 어플리케이션을 제공하던 업체들이 타이젠 OS에 맞춰 어플리케이션의 디자인부터 프로그래밍까지 많은 작업을 다시 해야만 타이젠 OS를 이용하는 전자기기 단말에서 어플리케이션을 이용할 수 있다는 문제점이 있었다.
나아가, 스마트 단말이 아닌 TV와 같은 가전기기에서 구동하기 위한 타이젠 OS 기반 어플리케이션을 별도로 개발하기에는 큰 어려움이 있었다. 이러한 문제점으로 인해, 타이젠 OS를 이용하는 다양한 가전기기에서는 다양한 어플리케이션을 이용할 수 없으므로, 새로운 이용자를 확보하기 더욱 어렵다는 다른 문제점이 발생하였다.
따라서, 어플리케이션 제공 업체들이 동일한 어플리케이션을 타이젠 OS의 가전기기에 제공하기 위해 자원을 다시 투자해야 하는 문제점을 최소화하고 기존의 어플리케이션 리소스를 최대한 활용할 수 있는 기술 개발이 요구되었다.
본 발명이 해결하고자 하는 과제는 안드로이드 OS 기반 어플리케이션 패키지로부터 권한 및 피쳐를 추출한 후 이를 가전기기용 타이젠 OS 상에서 동작가능하게 변환함으로써, 기존에 확보되어 있는 안드로이드 OS 기반 어플리케이션 패키지를 가전기기를 위한 타이젠 OS 어플리케이션 패키지로 자동으로 변환하는 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 과제는 타이젠 OS 기반 어플리케이션 패키지가 설치될 가전기기에서 제공가능한 권한 및 피쳐를 확인하여, 안드로이드 OS 기반 어플리케이션을 가전기기용 타이젠 OS 기반 어플리케이션으로 변환하는데 있어서, 호환성을 추가적으로 확인할 수 있는 변환 방법을 제공하는 것이다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 안드로이드 OS 기반 어플리케이션 패키지를 타이젠 OS 기반 가전기기용 어플리케이션으로 자동 변환하는 방법이 제공된다. 안드로이드 OS 기반 어플리케이션 패키지를 타이젠 OS 기반 가전기기용 어플리케이션으로 자동 변환하는 방법은 정보 추출부를 통해 안드로이드 OS(Operating System) 기반 어플리케이션 패키지로부터 안드로이드 OS 기반 어플리케이션의 권한 및 피쳐를 추출하는 단계, 변환부를 통해 권한 및 피쳐를 각각 타이젠 OS에서 사용가능한 권한 및 피쳐로 변환하는 단계, 변환 어플리케이션 생성부를 통해 타이젠 OS에서 사용가능한 권한 및 피쳐를 기초로 가전기기를 위한 타이젠 OS 기반 어플리케이션 패키지를 생성하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 다른 특징에 따르면, 추출하는 단계는, 안드로이드 OS 기반 어플리케이션 패키지로부터 AndroidManifest.xml 파일을 추출하고 파싱 (parsing) 하여 안드로이드 OS 기반 어플리케이션의 권한 및 피쳐를 추출하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 가전기기에서 제공가능한 권한과 피쳐를 수신하는 단계 및 변환된 타이젠 OS에서 사용가능한 권한 및 피쳐 각각을 가전기기에서 제공가능한 권한 및 피쳐 각각과 비교하는 단계를 더 포함하는 것을 특징으로 한다.
본 발명의 다른 특징에 따르면, 제 변환된 타이젠 OS에서 사용가능한 권한 및 피쳐가 가전기기에서 제공가능한 권한 및 피쳐가 아닌 경우, 생성하는 단계 전에 가전기기에서 제공가능하지 않은 권한 및 피쳐가 포함되어있다는 것 또는 가전기기에서 제공가능하지 않은 권한 및 피쳐의 리스트를 제공하는 단계를 더 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 가전기기는 타이젠TV이며, 타이젠 OS는 타이젠TV용 OS이며, 타이젠 OS 기반 어플리케이션은 TV용 어플리케이션인 것을 특징으로 한다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 컴퓨터 판독 가능 저장매체가 제공된다. 컴퓨터 판독 가능 저장매체는 안드로이드 OS 기반 어플리케이션 패키지를 타이젠 OS 기반 가전기기용 어플리케이션으로 자동 변환하는 방법을 제공하는 명령어들을 저장한다. 명령어들은, 안드로이드 OS 기반 어플리케이션 패키지로부터 안드로이드 OS 기반 어플리케이션의 권한 및 피쳐를 추출하도록 구성된 명령어 세트, 권한 및 피쳐를 각각 타이젠 OS에서 사용가능한 권한 및 피쳐로 변환하도록 구성된 명령어 세트 및 타이젠 OS에서 사용가능한 권한 및 피쳐를 기초로 가전기기를 위한 타이젠 OS 기반 어플리케이션 패키지를 생성하도록 구성된 명령어 세트를 포함하는 것을 특징으로 한다.
본 발명의 다른 특징에 따르면, 제 추출하도록 구성된 명령어 세트는, 안드로이드 OS 기반 어플리케이션 패키지로부터 AndroidManifest.xml 파일을 추출하고 파싱하여 안드로이드 OS 기반 어플리케이션의 권한 및 피쳐를 추출하도록 구성된 명령어 세트를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 명령어들은, 가전기기에서 제공가능한 권한과 피쳐를 수신하도록 구성된 명령어 세트 및 변환된 타이젠 OS에서 사용가능한 권한 및 피쳐 각각을 가전기기에서 제공가능한 권한 및 피쳐 각각과 비교하도록 구성된 명령어 세트를 더 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 제 명령어들은, 변환된 타이젠 OS에서 사용가능한 권한 및 피쳐가 가전기기에서 제공가능한 권한 및 피쳐이 아닌 경우, 생성하는 단계 전에 가전기기에서 제공가능하지 않은 권한 및 피쳐가 포함되어있다는 것 또는 가전기기에서 제공가능하지 않은 권한 및 피쳐의 리스트를 제공하도록 구성된 명령어 세트를 더 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 가전기기는 타이젠TV이며, 타이젠 OS는 타이젠 TV용 OS이며, 타이젠 OS 기반 어플리케이션은 TV용 어플리케이션인 것을 특징으로 한다.
기타 실시예의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명은 안드로이드 OS 기반 어플리케이션 패키지로부터 권한 및 피쳐를 추출한 후 이를 가전기기용 타이젠 OS 상에서 동작가능하게 변환함으로써, 기존에 확보되어 있는 안드로이드 OS 기반 어플리케이션 패키지를 가전기기를 위한 타이젠 OS 어플리케이션 패키지로 손쉽게 자동 변환할 수 있는 효과가 있다.
또한, 본 발명은 타이젠 OS 기반 어플리케이션 패키지가 설치될 가전기기에서 제공가능한 권한 및 피쳐를 확인하여, 안드로이드 OS 기반 어플리케이션을 가전기기용 타이젠 OS 기반 어플리케이션으로 변환하는데 있어서, 호환성을 추가적으로 확인할 수 있는 효과가 있다.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
도 1은 본 발명의 일 실시예에 따른 안드로이드 OS 기반 어플리케이션 패키지를 가전기기용 타이젠 OS 기반 어플리케이션 패키지로 변환하는 과정을 도식화한 도면이다.
도 2는 본 발명의 일 실시예에 따른 안드로이드 OS 기반 어플리케이션 패키지의 자동 변환 툴을 가진 컴퓨터의 내부 기능 블록 구성도이다.
도 3은 본 발명의 일 실시예에 따른 안드로이드 OS 기반 어플리케이션 패키지의 자동 변환 방법을 설명하기 위한 순서도이다.
도 4는 본 발명의 일 실시예에 따른 안드로이드 OS 기반 어플리케이션 패키지의 자동 변환 시스템을 구성하는 각 부에서 추출, 변환 및 생성되는 파일을 도식화한 도면이다.
도 5는 본 발명의 일 실시예에 따른 안드로이드 OS 기반 어플리케이션 패키지의 자동 변환 방법의 제어 순서도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.
이하, 첨부된 도면을 참조하여 본 발명의 다양한 실시예들을 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 안드로이드 OS 기반 어플리케이션 패키지를 가전기기용 타이젠 OS 기반 어플리케이션 패키지로 변환하는 과정을 도식화한 도면으로, 안드로이드 OS 기반 어플리케이션 패키지 (10) 가 본 발명의 일 실시예에 따른 안드로이드 OS 기반 어플리케이션 패키지의 자동 변환 시스템 (100) 에서 가전기기용 타이젠 OS 기반 어플리케이션 패키지 (20) 로 변환되는 형태를 도식화하여 도시하였다.
안드로이드 OS 기반 어플리케이션 패키지 (10) 는 안드로이드 OS의 스마트 단말에 특정 어플리케이션의 다운로드, 인스톨, 언인스톨, 프로그램 실행을 제공하기 위한 코드 패키지이다. 예를 들어, 안드로이드 스마트폰을 위한 게임 어플리케이션, 검색 어플리케이션, 오피스 어플리케이션, 지도 어플리케이션 등은 각각 안드로이드 OS 기반 어플리케이션 패키지 (10) 로 관리된다.
가전기기용 타이젠 OS 기반 어플리케이션 패키지 (20) 는 타이젠 OS가 설치된 가전기기 예를 들어 타이젠TV에 특정 어플리케이션의 다운로드, 인스톨, 언인스톨을 제공하기 위한 코드 패키지이다. 이하에서는 설명의 편의를 위해 가전기기는 타이젠TV인 것으로 상정하고 설명하나, 이에 제한되지 않고 가전기기는 다양한 전자기기일 수 있으며, IoT(Internet of Things)나 M2M(Machine to Machine) 전자기기일 수 있다. 가전기기용 타이젠 OS 기반 어플리케이션 패키지 (20) 에는 프로그램 실행을 위한 코드도 포함되어 있지만, 본 발명에서는 타이젠 TV에서의 프로그램 실행까지는 보장하지 않으며, 타이젠TV에서 본 발명의 일 실시예에 따라 변환된 가전기기용 타이젠 OS 기반 어플리케이션 패키지 (20) 를 실행하려면 안드로이드 구동 모듈이 타이젠TV에 추가로 마련되어야 하는 것으로 가정한다.
변환 시스템 (100) 에서 안드로이드 OS 기반 어플리케이션 패키지 (10) 가 가전기기용 타이젠 OS 기반 어플리케이션 패키지로 변환되는 과정은 아래와 같다.
안드로이드 OS 기반 어플리케이션 패키지 (10) 를 가전기기용 타이젠 OS 기반 어플리케이션 패키지 (20) 로 변환하기 위한 툴 (Tool) 을 가진 변환 시스템 (100) 에 안드로이드 OS 기반 어플리케이션 패키지가 입력 또는 저장된다. 이후 사용자가 변환 툴을 구동시키고, 변환 대상이 되는 안드로이드 OS 기반 어플리케이션 패키지 (10) 를 선택한 후 메뉴 조작을 통해 가전기기용 타이젠 OS 기반 어플리케이션 패키지 (20) 로 변환을 요구한다. 그러면, 변환 시스템 (100) 은 안드로이드 OS 기반 어플리케이션 패키지 (10) 를 변환 툴을 이용하여 가전기기용 타이젠 OS 기반 어플리케이션 패키지 (20) 로 변환한다.
즉, 안드로이드 OS 기반 어플리케이션 패키지 (10) 는 변환 툴을 통해 타이젠TV에서 다운로드/인스톨/언인스톨 (Download/Install/Uninstall) 할 수 있는 형태인 가전기기용 타이젠 OS 기반 어플리케이션 패키지 (20) 로 변환된다. 변환 툴의 구성 및 동작에 대해서는 이하 도면을 참조하여 상세히 설명한다.
도 1에서는 안드로이드 OS 기반 어플리케이션 패키지 (10) 를 가전기기용 타이젠 OS 기반 어플리케이션 패키지 (20) 로 변환하기 위한 툴이 외부의 변환 시스템 (100) 에 포함된 경우를 가정하였다. 그러나, 타이젠TV나 안드로이드 OS가 설치된 디바이스의 내장 메모리와 처리 용량이 허용 가능한 경우라면 타이젠TV 또는 안드로이드 OS가 설치된 디바이스에 내장하도록 구성될 수 있다.
또한, 안드로이드 OS 기반 어플리케이션 패키지 (10) 가 가전기기용 타이젠 OS 기반 어플리케이션 패키지 (20) 로 변환되어 타이젠TV에서 사용되는 경우 타이젠TV는 그 변환된 가전기기용 타이젠 OS 기반 어플리케이션 패키지 (20) 를 구동하기 위한 안드로이드 실행 모듈을 추가로 포함하도록 구성될 수 있다. 한편 도 1의 안드로이드 OS 기반 어플리케이션 패키지 (10), 안드로이드 OS 기반 어플리케이션 패키지의 자동 변환 시스템 (100) 및 가전기기용 타이젠 OS 기반 어플리케이션 패키지 (20) 는 본 발명의 설명을 위하여 부여된 명칭으로서 발명의 구현 예시에 따라 다양한 이름으로 달리 명칭될 수 있다.
이하의 설명에서는 설명의 편의를 위해 변환 툴을 가진 변환 시스템 (100) 에서 안드로이드 OS 기반 어플리케이션 패키지 (10) 가 가전기기용 타이젠 OS 기반 어플리케이션 패키지 (20) 로 변환되는 경우를 중심으로 본 발명을 설명한다.
도 2는 본 발명의 일 실시예에 따른 안드로이드 OS 기반 어플리케이션 패키지의 자동 변환 툴을 가진 컴퓨터의 내부 기능 블록 구성도이다. 도 2를 참조하면, 본 발명에 따른 변환 시스템 (100) 은 사용자 UI부 (101), 송수신부 (102), 메모리 (103), 변환 제어부 (110), 정보 추출부 (210), 변환부 (220), 변환 어플리케이션 생성부 (230) 를 포함하며, 이들 외에 필요에 따라 추가적인 구성이 더 포함될 수도 있다.
한편 본 명세서에서 “모듈”, “부” 및 “수단”은 발명의 기술적 사상을 수행하기 위한 하드웨어와 소프트웨어의 기능적, 구조적 결합으로서 프로그램 코드와 하드웨어 리소스의 논리적인 단위를 의미한다. 반드시 물리적으로 연결된 코드를 의미하거나 한 종류의 하드웨어를 의미하지 않음은 본 발명의 기술분야의 평균적 전문가에게는 용이하게 이해될 수 있다.
먼저, 변환 제어부 (100) 는 본 발명에 따라 변환 시스템 (100) 에서 수행되는 각종 동작의 제어를 수행하며, 특히 안드로이드 OS 기반 어플리케이션 패키지 (10) 를 가전기기용 타이젠 OS 기반 어플리케이션 패키지 (20) 로 변환하기 위해 정보 추출부 (210), 변환부 (220), 변환 어플리케이션 생성부 (230) 에 대한 제어를 수행한다.
사용자 UI부 (101) 는 사용자의 조작신호를 인식하여 변환 제어부 (100) 로 제공하는 한편, 변환 시스템 (100) 에서 수행되는 각종 프로세스에 관한 정보를 디스플레이 화면으로 사용자에게 제공한다.
송수신부 (102) 는 이동 통신망이나 유무선 랜과 같은 유무선 네트워크를 통해 외부와 접속하기 위한 모듈로서 네트워크 인터페이스로 기능을 수행한다.
메모리 (103) 는 변환 제어부 (100) 의 동작 중에 발생되는 각종 데이터를 임시로 저장하기 위한 휘발성 영역 및 프로그램 코드나 데이터베이스 등을 저장하기 위한 비휘발성 영역을 포함할 수 있다. 또한 메모리 (103) 는 안드로이드 OS 기반 어플리케이션 패키지 (10) 를 가전기기용 타이젠 OS 기반 어플리케이션 패키지 (20) 로 변환하기 위한 변환 툴을 저장하기 위한 영역을 포함하며, 안드로이드 OS 기반 어플리케이션 패키지 (10) 와 가전기기용 타이젠 OS 기반 어플리케이션 패키지 (20) 를 저장하는 영역을 포함할 수 있다. 저장부 (13) 는 램 (RAM), 롬 (ROM), 플래시메모리, 자성체 램 (MRAM), 상변화 램 (PRAM), 강유전체 램 (FRAM), 웹디스크, 클라우드 디스크 등으로 구성될 수 있다.
정보 추출부 (210), 변환부 (220), 변환 어플리케이션 생성부 (230) 는 본 발명에 따라 안드로이드 OS 기반 어플리케이션 패키지 (10) 를 가전기기용 타이젠 OS 기반 어플리케이션 패키지 (20) 로 변환하기 위한 실제적인 동작을 수행하는 기능부로서, 이하에서는 이들을 중심으로 상세히 설명한다.
도 3은 본 발명의 일 실시예에 따른 안드로이드 OS 기반 어플리케이션 패키지의 자동 변환 방법을 설명하기 위한 순서도이며, 도 3에 도시된 구성요소는 메모리 (103) 에 저장된 변환 툴을 변환 제어부 (100) 가 구동할 경우 각각의 동작을 수행하는 수단을 도식화한 것이다.
안드로이드 OS 기반 어플리케이션 패키지 (10) 는 정보 추출부 (210) 로 입력된다 (S300). 즉, 변환 시스템 (100) 의 메모리 (103) 에 안드로이드 OS 기반 어플리케이션 패키지 (10) 가 저장되어 있고, 변환 시스템 (100) 에서 변환 툴이 구동된 상태에서 사용자가 특정의 안드로이드 OS 기반 어플리케이션 패키지 (10) 를 선택한 후에 가전기기용 타이젠 OS 기반 어플리케이션 패키지 (20) 로의 변환을 요구한 경우이다.
그에 따라, 정보 추출부 (210) 는 안드로이드 OS 기반 어플리케이션 패키지 (10) 형태인 안드로이드 패키지 파일 (android package file, 이하 APK 파일이라 한다) 에서 가전기기용 타이젠 OS 기반 어플리케이션 패키지를 구성하기 위한 각종 정보와 파일을 추출한다. 정보 추출부 (210) 는 안드로이드 OS 기반 어플리케이션 패키지 (10) 형태의 파일에서 각종 파일의 정보를 획득한다 (S310).
본 발명의 일 실시예에 따르면, 정보 추출부 (210) 는 안드로이드 OS 기반 어플리케이션 패키지 (10) 로부터 “AndroidManifest.xml” 파일을 추출하고, 그 추출된 파일을 파싱 (parsing) 하여 안드로이드 OS 기반 어플리케이션의 권한 및 피쳐를 추출한다. 여기서 파싱은 컴파일러 또는 인터프리터가 프로그램을 이해하는 과정의 한 단계로서 각 문장의 문법적인 구성 또는 구문을 분석하는 과정을 의미한다.
안드로이드 OS 기반 어플리케이션은 어플리케이션의 컴포넌트를 쉽게 사용할 수 없도록 권한을 설정할 수 있다. 본 명세서에서 권한이란 안드로이드 OS 기반 어플리케이션이 안드로이드 플랫폼의 제한된 API에 접근하거나 다른 어플리케이션의 제한된 컴포넌트를 사용하기 위해서 필요한 권한을 의미한다. 예를 들어, 안드로이드 OS 기반 어플리케이션의 권한은 AndroidManifest.xml의 <uses-permission> 내에서 android:name=”android.permission.camera”와 같이 정의될 수 있다. 예시적인 정의를 통해, 카메라에 대한 기능 사용 권한을 사용할 수 있도록 권한을 설정할 수 있다. 이러한 권한은 어플리케이션이 설치될 때 부여될 수 있다. 또한 <permission> 내에서는 어플리케이션이 제공하는 기능 등에 대한 권한 설정이 가능할 수 있다. 본 명세서에서의 권한은 uses-permission과 permission을 모두 포함할 수 있다.
또한, 안드로이드 OS 기반 어플리케이션에서는 특정한 기능 또는 피쳐를 지원하지 않는 전자기기 상에 어플리케이션이 설치되지 않도록 설정할 수 있다. 예를 들어, 전자 디바이스가 카메라를 지원하지 않으면 어플리케이션이 설치되지 않을 수 있다. 피쳐는 특정한 디바이스에서 어플리케이션이 설치되고 사용되는 경우, 어플리케이션이 필요로 하는 기능이다. 어플리케이션이 필요한 기능은 소프트웨어 기능일 수 있으며, 또는 하드웨어 기능일 수 있다. 예를 들어, 피쳐는 <uses-feature> 내에 기재될 수 있다.
정보 추출부 (210) 는 안드로이드 OS 기반 어플리케이션 패키지 (10) 의 AndroidManifest.xml 에서 <uses-permission> 및 <uses-feature>에서 android.permission.CAMERA와 같은 권한이나 android.hardware.CAMERA와 같은 피쳐를 추출한다.
이처럼 정보 추출부 (210) 가 추출한 권한과 피쳐들은 변환부 (220) 로 제공된다 (S320).
변환부 (220) 는 상술한 바와 같이 추출된 각종 파일, 권한 및 피쳐를 이용하여 타이젠 OS 기반 어플리케이션 패키지의 파일, 권한 및 피쳐로 변환한다 (S330). 다만, 타이젠 OS 기반 어플리케이션 패키지에서는 권한이 privilege로 정의될 수 있다. 예를 들어, 타이젠 OS 기반 어플리케이션 패키지에서의 권한인 privilege는 예를 들어, tizen.privilege.camera로 정의될 수 있다. 설명의 편의를 위해 본 명세서에서는 권한이라는 표현을 사용한다. 변환부 (220)는 예를 들어, 안드로이드 권한 android.permission.CAMERA를 tizen.privilege.camera로 변환한다. 한편, 안드로이드 권한에는 존재하나 타이젠 TV에서는 제공하지 않는 권한들에 대해서는 N/A 값을 반환할 수 있다. 변환부 (220) 는 안드로이드 OS 기반 어플리케이션의 피쳐도 동일한 방식으로 타이젠 TV에서 사용가능하도록 변환할 수 있다.
정보 추출부 (210) 가 안드로이드 OS 기반 어플리케이션 패키지 (10) 로부터 추출한 각종 정보, 권한 및 피쳐를 이용하여, 변환부 (220) 는 타이젠TV에서 다운로드, 인스톨, 언인스톨이 가능한 어플리케이션 패키지 구조를 위한 권한 및 피쳐를 결정한다.
변환부 (220) 가 생성하는 안드로이드 OS 기반 어플리케이션의 예시적인 권한에 대응하는 가전기기용 타이젠 OS 기반 어플리케이션 패키지 (20) 의 예시적인 권한은 다음의 표 1과 같다.
안드로이드 권한(permission) 이름 타이젠 TV 권한(privilege) 이름
android.permission.ACCESS_CHECKIN_PROPERTIES N/A
android.permission.ACCESS_COARSE_LOCATION tizen.privilege.location
android.permission.ACCESS_FINE_LOCATION tizen.privilege.location
android.permission.ACCESS_LOCATION_EXTRA_COMMANDS tizen.privilege.location
android.permission.ACCESS_MOCK_LOCATION tizen.privilege.location
android.permission.ACCESS_NETWORK_STATE tizen.privilege.network.get
android.permission.ACCESS_SURFACE_FLINGER N/A
android.permission.ACCESS_WIFI_STATE tizen.privilege.network.get
android.permission.ACCOUNT_MANAGER N/A
android.permission.ADD_VOICEMAIL N/A
android.permission.AUTHENTICATE_ACCOUNTS N/A
android.permission.BATTERY_STATS N/A
android.permission.BIND_ACCESSIBILITY_SERVICE N/A
android.permission.BIND_APPWIDGET N/A
android.permission.BIND_DEVICE_ADMIN N/A
android.permission.BIND_DREAM_SERVICE N/A
android.permission.BIND_INPUT_METHOD N/A
android.permission.BIND_NFC_SERVICE N/A
android.permission.BIND_NOTIFICATION_LISTENER_SERVICE N/A
android.permission.BIND_PRINT_SERVICE N/A
android.permission.BIND_REMOTEVIEWS N/A
android.permission.BIND_TEXT_SERVICE N/A
android.permission.BIND_TV_INPUT N/A
android.permission.BIND_VOICE_INTERACTION N/A
android.permission.BIND_VPN_SERVICE N/A
android.permission.BIND_WALLPAPER N/A
android.permission.BLUETOOTH tizen.privilege.bluetooth
android.permission.BLUETOOTH_ADMIN tizen.privilege.bluetooth
android.permission.BLUETOOTH_PRIVILEGED tizen.privilege.bluetooth
android.permission.BODY_SENSORS N/A
android.permission.BRICK N/A
android.permission.BROADCAST_PACKAGE_REMOVED N/A
android.permission.BROADCAST_SMS N/A
android.permission.BROADCAST_STICKY N/A
android.permission.BROADCAST_WAP_PUSH N/A
android.permission.CALL_PHONE tizen.privilege.call
android.permission.CALL_PRIVILEGED tizen.privilege.call
android.permission.CAMERA tizen.privilege.camera
android.permission.CAPTURE_AUDIO_OUTPUT N/A
android.permission.CAPTURE_SECURE_VIDEO_OUTPUT N/A
android.permission.CAPTURE_VIDEO_OUTPUT N/A
android.permission.CHANGE_COMPONENT_ENABLED_STATE N/A
android.permission.CHANGE_CONFIGURATION N/A
android.permission.CHANGE_NETWORK_STATE tizen.privilege.network.set
android.permission.CHANGE_WIFI_MULTICAST_STATE tizen.privilege.network.set
android.permission.CHANGE_WIFI_STATE tizen.privilege.network.set
android.permission.CLEAR_APP_CACHE N/A
android.permission.CLEAR_APP_USER_DATA N/A
android.permission.CONTROL_LOCATION_UPDATES N/A
android.permission.DELETE_CACHE_FILES N/A
android.permission.DELETE_PACKAGES N/A
android.permission.DEVICE_POWER N/A
android.permission.DIAGNOSTIC N/A
android.permission.DISABLE_KEYGUARD N/A
android.permission.DUMP N/A
android.permission.EXPAND_STATUS_BAR N/A
android.permission.FACTORY_TEST N/A
android.permission.FLASHLIGHT tizen.privilege.led
android.permission.FORCE_BACK N/A
android.permission.GET_ACCOUNTS tizen.privilege.account.read
android.permission.GET_PACKAGE_SIZE tizen.privilege.packagemanager.info
android.permission.GET_TASKS N/A
android.permission.GET_TOP_ACTIVITY_INFO N/A
android.permission.GLOBAL_SEARCH N/A
android.permission.HARDWARE_TEST N/A
android.permission.INJECT_EVENTS N/A
android.permission.INSTALL_LOCATION_PROVIDER N/A
android.permission.INSTALL_PACKAGES N/A
android.permission.INSTALL_SHORTCUT N/A
android.permission.INTERNAL_SYSTEM_WINDOW N/A
android.permission.INTERNET tizen.privilege.internet
android.permission.KILL_BACKGROUND_PROCESSES N/A
android.permission.LOCATION_HARDWARE tizen.privilege.location
android.permission.MANAGE_ACCOUNTS tizen.privilege.account.write
android.permission.MANAGE_APP_TOKENS N/A
android.permission.MANAGE_DOCUMENTS N/A
android.permission.MASTER_CLEAR N/A
android.permission.MEDIA_CONTENT_CONTROL N/A
android.permission.MODIFY_AUDIO_SETTINGS tizen.privilege.systemsettings
android.permission.MODIFY_PHONE_STATE tizen.privilege.systemsettings
tizen.privilege.display
tizen.privilege.power
android.permission.MOUNT_FORMAT_FILESYSTEMS N/A
android.permission.MOUNT_UNMOUNT_FILESYSTEMS N/A
android.permission.NFC tizen.privilege.nfc
android.permission.PERSISTENT_ACTIVITY N/A
android.permission.PROCESS_OUTGOING_CALLS N/A
android.permission.READ_CALENDAR tizen.privilege.calendar.read
android.permission.READ_CALL_LOG tizen.privilege.callhistory.read
android.permission.READ_CONTACTS tizen.privilege.contact.read
android.permission.READ_EXTERNAL_STORAGE tizen.privilege.externalstorage
android.permission.READ_FRAME_BUFFER N/A
android.permission.READ_HISTORY_BOOKMARKS N/A
android.permission.READ_INPUT_STATE N/A
android.permission.READ_LOGS N/A
android.permission.READ_PHONE_STATE tizen.privilege.telephony
android.permission.READ_PROFILE tizen.privilege.contact.read
android.permission.READ_SMS tizen.privilege.message.read
android.permission.READ_SOCIAL_STREAM N/A
android.permission.READ_SYNC_SETTINGS N/A
android.permission.READ_SYNC_STATS N/A
android.permission.READ_USER_DICTIONARY N/A
android.permission.READ_VOICEMAIL N/A
android.permission.REBOOT N/A
android.permission.RECEIVE_BOOT_COMPLETED N/A
android.permission.RECEIVE_MMS N/A
android.permission.RECEIVE_SMS N/A
android.permission.RECEIVE_WAP_PUSH N/A
android.permission.RECORD_AUDIO tizen.privilege.recorder
android.permission.REORDER_TASKS N/A
android.permission.RESTART_PACKAGES N/A
android.permission.SEND_RESPOND_VIA_MESSAGE N/A
android.permission.SEND_SMS tizen.privilege.message.write
android.permission.SET_ACTIVITY_WATCHER N/A
android.permission.SET_ALARM tizen.privilege.alarm.get
tizen.privilege.alarm.set
android.permission.SET_ALWAYS_FINISH N/A
android.permission.SET_ANIMATION_SCALE N/A
android.permission.SET_DEBUG_APP N/A
android.permission.SET_ORIENTATION N/A
android.permission.SET_POINTER_SPEED N/A
android.permission.SET_PREFERRED_APPLICATIONS N/A
android.permission.SET_PROCESS_LIMIT N/A
android.permission.SET_TIME N/A
android.permission.SET_TIME_ZONE N/A
android.permission.SET_WALLPAPER N/A
android.permission.SET_WALLPAPER_HINTS N/A
android.permission.SIGNAL_PERSISTENT_PROCESSES N/A
android.permission.STATUS_BAR tizen.privilege.notification
android.permission.SUBSCRIBED_FEEDS_READ N/A
android.permission.SUBSCRIBED_FEEDS_WRITE N/A
android.permission.SYSTEM_ALERT_WINDOW tizen.privilege.window.priority.set
android.permission.TRANSMIT_IR N/A
android.permission.UNINSTALL_SHORTCUT N/A
android.permission.UPDATE_DEVICE_STATS N/A
android.permission.USE_CREDENTIALS tizen.privilege.account.read
android.permission.USE_SIP N/A
android.permission.VIBRATE N/A
android.permission.WAKE_LOCK tizen.privilege.display
android.permission.WRITE_APN_SETTINGS N/A
android.permission.WRITE_CALENDAR tizen.privilege.calendar.write
android.permission.WRITE_CALL_LOG tizen.privilege.callhistory.read
android.permission.WRITE_CONTACTS tizen.privilege.contact.write
android.permission.WRITE_EXTERNAL_STORAGE tizen.privilege.externalstorage
android.permission.WRITE_GSERVICES N/A
android.permission.WRITE_HISTORY_BOOKMARKS N/A
android.permission.WRITE_PROFILE tizen.privilege.contact.write
android.permission.WRITE_SECURE_SETTINGS N/A
android.permission.WRITE_SETTINGS tizen.privilege.systemsettings
android.permission.WRITE_SMS tizen.privilege.message.write
android.permission.WRITE_SOCIAL_STREAM N/A
android.permission.WRITE_SYNC_SETTINGS N/A
android.permission.WRITE_USER_DICTIONARY N/A
android.permission.WRITE_VOICEMAIL N/A
변환부 (220) 가 생성하는 안드로이드 OS 기반 어플리케이션의 예시적인 피쳐에 대응하는 가전기기용 타이젠 OS 기반 어플리케이션 패키지 (20) 의 예시적인 피쳐는 다음의 표 2와 같다.
안드로이드 피쳐 이름 타이젠 TV 피쳐 이름
android.hardware.audio.low_latency N/A
android.hardware.bluetooth tizen.feature.network.bluetooth
android.hardware.bluetooth_le tizen.feature.network.bluetooth.le
android.hardware.camera tizen.feature.camera
android.hardware.camera.autofocus tizen.feature.camera.autofocus
android.hardware.camera.flash N/A
android.hardware.camera.front N/A
android.hardware.camera.any tizen.feature.camera
android.hardware.camera.external N/A
android.hardware.consumerir N/A
android.hardware.location tizen.feature.location
android.hardware.location.network tizen.feature.location.wps
android.hardware.location.gps tizen.feature.location.gps
android.hardware.microphone tizen.feature.microphone
android.hardware.nfc N/A
android.hardware.nfc.hce N/A
android.hardware.sensor.accelerometer tizen.feature.sensor.accelerometer
android.hardware.sensor.barometer tizen.feature.sensor.barometer
android.hardware.sensor.compass tizen.feature.sensor.magnetometer
android.hardware.sensor.gyroscope tizen.feature.sensor.gyroscope
android.hardware.sensor.light tizen.feature.sensor.photometer
android.hardware.sensor.proximity tizen.feature.sensor.proximity
android.hardware.sensor.stepcounter N/A
android.hardware.sensor.stepdetector N/A
android.hardware.screen.landscape N/A
android.hardware.screen.portrait N/A
android.hardware.telephony tizen.feature.network.telephony
android.hardware.telephony.cdma tizen.feature.network.telephony
android.hardware.telephony.gsm tizen.feature.network.telephony
android.hardware.Television N/A
android.hardware.faketouch N/A
android.hardware.faketouch.multitouch.distinct N/A
android.hardware.faketouch.multitouch.jazzhand N/A
android.hardware.touchscreen N/A
android.hardware.touchscreen.multitouch N/A
android.hardware.touchscreen.multitouch.distinct N/A
android.hardware.touchscreen.multitouch.jazzhand N/A
android.hardware.usb.host tizen.feature.usb.host
android.hardware.usb.accessory tizen.feature.usb.accessory
android.hardware.wifi tizen.feature.network.wifi
android.hardware.wifi.direct tizen.feature.network.wifi.direct
android.software.app_widgets N/A
android.software.device_admin N/A
android.software.home_screen N/A
android.software.input_methods N/A
android.software.live_wallpaper N/A
android.software.sip N/A
android.software.sip.voip N/A
이처럼 변환부 (220) 가 안드로이드 OS 기반 어플리케이션에서의 권한 및 피쳐를 타이젠 OS 기반 어플리케이션 패키지에서 사용가능한 권한 및 피쳐로 변환한 후 변환부 (220) 는 변환 어플리케이션 생성부 (230) 로 그 변환된 데이터를 제공한다 (S340).
변환 어플리케이션 생성부 (230) 는 변환부 (220) 로부터 권한 및 피쳐를 제공받고, 그 제공된 권한 및 피쳐를 가전기기용 타이젠 OS 기반 어플리케이션 패키지 형식에 따른 manifest파일에 적용하고, 다른 파일들과 manifest파일을 가전기기용 타이젠 OS에서 동작가능하도록 압축한다. 즉, 타이젠TV 기반에서 제공하는 프로그램을 설치한 후 바로 실행할 수 있는 형태의 파일로 압축하는 것이다. 이에 따라, 안드로이드 OS 기반 어플리케이션의 권한과 기능이 타이젠 OS 기반 어플리케이션의 권한 및 기능과 상이함에도, 호환가능한 변환이 가능할 수 있다.
도 4는 본 발명의 일 실시예에 따른 안드로이드 OS 기반 어플리케이션 패키지의 자동 변환 시스템을 구성하는 각 부에서 추출, 변환 및 생성되는 파일을 도식화한 도면이다.
전술한 바와 같이, 정보 추출부 (210) 는 안드로이드 OS 기반 어플리케이션 패키지 (10) 형태인 APK 파일에서 가전기기용 타이젠 OS 기반 어플리케이션 패키지 (20) 를 구성하기 위한 정보를 추출한다. 즉, 정보 추출부 (210) 는 안드로이드 OS 기반 어플리케이션 패키지 (10) 로부터 “AndroidManifest.xml”을 추출하고, 그 추출된 파일을 파싱하여 안드로이드 OS 기반의 권한 (211) 을 얻는다. 또한, 안드로이드 OS 기반 어플리케이션 패키지 (10) 로부터 안드로이드 OS 기반의 피쳐 (212) 를 추출한다.
이처럼 정보 추출부 (210) 가 추출한 정보는 변환부 (220) 로 제공되고, 변환부 (220) 는 이들 권한과 피쳐 (211, 212) 를 타이젠 OS 기반 어플리케이션에서 사용될 수 있는 권한 및 피쳐 (221, 222) 로 변환한다.
이처럼 변환부 (220) 가 권한과 피쳐 (221, 222)의 변환을 완료하면, 이 값들은 변환 어플리케이션 생성부 (230) 로 제공된다. 변환 어플리케이션 생성부 (230) 는 이들 제공된 권한과 피쳐 (221, 222) 를 타이젠 OS 기반 어플리케이션의 manifest파일에 선언하고, 가전기기용 타이젠 OS 기반 어플리케이션 패키지 (20) 로 실행을 위한 파일들과 압축하여 패키지 생성을 완료한다.
도 5는 본 발명의 일 실시예에 따른 안드로이드 OS 기반 어플리케이션 패키지의 자동 변환 방법의 제어 순서도이다.
변환 시스템 (100) 에서 변환 툴이 구동되고 미리 저장되거나 네트워크를 통해 제공된 안드로이드 OS 기반 어플리케이션 패키지 (10) 에 대한 변환이 요구된다. 혹은, 미리 저장되거나 네트워크를 통해 안드로이드 OS 기반 어플리케이션 패키지 (10) 가 제공되면 변환을 위해 변환 시스템 (100) 의 변환 툴이 구동된다.
변환 시스템 (100) 이 안드로이드 OS 기반 어플리케이션 패키지 (즉, APK 파일) (10) 를 입력받으면, 정보 추출부 (210) 는 이로부터 안드로이드 OS 기반 어플리케이션의 권한과 피쳐를 추출한다 (S510). 전술한 바와 같이 정보 추출부 (210) 에서 추출된 권한과 피쳐는 변환부 (220) 로 제공된다.
변환부 (220) 는 안드로이드 OS 기반 어플리케이션의 권한과 피쳐를 가전기기용 타이젠 OS 기반 어플리케이션에서 사용가능한 권한과 피쳐로 변환한다 (S520).
다음으로, 타이젠 OS 기반 어플리케이션이 구동될 가전기기에서 제공가능한 권한과 피쳐를 수신한다(S530). 다양한 실시예에서, 권한과 피쳐를 수신하는 단계 없이, 가전기기에서 제공가능한 권한과 피쳐는 미리 결정된 상태로 저장될 수도 있다.
다음으로, 변환된 권한 및 피쳐에 가전기기에서 제공가능하지 않은 권한 및 피쳐가 포함되는지가 결정된다 (S540). 예를 들어, 이 결정하는 단계는 전술된 표 1 및 표 2에서 N/A에 해당하는 권한이나 피쳐가 존재하는지를 결정함으로써 수행될 수 있다. 가전기기에서 제공가능하지 않은 권한 및 피쳐가 존재하는 경우, 그 리스트나 알림이 제공되고(S550), 어플리케이션 패키지의 변환은 종료될 수도 있다.
한편, 변환된 권한과 피쳐에 가전기기에서 제공가능한 권한 및 피쳐만이 포함된 경우, 변환 어플리케이션 생성부 (230) 는 권한 및 피쳐와 실행 파일들를 기초로 가전기기용 타이젠 OS 기반 어플리케이션 패키지를 생성한다(S560). 가전기기용 타이젠 OS 기반 어플리케이션 패키지는 기본 형식에 있어서 타이젠TV와 같은 타이젠 OS가 구동되는 가전기기에서 요구하는 사양을 맞춘 것이므로 타이젠TV등에 다운로드, 인스톨, 언인스톨이 가능하다.
이상의 설명에서는 변환 툴을 가진 컴퓨터에서 수행되는 경우를 가정하여 설명하였으며, 이때 가전기기용 타이젠 OS에는 변환된 프로그램을 실행하기 위해 별도의 안드로이드 어플리케이션 실행 프로그램이 탑재되어야 한다. 하지만, 이상에서 설명한 바의 내용을 스마트 단말에서 자동으로 수행하도록 프로그램을 변경하여 탑재할 수도 있다.
본 발명은 또한 컴퓨터 판독 가능한 기록 매체에 컴퓨터 판독 가능한 코드의 형태로 구현하는 것이 가능하다. 이때, 컴퓨터 판독 가능한 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
본 명세서에서, 각 블록 또는 각 단계는 특정된 논리적 기능 (들) 을 실행하기 위한 하나 이상의 실행 가능한 명령어 세트를 포함하는 명령어들 또는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
본 명세서에 개시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서에 의해 실행되는 하드웨어, 소프트웨어 모듈 또는 그 2 개의 결합으로 직접 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는 프로세서에 커플링되며, 그 프로세서는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로 (ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
10 안드로이드 OS 기반 어플리케이션 패키지
20 가전기기용 타이젠 OS 기반 어플리케이션 패키지
100 변환 시스템
101 사용자 UI부
102 송수신부
103 메모리
110 변환 제어부
210 정보 추출부
220 변환부
230 변환 어플리케이션 생성부
211 안드로이드 OS 기반 권한
212 안드로이드 OS 기반 피쳐
221 타이젠 OS 기반 권한
222 타이젠 OS 기반 피쳐

Claims (10)

  1. 정보 추출부를 통해 안드로이드 OS(Operating System) 기반 어플리케이션 패키지로부터 상기 안드로이드 OS 기반 어플리케이션이 안드로이드 OS의 제한된 API에 접근하거나 다른 어플리케이션의 제한된 컴포넌트를 사용하기 위해서 필요한 안드로이드 OS 기반 어플리케이션의 권한 및 상기 안드로이드 OS 기반의 디바이스에서 상기 안드로이드 OS 기반 어플리케이션이 설치되고 사용되는 경우, 상기 안드로이드 OS 기반 어플리케이션이 필요로 하는 피쳐를 추출하는 단계;
    변환부를 통해 상기 권한 및 피쳐를 각각 타이젠 OS에서 사용가능한 권한 및 피쳐로 변환하는 단계;
    타이젠 OS 기반의 가전기기에서 제공가능한 권한과 피쳐를 수신하는 단계;
    변환된 상기 타이젠 OS에서 사용가능한 권한 및 피쳐 각각을 상기 가전기기에서 제공가능한 권한 및 피쳐 각각과 비교하는 단계;
    변환된 상기 타이젠 OS에서 사용가능한 권한 및 피쳐가 상기 가전기기에서 제공가능한 권한 및 피쳐가 아닌 경우, 상기 가전기기에서 제공가능하지 않은 권한 및 피쳐가 포함되어있다는 것 또는 상기 가전기기에서 제공가능하지 않은 권한 및 피쳐의 리스트를 제공하는 단계; 및
    변환 어플리케이션 생성부를 통해 상기 타이젠 OS에서 사용가능한 권한 및 피쳐를 가전기기를 위한 타이젠 OS 기반 어플리케이션 패키지의 mainfest 파일에 선언하고, 상기 타이젠 OS에서 사용가능한 권한 및 피쳐를 상기 가전기기를 위한 타이젠 OS 기반 어플리케이션 패키지로 실행을 위한 파일들과 압축함으로써, 상기 가전 기기를 위한 타이젠 OS 기반 어플리케이션 패키지를 생성하는 단계를 포함하는 것을 특징으로 하는, 안드로이드 OS 기반 어플리케이션 패키지를 타이젠 OS 기반 가전기기용 어플리케이션으로 자동 변환하는 방법.
  2. 제 1 항에 있어서,
    상기 추출하는 단계는,
    상기 안드로이드 OS 기반 어플리케이션 패키지로부터 AndroidManifest.xml 파일을 추출하고 파싱 (parsing) 하여 상기 안드로이드 OS 기반 어플리케이션의 권한 및 피쳐를 추출하는 것을 특징으로 하는, 안드로이드 OS 기반 어플리케이션 패키지를 타이젠 OS 기반 가전기기용 어플리케이션으로 자동 변환하는 방법.
  3. 삭제
  4. 삭제
  5. 제 1 항에 있어서,
    상기 가전기기는 타이젠TV이며, 상기 타이젠 OS는 타이젠 TV용 OS이며, 상기 타이젠 OS 기반 어플리케이션은 TV용 어플리케이션인 것을 특징으로 하는, 안드로이드 OS 기반 어플리케이션 패키지를 타이젠 OS 기반 가전기기용 어플리케이션으로 자동 변환하는 방법.
  6. 안드로이드 OS 기반 어플리케이션 패키지를 타이젠 OS 기반 가전기기용 어플리케이션으로 자동 변환하는 방법을 제공하는 명령어들을 저장하는 컴퓨터 판독 가능 저장매체로서,
    상기 명령어들은,
    안드로이드 OS 기반 어플리케이션 패키지로부터 상기 안드로이드 OS 기반 어플리케이션이 안드로이드 OS의 제한된 API에 접근하거나 다른 어플리케이션의 제한된 컴포넌트를 사용하기 위해서 필요한 안드로이드 OS 기반 어플리케이션의 권한 및 상기 안드로이드 OS 기반의 디바이스에서 상기 안드로이드 OS 기반 어플리케이션이 설치되고 사용되는 경우, 상기 안드로이드 OS 기반 어플리케이션이 필요로 하는 피쳐를 추출하도록 구성된 명령어 세트;
    상기 권한 및 피쳐를 각각 타이젠 OS에서 사용가능한 권한 및 피쳐로 변환하도록 구성된 명령어 세트;
    상기 타이젠 OS 기반의 가전기기에서 제공가능한 권한과 피쳐를 수신하도록 구성된 명령어 세트;
    변환된 상기 타이젠 OS에서 사용가능한 권한 및 피쳐 각각을 상기 가전기기에서 제공가능한 권한 및 피쳐 각각과 비교하도록 구성된 명령어 세트;
    변환된 상기 타이젠 OS에서 사용가능한 권한 및 피쳐가 상기 가전기기에서 제공가능한 권한 및 피쳐가 아닌 경우, 상기 가전기기에서 제공가능하지 않은 권한 및 피쳐가 포함되어있다는 것 또는 상기 가전기기에서 제공가능하지 않은 권한 및 피쳐의 리스트를 제공하도록 구성된 명령어 세트; 및
    상기 타이젠 OS에서 사용가능한 권한 및 피쳐를 가전기기를 위한 타이젠 OS 기반 어플리케이션 패키지의 manifest 파일에 선언하고, 상기 타이젠 OS 에서 사용가능한 권한 및 피쳐를 상기 가전기기를 위한 타이젠OS 기반 어플리케이션 패키지로 실행을 위한 파일들과 압축함으로써, 상기 가전 기기를 위한 타이젠 OS 기반 어플리케이션 패키지를 생성하도록 구성된 명령어 세트를 포함하는 것을 특징으로 하는, 컴퓨터 판독 가능 저장매체.
  7. 제 6 항에 있어서,
    상기 추출하도록 구성된 명령어 세트는, 상기 안드로이드 OS 기반 어플리케이션 패키지로부터 AndroidManifest.xml 파일을 추출하고 파싱하여 상기 안드로이드 OS 기반 어플리케이션의 권한 및 피쳐를 추출하도록 구성된 명령어 세트를 포함하는 것을 특징으로 하는, 컴퓨터 판독 가능 저장매체.
  8. 삭제
  9. 삭제
  10. 제 6 항에 있어서,
    상기 가전기기는 타이젠TV이며, 상기 타이젠 OS는 타이젠 TV용 OS이며, 상기 타이젠 OS 기반 어플리케이션은 TV용 어플리케이션인 것을 특징으로 하는, 컴퓨터 판독 가능 저장매체.
KR1020150068705A 2015-05-18 2015-05-18 안드로이드 os 기반 어플리케이션 패키지를 가전기기용 타이젠 os 기반 어플리케이션 패키지로 자동 변환하는 방법 KR101675420B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150068705A KR101675420B1 (ko) 2015-05-18 2015-05-18 안드로이드 os 기반 어플리케이션 패키지를 가전기기용 타이젠 os 기반 어플리케이션 패키지로 자동 변환하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150068705A KR101675420B1 (ko) 2015-05-18 2015-05-18 안드로이드 os 기반 어플리케이션 패키지를 가전기기용 타이젠 os 기반 어플리케이션 패키지로 자동 변환하는 방법

Publications (1)

Publication Number Publication Date
KR101675420B1 true KR101675420B1 (ko) 2016-11-22

Family

ID=57540026

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150068705A KR101675420B1 (ko) 2015-05-18 2015-05-18 안드로이드 os 기반 어플리케이션 패키지를 가전기기용 타이젠 os 기반 어플리케이션 패키지로 자동 변환하는 방법

Country Status (1)

Country Link
KR (1) KR101675420B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114553755A (zh) * 2022-01-26 2022-05-27 深圳研控自动化科技股份有限公司 功能测试方法、系统、装置、终端设备以及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101427561B1 (ko) * 2013-05-16 2014-08-07 주식회사 인프라웨어테크놀러지 안드로이드 어플리케이션의 타이젠 설치가능 패키지 자동변환을 이용한 적응 실행 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체
US20140380137A1 (en) * 2011-12-30 2014-12-25 Haili Zhang Apparatuses and methods for web application converter systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140380137A1 (en) * 2011-12-30 2014-12-25 Haili Zhang Apparatuses and methods for web application converter systems
KR101427561B1 (ko) * 2013-05-16 2014-08-07 주식회사 인프라웨어테크놀러지 안드로이드 어플리케이션의 타이젠 설치가능 패키지 자동변환을 이용한 적응 실행 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Hyeokgon Ryu, Publishing to TIZEN Using the Automated. Conversion/Repackaging of Existing Android Apps., TIZEN developer summit KOREA 2013, 2013.11.* *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114553755A (zh) * 2022-01-26 2022-05-27 深圳研控自动化科技股份有限公司 功能测试方法、系统、装置、终端设备以及存储介质
CN114553755B (zh) * 2022-01-26 2024-04-26 深圳研控自动化科技股份有限公司 功能测试方法、系统、装置、终端设备以及存储介质

Similar Documents

Publication Publication Date Title
EP3441876B1 (en) Patch upgrade-based file processing method and device, terminal, and storage medium
KR102481065B1 (ko) 애플리케이션 기능 구현 방법 및 전자 디바이스
WO2016041312A1 (zh) 应用程序运行方法及装置
EP3096224B1 (en) Method and apparatus for processing application installation package
CN110865837B (zh) 一种进行系统升级的方法和终端
CN105809028B (zh) 在移动设备中运行相同应用的多个实例的装置和方法
KR20200140555A (ko) 전자 장치 및 전자 장치의 듀얼 스탠바이 모드 및 싱글 스탠바이 모드의 전환 방법
CN112162795B (zh) 一种插件启动方法、装置、计算机设备和存储介质
CN108090345B (zh) linux系统外部命令执行方法及装置
CN110084035B (zh) 用于在发生拒绝时建议响应指南的电子设备和方法
CN112783384A (zh) 一种云应用运行的控制方法及电子设备
Khan et al. Android Architecture and Related Security Risks
CN108874399B (zh) 安装插件的方法、装置及终端
EP4266202A1 (en) Data protection method and system, and medium and electronic device
CN111694585A (zh) 替换系统分区文件的方法、系统、终端和存储介质
KR101675420B1 (ko) 안드로이드 os 기반 어플리케이션 패키지를 가전기기용 타이젠 os 기반 어플리케이션 패키지로 자동 변환하는 방법
CN114706621B (zh) 一种启动快应用的方法及相关装置
WO2014067368A1 (zh) 资源预览图的获取方法、装置以及设备
JP7319431B2 (ja) アプリケーション機能の実施方法及び電子装置
JP6001199B2 (ja) アンドロイドアプリケーションのタイゼン導入可能パッケージ自動変換方法及びこのためのコンピュータ読み取り可能な記録媒体
CN107220082B (zh) 应用程序的安装方法、装置和设备
CN113485709B (zh) 应用优化方法、装置以及电子设备
KR20190098516A (ko) 어플리케이션과 관련된 데이터를 관리하기 위한 방법 및 그 전자 장치
KR101617765B1 (ko) 안드로이드 어플리케이션 패키지의 자동 변환 방법
CN110489679B (zh) 一种浏览器内核的处理方法、装置及存储介质

Legal Events

Date Code Title Description
GRNT Written decision to grant