KR20200090784A - 응용 프로그램 시작 방법, 시작 장치 및 컴퓨터 판독가능 저장 매체 - Google Patents

응용 프로그램 시작 방법, 시작 장치 및 컴퓨터 판독가능 저장 매체 Download PDF

Info

Publication number
KR20200090784A
KR20200090784A KR1020207014912A KR20207014912A KR20200090784A KR 20200090784 A KR20200090784 A KR 20200090784A KR 1020207014912 A KR1020207014912 A KR 1020207014912A KR 20207014912 A KR20207014912 A KR 20207014912A KR 20200090784 A KR20200090784 A KR 20200090784A
Authority
KR
South Korea
Prior art keywords
application
program
input event
sandbox
execution environment
Prior art date
Application number
KR1020207014912A
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 상하이 종리안 테크놀로지스 엘티디 씨오
Publication of KR20200090784A publication Critical patent/KR20200090784A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명에서는 응용 프로그램 시작 방법, 시작 장치 및 컴퓨터 판독가능 저장 매체를 제공하는 바, 상기 응용 프로그램 시작 방법에는, S101: 하나의 스마트 단말 내에 적어도 하나의 샌드박스 프로그램을 사전 구비하는 바, 상기 샌드박스 프로그램 내에 입력 이벤트를 처리하기 위한 한 그룹의 실행 환경 파라미터를 자체 정의하며; S102: 상기 샌드박스 프로그램을 실행시키며; S103: 상기 실행 환경 파라미터를 기반으로 하나의 응용 프로그램을 시작하는 단계가 포함된다. 상기 기술방안을 실시한 후, 응용 계층에서 입력 이벤트에 대한 가로채기 및 주입을 구현하고, 안드로이드 운영시스템의 프레임워크 계층 코드를 수정할 필요가 없어, 운영시스템 버전 업그레이드 시 프레임워크 계층의 이식 작업량을 크게 감소시키며; 샌드박스 프로그램 모델을 제공하여, 일반 응용 프로그램이 샌드박스 프로그램 내부에서 실행되도록 하여, 응용 프로그램 경계의 신뢰성을 확보하고, 제3자 운영시스템 또는 해커 프로그램이 초래하는 사용자 데이터 도난을 방지하며; 서로 다른 운영시스템 버전 상에서 실행될 수 있어, 범용성을 향상시킨다.

Description

