반응형

2025/04 76

Android WindowManagerService 이해하기

Android WindowManagerService 이해하기Android에서 화면을 구성하고 관리하는 핵심 서비스 중 하나가 WindowManagerService(WMS)입니다. 이 글에서는 WMS의 개념, 동작 방식, 주요 구성 요소 및 AOSP 코드를 통해 구체적으로 살펴보겠습니다.1. WindowManagerService란?WindowManagerService(WMS)는 Android 시스템의 화면 구성 및 관리를 담당하는 서비스로, 애플리케이션이 요청하는 Window를 적절한 위치에 배치하고, Z-Order를 조정하며, 화면 전환 효과를 제공하는 역할을 수행합니다. WMS는 System Server의 일부로 동작하며, 클라이언트(애플리케이션)와 상호 작용하여 UI를 제어합니다.1.1 주요 기능윈도..

Android/Framework 2025.04.09

Buildroot에서 사용자 정의 패키지 작성법 및 Config.in 설정

Buildroot에서 사용자 정의 패키지 작성법 및 Config.in 설정1. 개요Buildroot는 경량 임베디드 리눅스 시스템을 구축하는 데 널리 사용되는 도구로, 기본적으로 제공되는 패키지 외에도 사용자 정의 애플리케이션을 추가할 수 있습니다. 이를 위해서는 Buildroot 패키지 작성법과 함께 Config.in 파일을 설정하는 방법을 이해해야 합니다.이번 글에서는 Buildroot에서 새로운 패키지를 작성하는 방법과 Config.in을 설정하여 빌드 옵션을 추가하는 과정을 설명합니다. 이를 통해 사용자가 필요로 하는 애플리케이션을 Buildroot 환경에 통합할 수 있도록 안내하겠습니다.2. Buildroot 패키지 개념Buildroot에서 패키지는 package 디렉터리 아래에 위치하며, 각 ..

Linux/buildroot 2025.04.09

AWS IoT Device Shadow 활용: 온도 센싱 주기 및 시작/종료 관리

AWS IoT Device Shadow 활용: 온도 센싱 주기 및 시작/종료 관리1. 개요AWS IoT를 활용하면 IoT 디바이스를 클라우드에서 효율적으로 관리할 수 있습니다. 특히 AWS IoT Device Shadow는 디바이스의 상태를 저장하고 관리하는 기능을 제공하여, 디바이스가 오프라인 상태에서도 원하는 상태를 유지할 수 있도록 도와줍니다.이번 포스팅에서는 AWS IoT Device Shadow를 활용하여 온도 센싱 주기를 조절하고, 온도 센싱의 시작 및 종료를 관리하는 방법을 설명하겠습니다. 이를 위해 ESP32 IDF와 AWS IoT Device SDK for Embedded C를 이용한 디바이스 코드와 Python을 이용한 AWS IoT 서버 코드를 구현해보겠습니다.2. AWS IoT De..

AWS IoT 2025.04.08

ActivityManagerService 이해하기

ActivityManagerService 이해하기개요ActivityManagerService(AMS)는 Android 시스템의 핵심 서비스 중 하나로, 애플리케이션의 생명 주기 관리, 프로세스 관리, 백그라운드 실행 정책 등을 담당합니다. AMS는 system_server 프로세스 내에서 실행되며, Android 운영체제의 애플리케이션 관리 및 리소스 할당을 책임집니다.본 글에서는 ActivityManagerService의 역할, 핵심 구성 요소, 그리고 AOSP 코드를 활용한 주요 동작 원리에 대해 설명하겠습니다.ActivityManagerService의 역할1. 프로세스 및 태스크 관리AMS는 각 애플리케이션 프로세스를 관리하며, 필요에 따라 프로세스를 생성하거나 종료합니다. 또한, 태스크(Task)..

Android/Framework 2025.04.08

Buildroot에서 Custom Application 추가하기

Buildroot에서 Custom Application 추가하기Buildroot는 임베디드 시스템을 위한 루트 파일 시스템을 손쉽게 생성할 수 있도록 도와주는 도구이다. 기본적으로 다양한 패키지를 제공하지만, 프로젝트에 맞는 사용자 정의 애플리케이션(Custom Application)을 추가하는 방법이 필요할 수 있다. 이번 포스팅에서는 Buildroot에서 Custom Application을 추가하는 방법을 자세히 설명한다.1. Custom Application 추가 개요Buildroot에서 새로운 애플리케이션을 추가하는 방법은 두 가지가 있다.기존의 Buildroot 패키지 시스템을 활용하여 새로운 패키지를 정의하는 방법외부 패키지 디렉터리를 만들어 애플리케이션을 추가하는 방법이 글에서는 첫 번째 방..

Linux/buildroot 2025.04.08

AWS IoT에서 OTA(Over-the-Air) 업데이트 적용 방법

