반응형

안드로이드 9

Android 도구 screen copy

Android Screen Copy (Scrcpy)는 Android 디바이스 화면을 PC나 Mac에 실시간으로 표시하고 조작할 수 있게 해주는 오픈 소스 도구이다. 주로 개발자와 기술 전문가들이 디바이스의 화면을 테스트하거나, 앱을 시연하거나, 디버깅을 목적으로 사용한다.주요 기능화면 미러링: Android 디바이스 화면을 고화질로 컴퓨터 화면에 실시간으로 표시.원격 제어: 키보드와 마우스를 사용하여 디바이스를 조작할 수 있음.무선 또는 유선 연결: USB 케이블을 통한 빠른 연결 또는 Wi-Fi를 통한 무선 연결 지원.저사양에서도 높은 성능: 낮은 지연 시간과 효율적인 리소스 사용.녹화 및 스크린샷: 디바이스 화면을 녹화하거나 스크린샷을 저장 가능.텍스트 입력: PC 키보드를 사용해 Android 디바..

Android Treble

안드로이드 프로젝트 트레블은 안드로이드의 아키텍처를 개선하여 운영체제(OS) 업데이트를 더욱 빠르고 쉽게 하기 위한 프로젝트이다. 안드로이드 8.0 오레오 버전에서 처음 도입된 트레블 (Treble)은, 안드로이드 프레임워크와 하드웨어 추상화 계층(Hardware Abstraction Layer, HAL)을 분리하여, OS의 업데이트가 하드웨어 제조사나 칩셋 제조사에 의존하지 않도록 했다. 기존에는 새로운 안드로이드 버전을 기기에 적용하기 위해 모든 하드웨어 종속적인 코드를 함께 수정해야 했으나, 트레블을 통해 OS와 하드웨어 간의 표준 인터페이스가 분리됨으로써, OS 업데이트가 보다 독립적으로 가능하게 되었다. 이를 통해 안드로이드 기기들이 더욱 빠르고 효율적으로 최신 OS 버전으로 업데이트될 수 있는..

Android Cuttlefish (안드로이드 커틀피쉬)

Android Cuttlefish란?Android Cuttlefish는 안드로이드 운영체제를 가상으로 실행할 수 있도록 설계된 가상 장치로, 특히 OS 및 하드웨어 통합 수준에서의 테스트에 최적화되어 있다. Cuttlefish는 구글 클라우드 플랫폼(GCP)과 AWS (Amazon Web Service) 같은 클라우드 환경에서 실행될 수 있어, 대규모 테스트나 원격 액세스가 필요한 개발자들에게 유용하다. 주로 시스템 개발자나 플랫폼 엔지니어들이 안드로이드 시스템 구성 요소 및 하드웨어와의 통합을 테스트하는 데 활용한다.Android Cuttlefish와 Emulator와의 차이점목적Cuttlefish: 주로 OS 및 하드웨어 통합 수준에서의 테스트를 위해 설계된 가상 장치이다. 일반 애플리케이션보다는 안..

소스 코드에서 Android 버전 확인 방법

AAOS (Android Automotive OS) 또는 AOSP (Android Open Source Project) 소스 코드를 repo 도구를 통해서 받으면 수백개의 저장소가 존재한다. 물론 branch 이름을 가지고 Android 버전을 확인할 수도 있지만 실제 코드 내에서 BUILD_ID가 정의되어 있고 이것과 android 홈페이지에서 제공하는 버전 이름과 매칭을 시키면 정확한 버전과 릴리스 날짜를 알 수 있다. BUILD_ID는 build/core/build_id.mk 파일에 다음과 같이 존재한다.BUILD_ID=AP2A.240705.005.A1 AP2A.240705.005.A1 가 실제 ID이고 https://source.android.com/docs/setup/reference/build..

repo manifest 명령어 사용

Repo는 안드로이드 오픈소스 프로젝트(Android Open Source Project, AOSP)에서 주로 사용하는 도구로, 여러 개의 Git 리포지토리를 관리하기 위해 설계되었다. Git은 강력한 버전 관리 시스템이지만, 대규모 프로젝트에서 여러 개의 리포지토리를 다루는 데는 불편함이 있을 수 있다. Repo는 이를 해결하기 위해 만들어졌으며, 여러 Git 리포지토리를 한꺼번에 클론하고 업데이트하며 동기화하는 기능을 제공한다. Repo의 주요 기능  1. 여러 Git 리포지토리 관리: 여러 리포지토리를 쉽게 클론하고 업데이트할 수 있다. 2. 명령어 자동화: 여러 리포지토리에 걸친 변경 사항을 동기화하거나 상태를 확인할 수 있는 명령어를 제공한다. 3. 메타데이터 관리: 각 리포지토리의 의존성, 버..