응용 프로그램 시작 방법, 시작 장치 및 컴퓨터 판독가능 저장 매체
본 발명은 응용 프로그램 분야에 관한 것으로서, 특히 응용 프로그램 시작 방법, 시작 장치 및 컴퓨터 판독가능 저장 매체에 관한 것이다.
현재 스마트폰, 태블릿 PC 등 스마트 단말, 특히 안드로이드 시스템(Android System)을 기반으로 하는 스마트 단말의 응용이 날로 보편화되고 있고, 제3자들은 해당 운영시스템의 프레임워크 상에서 여러 가지 응용 수요를 만족시키는 응용 프로그램, 즉 APP를 개발한다. 이러한 응용 프로그램은 왕왕 사용자와 인간-기계 상호작용을 진행하여야 하는 바, 즉 사용자의 입력 조작을 수신하는 것으로서, 특히 게임 등 외부 입력 장치를 연결하여야 하는 응용 프로그램은 게임패드 입력 이벤트, 터치스크린 입력 이벤트 등 서로 다른 입력 이벤트가 발생하기 때문에, 운영시스템의 기초 상에서 서로 다른 입력 이벤트에 대하여 수정을 진행하여 응용 프로그램의 사용 수요를 만족시켜야 한다.
현재 Android 입력 이벤트에 대한 수정에 대하여, 종래 기술의 방안은 프레임워크 계층(Framework) 코드, 예를 들면 뷰 클래스(View) 또는 입력 관리 서비스(InputManagerService)를 수정하는 것을 통하여, 밑층 드라이버가 리포팅하는 입력 이벤트를 수정하는 것을 구현하여, 응용 프로그램이 순조롭게 수정된 이벤트를 식별 및 처리하도록 한다.
그러나 종래 기술에는 여전히 하기 문제가 존재한다.
1. 안드로이드 운영시스템의 발행측에서 경상적으로 업데이트를 진행하는 바, 업데이트된 후의 운영시스템에 대하여 재차 프레임워크 계층 코드에 대하여 이식을 진행하여 입력 이벤트에 대한 식별 처리를 유지하여야 하며;
2. 만일 운영시스템을 수정하는 방식에 따라 입력 이벤트에 대하여 처리를 진행하면, 수정한 코드는 직접 기타 운영시스템 버전(즉 ROM 버전)의 스마트 단말에 사용될 수 없어, 소프트웨어의 범용성이 비교적 차하다.
그러므로 안드로이드 운영시스템 프레임워크 계층을 수정하지 않는 전제 하에서 입력 이벤트를 식별 및 처리하는 방법을 개발하여, 안드로이드 운영시스템 버전 업그레이드 시 프레임워크 계층의 코드 이식 작업량을 감소시키고[위와 같이, 또한 더욱 범용적인 수정 방안(즉 본 방안)이 필요함], 또한 해당 방법이 서로 다른 운영시스템 버전의 스마트 단말 상에서 구현될 수 있어, 소프트웨어의 범용성을 향상시키는 것이 필요하다.
본 발명에서는 안드로이드 운영시스템 프레임워크 계층을 수정하지 않는 전제 하에서 입력 이벤트를 식별 및 처리하는 방법을 제공하여, 상기 스마트 단말 내에 하나의 샌드박스 프로그램을 사전 구비하여, 실행 환경 파라미터에 대한 수정을 구현하고, 상기 실행 환경 파라미터를 기반으로 상기 응용 프로그램을 시작하며[위와 같이, 범용성을 강조하여야 함]; 해당 방법은 또한 소프트웨어의 범용성을 향상시키고, 서로 다른 운용시스템 버전의 스마트 단말 상에서 실행되는 요구를 만족시킨다.
본 발명에서는 응용 프로그램 시작 방법을 제공하는 바,
S101: 하나의 스마트 단말 내에 적어도 하나의 샌드박스 프로그램을 사전 구비하는 바, 상기 샌드박스 프로그램 내에 입력 이벤트를 처리하기 위한 한 그룹의 실행 환경 파라미터를 자체 정의하며;
S102: 상기 샌드박스 프로그램을 실행시키며;
S103: 상기 실행 환경 파라미터를 기반으로 하나의 응용 프로그램을 시작하는 단계가 포함된다.
바람직하게는, S101 단계에서, 상기 실행 환경 파라미터에는 루트 뷰 클래스의 원소 변수가 포함된다.
바람직하게는, S103 단계 후, 상기 응용 프로그램 시작 방법에는 또한,
S104: 상기 응용 프로그램이 하나의 입력 이벤트를 수신할 때, 상기 실행 환경 파라미터 내의 루프 뷰 클래스가 상기 스마트 단말 운영시스템 중의 루트 뷰 클래스를 대체하여 상기 입력 이벤트에 대하여 식별 및 리포팅을 진행하는 단계가 포함된다.
바람직하게는, S101 단계에서, 상기 입력 이벤트에 상기 스마트 단말에 연결된 외부 입력 장치에 대응되는 외부 입력 이벤트 및 스마트 단말 터치스크린에 대응되는 터치 입력 이벤트가 포함된다.
바람직하게는, S101 단계에서, 상기 스마트 단말 운영시스템의 응용 계층에서 상기 샌드박스 프로그램을 사전 구비한다.
본 발명에서는 또한 응용 프로그램 시작 장치를 제공하는 바,
하나의 스마트 단말 내에 적어도 하나의 샌드박스 프로그램을 사전 구비하는 바, 상기 샌드박스 프로그램 내에 입력 이벤트를 처리하기 위한 한 그룹의 실행 환경 파라미터를 자체 정의하는 사전 구비 모듈;
상기 사전 구비 모듈과 연결되고, 상기 샌드박스 프로그램을 실행시키는 실행 모듈;
상기 사전 구비 모듈과 연결되고, 상기 실행 환경 파라미터를 기반으로 하나의 응용 프로그램을 시작하는 시작 모듈이 포함된다.
바람직하게는, 상기 사전 구비 모듈이 상기 샌드박스 프로그램을 사전 구비할 때, 상기 실행 환경 파라미터에는 루트 뷰 클래스의 원소 변수가 포함된다.
바람직하게는, 상기 응용 프로그램 시작 장치에는 또한,
상기 시작 모듈 및 사전 구비 모듈과 연결되고, 상기 응용 프로그램이 하나의 입력 이벤트를 수신할 때, 상기 실행 환경 파라미터 내의 루프 뷰 클래스가 상기 스마트 단말 운영시스템 중의 루트 뷰 클래스를 대체하여 상기 입력 이벤트에 대하여 식별 및 리포팅을 진행하도록 제어하는 처리 모듈이 포함된다.
바람직하게는, 상기 사전 구비 모듈이 상기 샌드박스 프로그램을 사전 구비할 때, 상기 입력 이벤트에 상기 스마트 단말에 연결된 외부 입력 장치에 대응되는 외부 입력 이벤트 및 스마트 단말 터치스크린에 대응되는 터치 입력 이벤트가 포함된다.
바람직하게는, 상기 사전 구비 모듈이 상기 스마트 단말 운영시스템의 응용 계층에서 상기 샌드박스 프로그램을 사전 구비한다.
본 발명에서는 또한 컴퓨터 판독가능 저장 매체를 제공하는 바, 여기에는 컴퓨터 프로그램이 저장되어 있고, 상기 컴퓨터 프로그램이 프로세서에 의해 실행될 때,
S105: 하나의 스마트 단말 내에 적어도 하나의 샌드박스 프로그램을 사전 구비하는 바, 상기 샌드박스 프로그램 내에 입력 이벤트를 처리하기 위한 한 그룹의 실행 환경 파라미터를 자체 정의하며;
S106: 상기 샌드박스 프로그램을 실행시키며;
S107: 상기 실행 환경 파라미터를 기반으로 하나의 응용 프로그램을 시작하는 단계를 실행한다.
바람직하게는, S105 단계에서, 상기 실행 환경 파라미터에는 루트 뷰 클래스의 원소 변수가 포함된다.
바람직하게는, S107 단계 후, 상기 응용 프로그램 시작 방법에는 또한,
S108: 상기 응용 프로그램이 하나의 입력 이벤트를 수신할 때, 상기 실행 환경 파라미터 내의 루프 뷰 클래스가 상기 스마트 단말 운영시스템 중의 루트 뷰 클래스를 대체하여 상기 입력 이벤트에 대하여 식별 및 리포팅을 진행하는 단계가 포함된다.
바람직하게는, S105 단계에서, 상기 입력 이벤트에 상기 스마트 단말에 연결된 외부 입력 장치에 대응되는 외부 입력 이벤트 및 스마트 단말 터치스크린에 대응되는 터치 입력 이벤트가 포함된다.
바람직하게는, S105 단계에서, 상기 스마트 단말 운영시스템의 응용 계층에서 상기 샌드박스 프로그램을 사전 구비한다.
상기 기술 방안을 사용한 후, 종래의 기술에 비하여, 하기 유익한 효과를 가진다.
1. 응용 계층에서 입력 이벤트에 대한 가로채기 및 주입을 구현하고, 안드로이드 운영시스템의 프레임워크 계층 코드를 수정할 필요가 없어, 운영시스템 버전 업그레이드 시 프레임워크 계층의 이식 작업량을 크게 감소시키며;
2. 샌드박스 프로그램 모델을 제공하여, 일반 응용 프로그램이 샌드박스 프로그램 내부에서 실행되도록 하여, 응용 프로그램 경계의 신뢰성을 확보하고, 제3자 ROM 또는 해커 프로그램이 초래하는 사용자 데이터 도난을 방지하며;
3. 서로 다른 운영시스템 버전 상에서 실행될 수 있어, 범용성을 향상시킨다.
도1은 본 발명의 일 바람직한 실시예 중의 응용 프로그램 시작 방법의 흐름 도면.
도2는 본 발명의 일 바람직한 실시예 중의 응용 프로그램 시작 장치의 구조 블럭도.
도3은 본 발명의 하나의 바람직한 실시예 중의 상기 컴퓨터 판독가능 저장 매체 중의 컴퓨터 프로그램의 흐름 도면.
도4는 본 발명의 일 바람직한 실시예 중의 응용 프로그램 시작 방법의 운영시스템 블럭도.
아래, 도면과 구체적인 실시예를 참조하여 진일보로 본 발명의 장점을 설명하도록 한다.
여기에서는 상세하게 예시적 실시예를 설명할 것이며, 여시는 도면에 표시되어 있다. 아래의 설명이 도면과 연관될 때, 다른 표시가 있는 외, 다른 도면 중의 같은 숫자는 같거나 유사한 요소를 표시한다. 하기 예시적 실시예에서 설명하는 실시 방식은 본 출원과 일치한 모든 실시 방식을 대표하는 것이 아니다. 반대로, 이는 단지 특허청구범위에 상세하게 기재된, 본 출원의 일부 방면과 일치한 장치와 방법의 예일 뿐이다.
본 출원에 사용된 용어는 단지 특정 실시예를 설명하기 위한 목적이고, 본 출원을 제한하는 것이 아닌 것을 이해할 것이다. 본 출원과 첨부된 특허청구범위에 사용된 단수 형식의 “한 가지”, “상기”와 “해당”도 문맥 상에서 명확하게 기타 뜻을 표시하지 않은 한, 복수의 형식이 포함된다. 또한 본 출원에 사용된 용어 “및/또"는 하나 또는 복수의 관련된 나열 항목을 포함하는 임의의 또는 모든 가능한 조합을 가리키는 것을 이해할 것이다.
본 출원이 용어 제1, 제2, 제3 등을 사용하여 여러 가지 정보를 설명할 수 있지만, 이러한 정보는 이러한 용어의 제한을 받지 않는다. 이러한 용어는 단지 동일한 유형의 정보를 서로 구분하기 위한 것이다. 예를 들면, 본 출원의 범위를 벗어나지 않는 상황 하에서, 제1 정보는 또한 제2 정보라 칭할 수 있고, 이와 유사하게, 제2 정보도 또한 제1 정보라 칭할 수 있다. 비록 문맥에 의하여 결정되기는 하지만, 여기에서 사용되는 단어”만일”은 “... 때” 또는 “... 할 때” 또는 “... 결정한 것에 응답하여”로 해석될 수 있다.
본 발명의 설명에서, 용어 "세로 방향", "가로 방향", "상", "하", "전", "후", "좌", "우", "수직", "수평", "꼭대기", "저부", "내", "외" 등이 지시하는 방향 또는 위치 관계는 도면에 도시된 방향 또는 위치 관계를 기초로 한 것으로서, 단지 본 발명에 대한 설명의 편리를 위하고 설명을 간략화하기 위한 것일 뿐 해당 장치 또는 소자가 반드시 특정 방향을 구비하고 특정 방향으로 구성되고 조작되어야 함을 뜻하는 것이 아니기 때문에, 본 발명에 대해 한정하는 것으로 이해되어서는 안된다.
본 발명의 설명에서, 다른 규정과 제한이 있는 외, 설명하여야 할 바로는, 용어 “설치”, “상호 연결”, “연결”은 광의적으로 이해하여야 하는 바, 예를 들면, 기계적 연결 또는 전기적 연결일 수 있고, 또한 두 소자 내부의 연통일 수 있으며, 또한 직접 상호 연결일 수 있으며, 또한 중간 매개체를 통하여 간접적으로 연결될 수 있고, 당업계의 기술자로 말하면, 구체적인 상황에 의거하여 상기 용어의 구체적인 뜻을 이해할 수 있다.
차후의 설명에서, 소자를 표시하기 위한 예를 들면 “모듈”, “부품” 또는 “유닛” 등 접미사를 사용하는 것은 단지 본 발명의 설명의 편리를 위한 것일 뿐, 그 자체는 특정된 뜻을 갖고 있지 않다. 그러므로, “모듈”과 “부품”은 혼합되어 사용될 수 있다.
도1을 참조하면, 이는 본 발명의 일 바람직한 실시예 중의 응용 프로그램 시작 방법의 흐름 도면으로서, 상기 응용 프로그램 시작 방법에는 하기 단계가 포함된다.
S101: 하나의 스마트 단말 내에 적어도 하나의 샌드박스 프로그램을 사전 구비하는 바, 상기 샌드박스 프로그램 내에 입력 이벤트를 처리하기 위한 한 그룹의 실행 환경 파라미터를 자체 정의한다.
상기 샌드박스 프로그램은 또한 샌드박스(sandbox)라고 칭하고, 프로그램 실행을 제한하는 환경을 구축하기 위한 것으로서, 일종의 전형적인 안전 모델이다. 상기 샌드박스 프로그램이 프로그램 실행을 제한하는 것은 일 방면으로 시스템 자원을 보호하기 위한 것이고, 아울러 다른 일 방면으로는 또한 프로그램 자체를 보호하여 악의적인 접근과 데이터 누설을 방지하기 위한 것이다. 상기 시스템 자원에는 또한 CPU, 메모리, 파일 시스템, 네트워크 등이 포함된다. 예를 들면 Java 언어 개발에서, 그 보안 모델의 핵심은 바로 샌드박스로서, 서로 다른 샌드박스를 구비하여 서로 다른 시스템 자원 방문 제한에 대응되게 할 수 있으며, 모든 Java 프로그램 실행은 모두 샌드박스를 실행할 수 있고, 보안 정책을 수립할 수 있다. 상기 샌드박스 프로그램에는 권한, 코드 소스, 보호 도메인, 정책 파일, 비밀 키 라이브러리 등 요소가 포함되어, 보호받는 프로그램 코드를 위하여 권한 조작, 보호 범위 및 여러 가지 보안 정책을 설정할 수 있다. Java 샌드박스의 구현은 클래스 로드와 보안 매니저를 리라이팅하는 것을 통하여, 설정된 글로벌 보안 매니저를 통하여 응용 프로그램을 실행하는 권한을 제어한다.
본 실시예에서, 상기 샌드박스 프로그램은 상기 스마트 단말 내에 구비되고, 그 내부에 입력 이벤트를 처리하기 위한 한 그룹의 실행 환경 파라미터를 자체 정의하여, 구성 파일 형식으로 상기 스마트 단말 내에 저장된다. 안드로이드 운영시스템에 있어서, 여러 가지 응용 프로그램의 실행은 실행 환경의 지원이 필요하며, 상기 실행 환경은 하나의 광의적 개념으로서, 응용 프로그램과 관련된 운영시스템이 이미 정의한 여러 가지 클래스 또는 서비스의 집합으로 표현되며, 특히 각 클래스의 속성과 원소 변수는 응용 프로그램 실행에 필요한 여러 가지 파라미터를 지원한다. 본 단계에서 상기 샌드박스 프로그램을 구비할 때, 상기 샌드박스 프로그램 내에 정의된 실행 환경 파라미터는 입력 이벤트 처리와 관련된 클래스 중에 분포되고, 상기 실행 환경 파라미터는 개별적인 클래스의 원소 변수일 수도 있고, 또한 전체 클래스에 대하여 재차 정의를 진행할 수도 있다. 본 단계에서는 상기 샌드박스 프로그램 내에서 재차 입력 이벤트 처리와 관련된 클래스 또는 클래스 중의 원소 변수를 정의하고, 또한 상기 입력 이벤트에 대한 모니터링을 사전 구비하며, 입력 이벤트가 발생할 때, 상기 샌드박스 프로그램 내에 정의된 실행 환경 파라미터를 실행하여 상기 입력 이벤트에 대하여 처리를 진행한다. 상기 샌드박스 프로그램 내에 정의된 실행 환경 파라미터는 응용 계층의 실행 환경에 대한 수정에 제한되는 것이 아니고, 또한 시스템 실행 라이브러리 계층 또는 구동 계층과 관련될 수 있으며; 상기 실행 환경 파라미터도 어느 클래스, 방법 또는 서비스에 제한되지 않고, 여러 가지 클래스, 방법 또는 서비스이 집합이어, 상기 응용 프로그램이 필요한 실행 환경을 실행할 수 있다.
S102: 상기 샌드박스 프로그램을 실행시킨다.
본 단계에서 상기 샌드박스 프로그램을 실행할 때, 오직 우선 상기 샌드박스 프로그램을 실행하여야만, 비로소 후속의 응용 프로그램 실행을 위하여 상응한 실행 환경 파라미터를 제공할 수 있다. 상기 샌드박스 프로그램을 실행하는 것은 여러 가지 방식을 통하여 구현할 수 있는 바, 개발 단계에서, 개발 환경 하에서 명령을 실행하여 샌드박스 프로그램을 시작할 수 있는 바, 예를 들면 Java 중에서 보안 매니저를 여는 명령을 실행하며; 또한 샌드박스 프로그램의 실행을 상응한 조작과 관련시킬 수 있는 바, 예를 들면 샌드박스 프로그램 내에서 실행하여야 하는 응용 프로그램을 동일한 폴더 내에 넣고, 사용자가 해당 폴더를 열 때 상기 샌드박스 프로그램의 실행을 트리거시킬 수 있다. 상기 샌드박스 프로그램이 실행된 후, 상기 입력 이벤트의 관련 인터페이스에 대한 모니터링을 시작하여, 입력 이벤트의 처리에 대하여 가로채기를 진행하며, 상기 운영시스템 내 원래 실태가 더는 작용을 일으키지 않는다.
S103: 상기 실행 환경 파라미터를 기반으로 하나의 응용 프로그램을 시작한다.
본 단계는 상기 응용 프로그램의 시작을 구현하는 바, 상기 응용 프로그램의 실행은 상기 샌드박스 프로그램 중에 사전 구비된 실행 환경 파라미터를 기반으로 한다. 상기 샌드박스 프로그램 중에는 보호 필드를 사전 구비할 수 있는 바, 다시 말하면 어떤 응용 프로그램이 상기 샌드박스 프로그램 중에서 관련되는지 정의하고, 상기 샌드박스 프로그램이 실행된 후, 보호 필드 내의 관련된 응용 프로그램이 실행될 때 상기 샌드박스 프로그램의 사전 구비된 실행 환경 파라미터에 따라 실행한다. 상기 응용 프로그램의 시작은 사용자의 조작을 수신하고 시작하는 것일 수 있는 바, 예를 들면 사용자가 응용 프로그램 아이콘에 대하여 터치 조작을 실행하여 응용 프로그램을 연다. 유의하여야 할 바로는, 상기 응용 프로그램과 상기 샌드박스 프로그램이 서로 다른 프로세스에 속하지만, 샌드박스 응용의 실행 시 환경을 상속하여, 외부에서 볼 때 상기 응용 프로그램이 상기 샌드박스 프로그램 내부에서 실행되는 것과 같다. 상기 응용 프로그램과 운영시스템의 상호작용은 상기 샌드박스 프로그램을 통하여 구현되는 바, 즉 상기 응용 프로그램이 취득한 여러 가지 유형의 입력 이벤트는 반드시 상기 샌드박스 프로그램 내에 정의된 실행 환경 파라미터를 기반으로 처리를 진행하여야 하고, 운영시스템 내 원래의 관련 실행 환경 파라미터는 상기 응용 프로그램으로 말하면 감추어진 것이다. 상기 샌드박스 프로그램 내에 정의된 실행 환경 파라미터 외, 기타 실행 환경 파라미터는 여전히 운영시스템 내의 구성에 따라 상기 응용 프로그램 실행을 지원한다. 양자의 종속 관계로부터 보면, 상기 응용 프로그램은 샌드박스 프로그램의 클라이언트 프로세스이고, 상기 샌드박스 프로그램은 상기 응용 프로그램의 호스팅 프로세스이며, 상기 응용 프로그램은 샌드박스 프로그램 실행 시의 실행 환경을 기반으로 샌드박스 프로그램과 통신을 진행하고, 샌드박스 프로그램은 상기 응용 프로그램으로 사전 설정된 API를 노출하여 상응한 기능을 제공하며, 입력 이벤트에 대하여 처리를 진행하는 외, 또한 예를 들면 시스템 상태, 지리 위치 정보를 취득하는 등 기능을 제공할 수 있다.
상기 응용 프로그램 시작 방법의 진일보의 개선으로서, 상기 S101 단계에서, 상기 실행 환경 파라미터에는 루트 뷰 클래스의 원소 변수가 포함된다. 본 개선 실시예는 상기 샌드박스 프로그램에 자체 정의된 실행 환경 파라미터에 대하여 바람직한 선택을 진행하는 바, 즉 상기 루트 뷰 클래스의 원소 변수이다. 상기 루트 뷰 클래스는 안드로이드 운영시스템 응용 계층 중의 중요한 클래스로서, 영어로는 ViewRootImpl이고, 이의 작용은 뷰(View) 객체에 대하여 충진을 진행하여, 구체적인 뷰 객체의 관리 임무를 완성하는 것이며; 루트 뷰 클래스는 또한 윈도우 관리 서비스(indowManagerService)와 통신을 진행하여 디스플레이하고자 하는 화면을 관리한다. 본 실시예에서, 루트 뷰 클래스의 원소 변수에 대하여 자체 정의를 진행하는 것을 통하여, 각 입력 이벤트에 대하여 처리를 진행하고, 또한 입력 이벤트의 결과를 디스플레이 화면에 반영하는 것을 구현한다.
진일보로, S103 단계 후, 상기 응용 프로그램 시작 방법에는 또한,
S104: 상기 응용 프로그램이 하나의 입력 이벤트를 수신할 때, 상기 실행 환경 파라미터 내의 루프 뷰 클래스가 상기 스마트 단말 운영시스템 중의 루트 뷰 클래스를 대체하여 상기 입력 이벤트에 대하여 식별 및 리포팅을 진행하는 단계가 포함된다.
본 개선 실시예는 상기 실행 환경 파라미터에 루트 뷰 클래스의 원소 변수가 포함되는 기초 상에, S104 단계를 구현하였다. 상기 스마트 단말 터치스크린 또는 기타 입력 장치가 입력 조작을 수신하면, 상기 스마트 단말의 밑층 드라이버가 상기 입력 조작을 식별하고 또한 입력 이벤트를 형성하며, 이어 상기 입력 이벤트를 층층이 리포팅한다. 본 단계는 입력 이벤트에 대한 처리 과정을 구현하는 바, 상기 응용 프로그램이 입력 이벤트가 발생한 것을 모니터링하였을 때, 상기 응용 프로그램은 상기 샌드박스 프로그램이 제공하는 루트 뷰 클래스에 의하여 상기 입력 이벤트에 대하여 식별을 진행하고, 또한 기타 기능 모듈에 리포팅하여 처리를 진행한다. 상기 샌드박스 프로그램의 보안 정책은 입력 이벤트 발생 시 진행하는 실행 환경 파라미터의 취득 경로에 대하여 정의를 진행하여, 상기 루트 뷰 클래스에 대한 대체를 구현한다. 종래 기술에서, 만일 샌드박스 프로그램을 실행하지 않으면, 상기 응용 프로그램은 운영시스템의 기본 실행 환경에 의하여 상기 입력 이벤트에 대하여 처리를 진행할 것이며, 특히 서로 다른 입력 이벤트에 대하여 효과적으로 식별할 수 없을 것이고, 단지 동일한 유형의 입력 이벤트, 예를 들면 터치스크린 입력 이벤트만 식별할 수 있을 것이다.
상기 응용 프로그램 시작 방법의 진일보의 개선으로서, 상기 S101 단계에서, 상기 입력 이벤트에 상기 스마트 단말에 연결된 외부 입력 장치에 대응되는 외부 입력 이벤트 및 스마트 단말 터치스크린에 대응되는 터치 입력 이벤트가 포함된다. 본 개선된 실시예는 상기 입력 이벤트의 종류에 대하여 진일보로 한정한다. 사용자가 상기 스마트 단말을 사용하여 대량의 복잡한 조작이 필요한 응용 프로그램을 실행할 때, 예를 들면 게임을 진행할 때, 단지 스마트 단말 터치스크린의 입력 조작만을 통해서는 상호작용 수요를 만족시킬 수 없고, 또한 외부 입력 장치, 예를 들면 게임패드와 상기 스마트 단말을 통신 연결한 후 보조 입력 조작을 진행하여야 한다. 종래 기술 중의 스마트 단말 운영시스템이 상기 외부 입력 장치가 수신한 입력 조작에 대하여 하나의 외부 입력 이벤트를 생성하고, 스마트 단말 터치스크린이 수신한 입력 조작에 대하여 하나의 터치 입력 이벤트를 생성하지만, 운영시스템의 응용 계층이 상기 두 가지 입력 이벤트에 대하여 식별을 진행하고 또한 구분 처리를 진행할 수 없어, 두 가지 입력 이벤트가 존재할 수 없고, 사용자는 단지 한 가지 입력 조작만 선택하여야 한다. 본 실시예 중의 상기 샌드박스 프로그램은 상기 운영시스템 프레임워크 계층의 인터페이스로부터 리포팅한 입력 이벤트를 모니터링하고, 또한 자체 정의된 루트 뷰 클래스를 통하여 서로 다른 입력 이벤트에 대하여 식별 및 처리를 진행하여, 상기 응용 프로그램(예를 들면 게임 프로그램)이 터치스크린 조작과 외부 입력 장 입력 조작에 대한 식별 능력을 갖도록 하고, 사용자는 동시에 두 가지 입력 조작을 진행할 수 있어, 입력 조작 방식을 풍부하게 하고, 체험 효과를 향상시켰다.
상기 응용 프로그램 시작 방법의 진일보의 개선으로서, 상기 S101 단계에서, 상기 스마트 단말 운영시스템의 응용 계층에서 상기 샌드박스 프로그램을 사전 구비한다. 상기 샌드박스 프로그램은 상기 운영시스템의 응용 계층에서 작동하고, 이와 관련된 실행 환경 파라미터도 주요하게는 응용 계층의 클래스 또는 방법이며, 작동 시 상기 운영시스템 프레임워크 계층으로부터 이벤트를 취득하고, 프레임워크 계층 자체에 대하여 수정을 진행할 필요가 없다. 이로써 운영시스템이 업그레이드를 진행한다 할지라도, 단지 샌드박스 프로그램을 응용 계층에서 이식하기만 하면 되고, 기타 계층의 코드 수정과 관련되지 않기 때문에, 이식 작업량을 감소시킨다. 아울러, 상기 응용 프로그램이 직접 샌드박스 프로그램과 상호작용을 진행하고 운영시스템과 상호작용을 하는 것이 아니기 때문에, 상기 샌드박스 프로그램이 장벽의 작용을 일으켜, 데이터의 보안성을 확보할 수 있고, 데이터 누설을 방지하며[이전의 상황과 같이, 여기에서 “아울러 간편하게 서로 다른 안드로이드 시스템(ROM) 플랫폼에 적용할 수 있다”는 것을 강조할 수 있지 않을지]; 아울러 해당 샌드박스 프로그램 및 응용 프로그램은 간편하게 서로 다른 안드로이드 운영시스템(ROM) 플랫폼에 적용될 수 있어, 비교적 훌륭한 범용성을 갖는다.
도4를 참조하면, 이는 본 발명의 일 바람직한 실시예 중의 응용 프로그램 시작 방법의 운영시스템 블럭도이다. 도4에서는 안드로이드(Android) 운영시스템 하의 각 계층을 표시하는 바, 응용 계층(Application), 프레임워크 계층(Framework), 로컬 실행 라이브러리 계층(Android Native) 및 드라이버 계층(Android Driver)이 포함되고, 각 계층은 단지 본 발명과 관련된 각 모듈만 표시한다. 그 중에서, 드라이버 계층에는 터치스크린 드라이버 프로그램 및 외부 입력 장치 드라이버 프로그램이 포함되어, 터치스크린 및 외부 입력 장치가 수신한 입력 조작을 식별하고, 또한 입력 이벤트를 형성한다. 상기 로컬 실행 라이브러리 계층에는 입력 관리 서비스 로컬 실행 라이브러리(InputManagerService Native)가 포함되어, 입력 이벤트의 처리를 위하여 로컬 지원을 제공한다. 프레임워크 계층에는 입력 관리 서비스(InputManagerService)와 뷰 클래스(View)가 포함되고, 입력 관리 서비스는 입력 이벤트에 대하여 관리를 진행하고 또한 응용 계층으로 리포팅하며, 뷰 클래스는 디스플레이 화면의 디스플레이를 제어한다. 본 발명에 관련된 샌드박스 프로그램 및 응용 프로그램은 모두 응용 계층에 있고, 원래 운영시스템 내에 설치된 응용 프로그램이 상기 샌드박스 프로그램의 기초 상에서 실행된 후 응용 프로그램’으로 변하고, 상기 응용 프로그램’은 상기 샌드박스 프로그램이 제공한 실행 환경을 기반으로 실행되며, 프레임워크 계층으로부터 리포팅된 입력 이벤트는 상기 샌드박스 프로그램을 경과한 후 다시 상기 응용 프로그램’으로 리포팅된다. 샌드박스 프로그램 내부의 실행 환경을 수정하는 것을 통하여, 입력 이벤트의 주문화 수요를 만족시켜, 샌드박스 내부에서 시작한 응용 프로그램’이 주문화 능력을 취득하도록 하고, 또한 응용 프로그램을 위하여 더욱 많은 확장성과 보안성을 제공한다.
도2를 참조하면, 이는 본 발명의 일 바람직한 실시예 중의 응용 프로그램 시작 장치의 구조 블럭도로서, 상기 응용 프로그램 시작 장치(10)에는 하기 모듈이 포함된다.
-사전 구비 모듈(11)
사전 구비 모듈(11)은 하나의 스마트 단말 내에 적어도 하나의 샌드박스 프로그램을 사전 구비하는 바, 상기 샌드박스 프로그램 내에 입력 이벤트를 처리하기 위한 한 그룹의 실행 환경 파라미터를 자체 정의한다. 상기 사전 구비 모듈(11)은 상기 샌드박스 프로그램의 구성 파일을 구성하는 바, 예를 들면 Java 중의 샌드박스 프로그램에는 권한, 코드 소스, 보호 도메인, 정책 파일, 비밀 키 라이브러리 등 요소가 포함되어, 실행 환경 파라미터를 기록하고, 클래스 로드와 보안 매니저를 리라이팅하는 것을 통하여, 설정된 글로벌 보안 매니저를 통하여 응용 프로그램을 실행하는 권한을 제어한다. 상기 사전 구비 모듈(11)의 상기 샌드박스 프로그램 내에 자체 정의된 실행 환경 파라미터는 상기 스마트 단말 입력 이벤트의 처리에 관련되고, 개별적인 클래스의 원소 변수일 수도 있고, 또한 전체 클래스에 대하여 재차 정의를 진행할 수도 있으며; 상기 실행 환경 파라미터도 어느 클래스, 방법 또는 서비스에 제한되지 않고, 여러 가지 클래스, 방법 또는 서비스이 집합이어, 상기 응용 프로그램이 필요한 실행 환경을 실행할 수 있다.
-실행 모듈(12)
상기 실행 모듈(12)은 상기 사전 구비 모듈(11)과 연결되고, 상기 샌드박스 프로그램을 실행시킨다. 상기 실행 모듈(12)은 개발 환경 하의 실행 명령일 수 있으며; 또한 응용 계층의 사용자 상호작용 조작과 상기 샌드박스 프로그램을 관련시킬 수 있으며, 사용자 상호작용 조작(예를 들면 폴더 열기)이 존재할 때, 상기 샌드박스 프로그램을 실행한다. 상기 샌드박스 프로그램이 실행된 후, 상기 입력 이벤트의 관련 인터페이스에 대한 모니터링을 시작하여, 입력 이벤트의 처리에 대하여 가로채기를 진행하며, 상기 운영시스템 내 원래 실태가 더는 작용을 일으키지 않는다.
-시작 모듈(13)
상기 시작 모듈(13)은 상기 사전 구비 모듈(11)과 연결되고, 상기 실행 환경 파라미터를 기반으로 하나의 응용 프로그램을 시작한다. 상기 시작 모듈(13)이 상기 응용 프로그램을 시작할 때, 상기 사전 구비 모듈(11)을 통하여 실행에 필요한 실행 환경 파라미터를 취득하고, 또한 직접 운영시스템과 상호작용을 진행하지 않는다. 상기 시작 모듈(13)은 사용자의 조작을 수신하고 시작하도록 설정할 수 있는 바, 예를 들면 사용자가 응용 프로그램 아이콘에 대하여 터치 조작을 실행하여 응용 프로그램을 연다. 상기 샌드박스 프로그램 내에 정의된 실행 환경 파라미터 외, 기타 실행 환경 파라미터는 여전히 운영시스템 내의 구성에 따라 상기 응용 프로그램 실행을 지원한다.
상기 응용 프로그램 시작 장치(10)의 진일보의 개선으로서, 상기 사전 구비 모듈(11)이 상기 샌드박스 프로그램을 사전 구비할 때, 상기 실행 환경 파라미터에는 루트 뷰 클래스의 원소 변수가 포함된다. 루트 뷰 클래스의 원소 변수에 대하여 자체 정의를 진행하는 것을 통하여, 각 입력 이벤트에 대하여 처리를 진행하고, 또한 입력 이벤트의 결과를 디스플레이 화면에 반영하는 것을 구현한다.
진일보로, 상기 응용 프로그램 시작 장치(10)에는 또한 하기 모듈이 포함된다.
-처리 모듈(14)
상기 처리 모듈(14)은 상기 시작 모듈(13) 및 사전 구비 모듈(11)과 연결되고, 상기 응용 프로그램이 하나의 입력 이벤트를 수신할 때, 상기 실행 환경 파라미터 내의 루프 뷰 클래스가 상기 스마트 단말 운영시스템 중의 루트 뷰 클래스를 대체하여 상기 입력 이벤트에 대하여 식별 및 리포팅을 진행하도록 제어한다. 상기 시작 모듈(13)이 상기 응용 프로그램을 시작한 후, 상기 처리 모듈(14)은 상기 응용 프로그램이 입력 이벤트를 수신하였는지 여부에 대하여 모니터링을 진행하며, 입력 이벤트가 발생하였을 때, 상기 처리 모듈(14)은 상기 샌드박스 프로그램이 제공하는 루트 뷰 클래스에 의하여 상기 입력 이벤트에 대하여 식별을 진행하고, 또한 기타 기능 모듈에 리포팅하여 처리를 진행한다.
상기 응용 프로그램 시작 장치(10)의 진일보의 개선으로서, 상기 사전 구비 모듈(11)이 상기 샌드박스 프로그램을 사전 구비할 때, 상기 입력 이벤트에 상기 스마트 단말에 연결된 외부 입력 장치에 대응되는 외부 입력 이벤트 및 스마트 단말 터치스크린에 대응되는 터치 입력 이벤트가 포함된다. 상기 외부 입력 이벤트 및 터치 입력 이벤트는 서로 다른 아이디 비트를 가지고, 상기 사전 구비 모듈(11)이 사전 구비한 실행 환경은 상기 두 가지 입력 이벤트의 아이디 위치를 식별하고 또한 입력 이벤트에 대하여 처리를 진행한다.
상기 응용 프로그램 시작 장치(10)의 진일보의 개선으로서, 상기 사전 구비 모듈(11)은 상기 스마트 단말 운영시스템의 응용 계층에서 상기 샌드박스 프로그램을 사전 구비한다. 상기 샌드박스 프로그램은 상기 운영시스템의 응용 계층에서 작동하고, 이와 관련된 실행 환경 파라미터도 주요하게는 응용 계층의 클래스 또는 방법이며, 작동 시 상기 운영시스템 프레임워크 계층으로부터 이벤트를 취득하고, 프레임워크 계층 자체에 대하여 수정을 진행할 필요가 없다.
도3을 참조하면, 이는 본 발명의 하나의 바람직한 실시예 중의 상기 컴퓨터 판독가능 저장 매체 중의 컴퓨터 프로그램의 흐름 도면으로서, 상기 컴퓨터 판독가능 저장 매체에는 컴퓨터 프로그램이 저장되어 있고, 상기 컴퓨터 프로그램이 프로세서에 의해 실행될 때,
S105: 하나의 스마트 단말 내에 적어도 하나의 샌드박스 프로그램을 사전 구비하는 바, 상기 샌드박스 프로그램 내에 입력 이벤트를 처리하기 위한 한 그룹의 실행 환경 파라미터를 자체 정의하며;
S106: 상기 샌드박스 프로그램을 실행시키며;
S107: 상기 실행 환경 파라미터를 기반으로 하나의 응용 프로그램을 시작하는 단계를 실행한다.
상기 컴퓨터 프로그램의 진일보의 개선으로서, 상기 S105 단계에서, 상기 실행 환경 파라미터에는 루트 뷰 클래스의 원소 변수가 포함된다.
진일보로, S107 단계 후, 상기 응용 프로그램 시작 방법에는 또한,
S108: 상기 응용 프로그램이 하나의 입력 이벤트를 수신할 때, 상기 실행 환경 파라미터 내의 루프 뷰 클래스가 상기 스마트 단말 운영시스템 중의 루트 뷰 클래스를 대체하여 상기 입력 이벤트에 대하여 식별 및 리포팅을 진행하는 단계가 포함된다.
상기 컴퓨터 프로그램의 진일보의 개선으로서, 상기 S105 단계에서, 상기 입력 이벤트에 상기 스마트 단말에 연결된 외부 입력 장치에 대응되는 외부 입력 이벤트 및 스마트 단말 터치스크린에 대응되는 터치 입력 이벤트가 포함된다.
상기 컴퓨터 프로그램의 진일보의 개선으로서, 상기 S105 단계에서, 상기 스마트 단말 운영시스템의 응용 계층에서 상기 샌드박스 프로그램을 사전 구비한다.
상기 컴퓨터 프로그램의 방법 단계는 본 발명 중의 응용 프로그램 시작 방법의 구현 방식과 일치하며, 상세한 설명을 생략하도록 한다.
유의하여야 할 바로는, 본 발명의 실시예는 비교적 바람직한 실시성을 갖고 있고, 또한 본 발명에 대하여 아무런 형식의 제한을 진행하지 말아야 하며, 해당 분야에 익숙한 어떠한 기술자라도 상기에 개시된 기술 내용을 이용하여 동등한 유효 실시예로 변경 또는 동등화시킬 수 있으나, 본 발명의 기술 방안의 내용을 벗어나지 않고, 본 발명의 기술 본질에 의거하여 상기 실시예에 대하여 진행하는 어떠한 수정 또는 동등한 변화 및 수정이라도, 모두 여전히 본 발명의 기술 방안의 범위 내에 속한다.
10-응용 프로그램 시작 장치; 11-사전 구비 모듈; 12-실행 모듈; 13-시작 모듈; 14-처리 모듈.