AWS IoT에서 OTA(Over-the-Air) 업데이트 적용 방법IoT 디바이스는 원격지에서 운영되는 경우가 많으며, 이를 효율적으로 관리하려면 펌웨어 업데이트가 필수적입니다. AWS IoT에서는 OTA 업데이트 기능을 제공하여 보안 패치, 기능 개선, 버그 수정 등을 원격으로 적용할 수 있습니다. 이번 포스팅에서는 AWS IoT를 활용한 OTA 업데이트 방법과 ESP32 IDF 및 AWS IoT Device SDK for Embedded C를 이용한 예제 코드를 함께 다룹니다.1. OTA 업데이트 개요OTA(Over-the-Air) 업데이트란, 물리적으로 접근할 수 없는 IoT 디바이스에 네트워크를 통해 펌웨어를 업데이트하는 기술을 의미합니다. AWS IoT는 이를 지원하기 위해 AWS IoT Jo..

AWS IoT 2025.04.07

Android Framework의 개념 및 역할

Android Framework의 개념 및 역할1. Android Framework이란?Android Framework은 Android 운영체제에서 애플리케이션을 개발하고 실행하는 데 필요한 핵심 소프트웨어 계층입니다. Android 애플리케이션은 Java, Kotlin 또는 C++ 등의 언어로 작성되며, Android Framework을 통해 시스템 자원에 접근하고 UI를 관리할 수 있습니다.Android는 Linux 커널 위에 여러 계층으로 구성되어 있으며, Android Framework은 그중에서도 애플리케이션과 시스템을 연결하는 중요한 역할을 합니다. 이를 통해 개발자는 하드웨어와 운영체제의 복잡성을 직접 다루지 않고도 다양한 기능을 구현할 수 있습니다.Android Framework은 다음과 ..

Android/Framework 2025.04.07

Buildroot에서 커널 설정 및 빌드 방법

Buildroot에서 커널 설정 및 빌드 방법1. 개요Buildroot는 임베디드 리눅스 시스템을 쉽게 구축할 수 있도록 도와주는 강력한 도구입니다. 이번 글에서는 Buildroot를 이용하여 리눅스 커널을 설정하고 빌드하는 방법에 대해 설명하겠습니다.Buildroot를 활용하면 원하는 커널 버전을 선택하고, 필요한 기능을 설정하며, 최적화된 커널 이미지를 생성할 수 있습니다. 이를 통해 임베디드 환경에 적합한 커널을 빌드할 수 있습니다.2. 커널 설정을 위한 기본 개념Buildroot에서 커널을 빌드하려면 몇 가지 개념을 이해해야 합니다.Kernel Source: 빌드에 사용할 커널 소스 코드입니다. Buildroot는 기본적으로 특정 버전의 커널을 다운로드하여 사용할 수 있으며, 사용자 정의 커널 소..

Linux/buildroot 2025.04.07

AWS IoT Shadow를 활용한 디바이스 상태 관리

AWS IoT Shadow를 활용한 디바이스 상태 관리AWS IoT를 활용하면 IoT 디바이스와 클라우드 간의 원활한 통신을 구축할 수 있습니다. 특히 AWS IoT Shadow는 디바이스의 상태를 클라우드에 저장하고, 동기화할 수 있도록 지원하는 강력한 기능입니다. Shadow는 디바이스가 오프라인 상태일 때도 최신 상태 정보를 유지하며, 서버와 애플리케이션이 지속적으로 디바이스의 상태를 관리할 수 있도록 돕습니다.이번 포스팅에서는 AWS IoT Shadow를 활용하여 ESP32 디바이스의 상태를 관리하는 방법을 다루고, AWS IoT Device SDK for Embedded C와 AWS IoT Core를 활용하여 ESP32에서 Shadow 기능을 구현하는 예제를 소개하겠습니다. 또한, Python ..

AWS IoT 2025.04.06

Native 코드와 Android Framework 연동

Native 코드와 Android Framework 연동Android 애플리케이션 개발에서는 일반적으로 Java 또는 Kotlin과 같은 고수준 언어를 사용하지만, 보다 성능이 중요한 작업이나 기존 C/C++ 기반의 네이티브 라이브러리를 활용해야 하는 경우에는 Native 코드와 Android Framework을 연동해야 하는 경우가 많습니다. 본 글에서는 네이티브 라이브러리를 프레임워크 서비스에서 활용하는 방법과 JNI를 사용한 System API 확장 방법을 AOSP 코드와 함께 살펴보겠습니다.1. Android에서 Native 코드 활용 개요Android 시스템은 네이티브 코드를 활용할 수 있도록 다양한 메커니즘을 제공합니다. 대표적인 방식은 다음과 같습니다.JNI (Java Native Inter..

Android/Framework 2025.04.06
반응형