Development 2024.10.01

Android Automotive OS (안드로이드 오토모티브 OS)

안드로이드 오토모티브 OS(Android Automotive OS, AAOS)는 차량용 인포테인먼트 시스템을 위한 구글의 오픈소스 운영체제이다. 기존의 안드로이드 운영체제를 기반으로 자동차 환경에 맞게 확장된 버전으로, 다음과 같은 특징을 가지고 있다. 위의 그림은 인포테인먼트의 변천사를 보여주고 있고 2010년대와 2020년대 각각 Android Auto (Apple의 CarPlay와 같은 폰 프로젝션 기능), Android Automotive OS를 구글에서 오픈하였다.안드로이드 오토모티브 OS 주요 특징 1. 독립형 운영체제:안드로이드 오토모티브 OS는 차량에 내장된 독립형 운영체제이다. 차량 내 디스플레이와 시스템에서 직접 구동되며, 별도의 스마트폰 연결 없이도 모든 기능을 사용할 수 있다.반면,..

SDV 개발에서 HW/SW Decoupling (디커플링)

SDV (Software Defined Vehicle)는 Automotive 분야에서 가장 많이 듣는 용어 중에 하나이다. 물론 회사 내부에서 개발을 할 때 많이 들어보지는 못했다. 내부적으로는 그냥 MB.OS (Mercecdes-Benz Operating System) 이라는 용어를 훨씬 더 많이 쓴다. 하지만 여기저기 미디어나 다른 회사 블로그 등에서 보면 대중적으로 사용하는 것은 분명하다. 그럼에도 불구하고 이전에 유비쿼터스 등과 같은 용어와 같이 이미 있는 기술을 잘 포장하는 듯한 느낌이 많이 나는것은 필자만의 생각일까? 또한 여러군데서 여러 사람들이 조금씩 다르게 SDV라는 용어에 대해서 이야기한다. 여기서는 그 내용 중 하나인 차량용 SW 개발에서 하드웨어와 분리되어 SW를 개발할 수 있는 환..

Automotive 2024.08.01

빌드 성능 개선 (최적화)

작년 10월 https://www.yocto.co.kr/176 글에서 Yocto 빌드 성능 최적화에 대해서 글을 썼고 중간중간 clang 적용, ccache 적용 등 회사에서 작업한 내용들을 간단히 적어보았다. 이 글에서는 일반론적인 임베디드 소프트웨어 개발에서 빌드 성능을 개선할 수 있는 작업들을 경험을 토대로 적어보고자 한다. Yocto Linux, QNX, 안드로이드 등 OS를 포함하는 빌드에서 성능을 개선하는데 큰 그림이 될 수 있을 것으로 생각된다. 차량용 ECU가 여러 개에서 하나로 통합되면서 고성능의 SoC가 필요하고 그 위에 하이퍼바이저 기반으로 여러개의 OS가 올라가서 동작한다. 이 각각의 OS를 빌드하는데도 오랜 시간이 걸리고 클라우드를 사용하면 그 비용을 상당히 많이든다. 현재 프로젝..

Development 2024.07.25

Android app support in Car

자동차 회사들이 안드로드이 앱을 차량용 인포테인먼트에서 지원하려고 많이들 노력하고 있다. 이 글에서는 안드로이드 앱을 지원하는 방법들에 대해서 알아보려고 한다. 벤츠 2024 E 클래스 풀체인지에서 틱톡, Zoom, Angry Bird와 같은 안드로이드 앱을 MBUX 위에서 지원한다. 이를 지원하는 방법은 여러가지가 있다. 그중 가장 많이 사용하는 3가지 방법에 대해서 이야기보고자 한다. 1. Full Android Automotive OS 전체 인포테인먼트 플랫폼을 안드로이드 오토모티브를 사용하는 방법이다. 많은 OEM에서 플랫폼 유지보수 비용을 줄이고 구글의 최신 기술을 계속 받아들이고자 사용하고 있다. 단점으로는 구글에 바이어스가 될 수 있다는 점이 있고 플랫폼 주도권을 직접 가지고 가지 못한다. ..

Automotive 2023.10.18
728x90
반응형