Claims (15)

  1. 응용 프로그램 시작 방법에 있어서,
    S101: 하나의 스마트 단말 내에 적어도 하나의 샌드박스 프로그램을 사전 구비하는 바, 상기 샌드박스 프로그램 내에 입력 이벤트를 처리하기 위한 한 그룹의 실행 환경 파라미터를 자체 정의하며;
    S102: 상기 샌드박스 프로그램을 실행시키며;
    S103: 상기 실행 환경 파라미터를 기반으로 하나의 응용 프로그램을 시작하는 단계가 포함되는 것을 특징으로 하는 응용 프로그램 시작 방법.
  2. 제1항에 있어서, S101 단계에서, 상기 실행 환경 파라미터에는 루트 뷰 클래스의 원소 변수가 포함되는 것을 특징으로 하는 응용 프로그램 시작 방법.
  3. 제2항에 있어서, S103 단계 후, 상기 응용 프로그램 시작 방법에는 또한,
    S104: 상기 응용 프로그램이 하나의 입력 이벤트를 수신할 때, 상기 실행 환경 파라미터 내의 루프 뷰 클래스가 상기 스마트 단말 운영시스템 중의 루트 뷰 클래스를 대체하여 상기 입력 이벤트에 대하여 식별 및 리포팅을 진행하는 단계가 포함되는 것을 특징으로 하는 응용 프로그램 시작 방법.
  4. 제1항 내지 제3항의 어느 한 항에 있어서, S101 단계에서, 상기 입력 이벤트에 상기 스마트 단말에 연결된 외부 입력 장치에 대응되는 외부 입력 이벤트 및 스마트 단말 터치스크린에 대응되는 터치 입력 이벤트가 포함되는 것을 특징으로 하는 응용 프로그램 시작 방법.
  5. 제1항 내지 제3항의 어느 한 항에 있어서, S101 단계에서, 상기 스마트 단말 운영시스템의 응용 계층에서 상기 샌드박스 프로그램을 사전 구비하는 것을 특징으로 하는 응용 프로그램 시작 방법.
  6. 응용 프로그램 시작 장치에 있어서,
    하나의 스마트 단말 내에 적어도 하나의 샌드박스 프로그램을 사전 구비하는 바, 상기 샌드박스 프로그램 내에 입력 이벤트를 처리하기 위한 한 그룹의 실행 환경 파라미터를 자체 정의하는 사전 구비 모듈;
    상기 사전 구비 모듈과 연결되고, 상기 샌드박스 프로그램을 실행시키는 실행 모듈;
    상기 사전 구비 모듈과 연결되고, 상기 실행 환경 파라미터를 기반으로 하나의 응용 프로그램을 시작하는 시작 모듈이 포함되는 것을 특징으로 하는 응용 프로그램 시작 장치.
  7. 제6항에 있어서, 상기 사전 구비 모듈이 상기 샌드박스 프로그램을 사전 구비할 때, 상기 실행 환경 파라미터에는 루트 뷰 클래스의 원소 변수가 포함되는 것을 특징으로 하는 응용 프로그램 시작 장치.
  8. 제7항에 있어서, 상기 응용 프로그램 시작 장치에는 또한,
    상기 시작 모듈 및 사전 구비 모듈과 연결되고, 상기 응용 프로그램이 하나의 입력 이벤트를 수신할 때, 상기 실행 환경 파라미터 내의 루프 뷰 클래스가 상기 스마트 단말 운영시스템 중의 루트 뷰 클래스를 대체하여 상기 입력 이벤트에 대하여 식별 및 리포팅을 진행하도록 제어하는 처리 모듈이 포함되는 것을 특징으로 하는 응용 프로그램 시작 장치.
  9. 제6항 내지 제8항의 어느 한 항에 있어서, 상기 사전 구비 모듈이 상기 샌드박스 프로그램을 사전 구비할 때, 상기 입력 이벤트에 상기 스마트 단말에 연결된 외부 입력 장치에 대응되는 외부 입력 이벤트 및 스마트 단말 터치스크린에 대응되는 터치 입력 이벤트가 포함되는 것을 특징으로 하는 응용 프로그램 시작 장치.
  10. 제6항 내지 제8항의 어느 한 항에 있어서, 상기 사전 구비 모듈이 상기 스마트 단말 운영시스템의 응용 계층에서 상기 샌드박스 프로그램을 사전 구비하는 것을 특징으로 하는 응용 프로그램 시작 장치.
  11. 컴퓨터 프로그램이 저장되어 있는 컴퓨터 판독가능 저장 매체에 있어서, 상기 컴퓨터 프로그램이 프로세서에 의해 실행될 때,
    S105: 하나의 스마트 단말 내에 적어도 하나의 샌드박스 프로그램을 사전 구비하는 바, 상기 샌드박스 프로그램 내에 입력 이벤트를 처리하기 위한 한 그룹의 실행 환경 파라미터를 자체 정의하며;
    S106: 상기 샌드박스 프로그램을 실행시키며;
    S107: 상기 실행 환경 파라미터를 기반으로 하나의 응용 프로그램을 시작하는 단계를 실행하는 것을 특징으로 하는 컴퓨터 판독가능 저장 매체.
  12. 제11항에 있어서, S105 단계에서, 상기 실행 환경 파라미터에는 루트 뷰 클래스의 원소 변수가 포함되는 것을 특징으로 하는 컴퓨터 판독가능 저장 매체.
  13. 제12항에 있어서, S107 단계 후, 상기 응용 프로그램 시작 방법에는 또한,
    S108: 상기 응용 프로그램이 하나의 입력 이벤트를 수신할 때, 상기 실행 환경 파라미터 내의 루프 뷰 클래스가 상기 스마트 단말 운영시스템 중의 루트 뷰 클래스를 대체하여 상기 입력 이벤트에 대하여 식별 및 리포팅을 진행하는 단계가 포함되는 것을 특징으로 하는 컴퓨터 판독가능 저장 매체.
  14. 제11 내지 제13항의 어느 한 항에 있어서, S105 단계에서, 상기 입력 이벤트에 상기 스마트 단말에 연결된 외부 입력 장치에 대응되는 외부 입력 이벤트 및 스마트 단말 터치스크린에 대응되는 터치 입력 이벤트가 포함되는 것을 특징으로 하는 컴퓨터 판독가능 저장 매체.
  15. 제11 내지 제13항의 어느 한 항에 있어서, S105 단계에서, 상기 스마트 단말 운영시스템의 응용 계층에서 상기 샌드박스 프로그램을 사전 구비하는 것을 특징으로 하는 컴퓨터 판독가능 저장 매체.
