본문 바로가기
방송통신대학교

[모바일 앱 프로그래밍] 안드로이드 프로젝트와 앱의 동작 원리

by Jay_7 2026. 3. 9.

안드로이드 프로젝트

안드로이드 프로젝트

안드로이드 프로젝트를 구성하는 주요 파일 및 폴더

  • 안드로이드 프로젝트 : 하나의 앱을 개발하기 위해 IDE(Android Studio) 내에 구성하는 작업 공간
  • MainActivity.java의 Activity가 앱의 시작점이 됨
  • Activity
    - 안드로이드 앱에서 하나의 화면을 표현하기 위한 구성요소
    - 실행 부분(Java)과 데이터 부분(XML)으로 구분됨
    - 실행 부분과 데이터 부분의 연결은 R.java가 담당하고 있음 
  • string.xml(문자열)과 Activity_main.xml(레이아웃)에 있는
    내용이 먼저 R.java에 등록이 된 후에 이를 참조하여 MainActivity.java에서 수행을 하게 됨

안드로이드 프로젝트의 구성요소

  • activity_main.xml
    - 화면의 구조를 표현하는 레이아웃이 기술됨
    - android:text 속성 : string/app_name 값이 strings.xml에서 정의된
    app_name이라는 이름의 문자열 ID로 대체된다는 의미
    - 문자열의 정보는 R.java 파일에 저장
    - 실제 문자열 내용은 string.xml에 저장
  • strings.xml
    - 문자열은 관리의 편의성을 위해 XML 파일에 따로 저장됨
    - 기본적으로 문자열이 저장되는 XML 파일은 strings.xml 파일
  • R.java(R.jar / R.class)
    - 안드로이드 앱이 사용하는 자원을 참조하기 위해 사용되는 ID가 정의된 클래스 R을 포함
    - 개발자가 임의로 R.java 파일의 내용을 변경해서는 ❌
  • MainActivity.java
    - Activity 클래스를 상속 받아 새로운 Activity를 생성
    - 사용자가 발생시키는 이벤트에 반응하여 새로운 Activity(화면)을 생성하거나
    사용자의 요구 사항을 만족시키는 동적 작업을 수행
  • AndroidManifest.xml
    - 앱의 구성 정보를 담고 있는 파일
  • XML 레이아웃의 장점
    - Java 코드 개발자 역할과 화면 설계 레이아웃 디자이너의 역할이 분담되어 개발이 가능
    → 개발 난이도를 낮춤
    - 레이아웃 코드가 직관적이며 수정 및 관리가 매우 용이
    - 다양한 스마트폰의 크기와 특성에 따라 레이아웃의 유지 보수가 용이
    - 전체적인 변경이 필요한 경우 편리

안드로이드 앱

  • 앱의 실행 과정
    1️⃣개발자가 작성한 Java 코드는 Java 컴파일러에 의해 Java 바이트 코드로 컴파일
    2️⃣Dalvik이라는 가상 머신에서 Java 바이트 코드를 실행(.dex 파일로의 변환)
    3️⃣변환된 .dex 파일 + 리소스 파일 → 설치할 수 있는 .apk 파일로 만들어짐
  • 앱을 스마트폰에 배포하는 과정
    - 배포 및 설치를 위한 apk 파일의 생성은 AAPT라는 개발도구를 이용(패키징 과정)
    - .apk 파일 생성 시 패키징 항목
    ✅컴파일되지 않은 리소스 파일(이미지, 아이콘)
    ✅.dex 파일
    ✅resources.arsc 파일(컴파일된 리소스 파일)
    ✅AndroidManifest.xml 파일(안드로이드 앱의 설정환경 정의)
    - 이후 서명 Key를 통해 .apk 파일에 서명 작업을 진행
    → 타인에 의한 위변조를 방지하며 해당 Key 값은 안드로이드 앱 업데이트에서 개발자 식별에 사용됨
    - 구글 플레이 스토어에 업로드 수행