------

[ AD ] Port Monitor ( Try to use a Best WebSite Monitoring Tool )

------
안드로이드 애플리케이션은 Java 프로그래밍 언어로 작성된다. 컴파일된 Java 코드 - 애플리케이션에 필요한 임의의 데이터와 리소스 파일과 함께 -  는 SDK에 존재하는 aapt 도구에 의해 안드로이드 패키지로 묶여지며, 이렇게 하나로 압축된 아카이브archive 파일에는 .apk 접미사가 부쳐진다.

이 파일은 모바일 디바이스에 안드로이드 애플리케이션을 배포하고 설치하기 위한 수단이다(사용자들이 자신의 모바일 디바이스에 다운로드하게 되는 파일이 바로 이 파일이다).

하나의 .apk 파일 안에 있는 모든 코드는 하나의 애플리케이션으로 간주된다.

Android applications are written in the Java programming language. The compiled Java code — along with any data and resource files required by the application — is bundled by the aapt tool into an Android package, an archive file marked by an .apk suffix.

This file is the vehicle for distributing the application and installing it on mobile devices; it's the file users download to their devices.

All the code in a single .apk file is considered to be one application.


다양한 방법으로 각각의 안드로이드 애플리케이션은 그것 자신의 세계 내에서in its own world 존속한다.


In many ways, each Android application lives in its own world:

  • 디폴트로 모든 애플리케이션은 자신의 리눅스 프로세스 내에서 실행된다.

    안드로이드는 임의의 애플리케이션 코드가 실행될 필요가 있을 때 그 프로세스를 시작시키며, 그것이 더 이상 필요치 않고 다른 애플리케이션이 시스템 자원을 요구할 때 그 프로세스를 종료시킨다 .

  • By default, every application runs in its own Linux process. Android starts the process when any of the application's code needs to be executed, and shuts down the process when it's no longer needed and system resources are required by other applications.

     

  • 각각의 프로세스는 자기 자신의 Java 가상머신을 가진다.

    그러므로 애플리케이션 코드는 다른 모든 애플리케이션 코드와는 격리되어 실행된다.
  • Each process has its own virtual machine (VM), so application code runs in isolation from the code of all other applications.

     

  • 디폴트로 각각의 애플리케이션에는 고유한 리눅스 유저user ID가 부여된다.

    애플리케이션을 구성하는 파일들은 해당 사용자와 해당 애플리케이션 그 자신에게만 보여지도록 퍼미션permission이 설정된다 - 비록, 다른 애플리케이션에게도 그 파일을 보여줄 방법이 있기는 하지만.
  • By default, each application is assigned a unique Linux user ID. Permissions are set so that the application's files are visible only to that user and only to the application itself — although there are ways to export them to other applications as well.

     

    두 개의 애플리케이션에 대해 동일한 유저user ID를 공유할 수 있도록 배치하는 것이 가능하다.

    그런 경우에 두 개의 애플리케이션은 각자 다른 애플리케이션의 파일을 볼 수 있을 것이다. 시스템 자원을 절약하기 위해 동일한 ID를 가지는 애플리케이션은 또한 동일한 리눅스 프로세스 안에서 실행되도록 배치되며, 동일한 가상머신을 공유한다.

    It's possible to arrange for two applications to share the same user ID, in which case they will be able to see each other's files. To conserve system resources, applications with the same ID can also arrange to run in the same Linux process, sharing the same VM.


    출처 : http://www.kandroid.org/guide/topics/fundamentals.html

    + Recent posts