KR1020207014912A 2017-11-24 2018-10-24 응용 프로그램 시작 방법, 시작 장치 및 컴퓨터 판독가능 저장 매체 KR20200090784A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201711190478.5A CN107832105B (zh) 2017-11-24 2017-11-24 一种应用程序启动方法、启动装置及计算机可读存储介质
CN201711190478.5 2017-11-24
PCT/CN2018/111755 WO2019100897A1 (zh) 2017-11-24 2018-10-24 一种应用程序启动方法、启动装置及计算机可读存储介质

Publications (1)

Publication Number Publication Date
KR20200090784A true KR20200090784A (ko) 2020-07-29

Family

ID=61653479

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207014912A KR20200090784A (ko) 2017-11-24 2018-10-24 응용 프로그램 시작 방법, 시작 장치 및 컴퓨터 판독가능 저장 매체

Country Status (6)

Country Link
US (1) US20200342093A1 (ko)
EP (1) EP3699756A4 (ko)
JP (1) JP2021504826A (ko)
KR (1) KR20200090784A (ko)
CN (1) CN107832105B (ko)
WO (1) WO2019100897A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107832105B (zh) * 2017-11-24 2022-02-15 南昌黑鲨科技有限公司 一种应用程序启动方法、启动装置及计算机可读存储介质
CN110543789B (zh) * 2018-05-29 2023-05-16 腾讯科技(深圳)有限公司 手柄与第三方应用程序进行适配的方法、装置及存储介质
CN109101815B (zh) * 2018-07-27 2023-04-07 平安科技(深圳)有限公司 一种恶意软件检测方法及相关设备
CN109344606A (zh) * 2018-08-15 2019-02-15 北京奇虎科技有限公司 运行应用程序安装包的方法及装置
CN110781493B (zh) * 2019-09-30 2023-04-18 奇安信科技集团股份有限公司 一种运行应用程序的处理方法、终端及服务器
CN113297568B (zh) * 2021-06-04 2024-04-30 国网汇通金财(北京)信息科技有限公司 一种基于沙箱的数据处理方法及系统
CN113672907B (zh) * 2021-07-29 2023-12-22 济南浪潮数据技术有限公司 基于JVM沙箱与黑白名单的Java安全防范方法、装置及介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7941813B1 (en) * 2006-02-17 2011-05-10 Parallels Holdings, Ltd. System and method for using virtual machine for driver installation sandbox
US9436459B2 (en) * 2010-05-28 2016-09-06 Red Hat, Inc. Generating cross-mapping of vendor software in a cloud computing environment
US8468600B1 (en) * 2011-03-04 2013-06-18 Adobe Systems Incorporated Handling instruction received from a sandboxed thread of execution
CN102508675B (zh) * 2011-12-28 2015-01-07 Tcl集团股份有限公司 基于android平台鼠标移动的响应处理方法及装置
CN104008327B (zh) * 2013-02-26 2017-12-01 腾讯科技(深圳)有限公司 一种安全输入方法和系统
WO2015126133A1 (en) * 2014-02-21 2015-08-27 Samsung Electronics Co., Ltd. Method and apparatus to sandbox run-time android applications with lightweight container
CN104391707B (zh) * 2014-12-05 2018-01-30 上海斐讯数据通信技术有限公司 一种应用程序的启动方法及启动装置
EP3048552A1 (en) * 2015-01-21 2016-07-27 Samsung Electronics Co., Ltd. Apparatus and method for running multiple instances of a same application in mobile devices
CN104766007B (zh) * 2015-03-27 2017-07-21 杭州安恒信息技术有限公司 一种基于文件系统过滤驱动实现沙箱快速恢复的方法
CN105893067A (zh) * 2015-06-03 2016-08-24 福建创意嘉和软件有限公司 基于PC机实现运行Android系统应用的方法
CN105678165A (zh) * 2016-01-29 2016-06-15 博雅网信(北京)科技有限公司 一种移动端的沙盒化键盘系统及其数据传输方法
CN106096395A (zh) * 2016-06-16 2016-11-09 北京奇虎科技有限公司 一种安卓应用的保护处理方法和装置
CN106201699A (zh) * 2016-07-15 2016-12-07 北京光年无限科技有限公司 在机器人操作系统中启动应用的方法及装置
CN106384045B (zh) * 2016-09-12 2020-10-27 电子科技大学 基于应用程序虚拟化的安卓存储应用沙箱及通信方法
CN106874751A (zh) * 2017-01-13 2017-06-20 北京奇虎科技有限公司 在系统保护模式下的输入方法、装置和移动终端
CN106874731A (zh) * 2017-04-14 2017-06-20 深信服科技股份有限公司 一种基于终端的应用层多用户方法及装置
CN107832105B (zh) * 2017-11-24 2022-02-15 南昌黑鲨科技有限公司 一种应用程序启动方法、启动装置及计算机可读存储介质

Also Published As

Publication number Publication date
US20200342093A1 (en) 2020-10-29
WO2019100897A1 (zh) 2019-05-31
CN107832105A (zh) 2018-03-23
CN107832105B (zh) 2022-02-15
EP3699756A4 (en) 2021-08-04
JP2021504826A (ja) 2021-02-15
EP3699756A1 (en) 2020-08-26

Similar Documents

Publication Publication Date Title
KR20200090784A (ko) 응용 프로그램 시작 방법, 시작 장치 및 컴퓨터 판독가능 저장 매체
US8893222B2 (en) Security system and method for the android operating system
US7516477B2 (en) Method and system for ensuring that computer programs are trustworthy
US10607007B2 (en) Micro-virtual machine forensics and detection
US9501310B2 (en) Micro-virtual machine forensics and detection
US9953189B2 (en) Managing configurations of computing terminals
Smalley et al. Security enhanced (se) android: bringing flexible mac to android.
US11048544B2 (en) Cloud resource credential provisioning for services running in virtual machines and containers
Rodero-Merino et al. Building safe PaaS clouds: A survey on security in multitenant software platforms
US9449190B2 (en) Method and system for run-time dynamic and interactive identification software authorization requirements and privileged code locations, and for validation of other software program analysis results
US8250666B2 (en) Method and apparatus for improving security in an application level virtual machine environment
CN104156660B (zh) 一种基于运行环境状态的Android权限细粒度访问控制方法
US20180357418A1 (en) Security indication information configuration method and device
US11263033B2 (en) Usage checks for code running within a secure sub-environment of a virtual machine
CN106066803B (zh) 应用程序运行控制的方法及装置
CN102902911B (zh) 一种在Java虚拟机中安全运行第三方代码的方法
JP5990646B2 (ja) 仮想マシンにおける強制保護制御
WO2017016231A1 (zh) 一种策略管理方法、系统及计算机存储介质
US10761863B2 (en) Mobile application management by run-time insertion of a replacement instrumentation object into a mobile application process
Stach How to Deal with Third Party Apps in a Privacy System--The PMP Gatekeeper--
US10698703B2 (en) Mobile application management by run-time insertion of a substitute application class loader into a mobile application process
EP1222537B1 (en) Resource access control system
CN110750805B (zh) 应用程序访问控制方法、装置、电子设备及可读存储介质
CN108628620B (zh) Pos应用开发的实现方法、装置、计算机设备和存储介质
US20190163458A1 (en) Managing Removal and Modification of Installed Programs on a Computer Device

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application