728x90
Android Cuttlefish란?
Android Cuttlefish는 안드로이드 운영체제를 가상으로 실행할 수 있도록 설계된 가상 장치로, 특히 OS 및 하드웨어 통합 수준에서의 테스트에 최적화되어 있다. Cuttlefish는 구글 클라우드 플랫폼(GCP)과 AWS (Amazon Web Service) 같은 클라우드 환경에서 실행될 수 있어, 대규모 테스트나 원격 액세스가 필요한 개발자들에게 유용하다. 주로 시스템 개발자나 플랫폼 엔지니어들이 안드로이드 시스템 구성 요소 및 하드웨어와의 통합을 테스트하는 데 활용한다.
Android Cuttlefish와 Emulator와의 차이점
목적
- Cuttlefish: 주로 OS 및 하드웨어 통합 수준에서의 테스트를 위해 설계된 가상 장치이다. 일반 애플리케이션보다는 안드로이드 시스템 구성 요소와 관련된 플랫폼 개발자들이 많이 사용한다.
- Emulator: 주로 일반 앱 개발과 테스트를 위해 설계되었다. 컴퓨터에서 안드로이드 기기를 시뮬레이션하여 앱 개발자들이 많이 사용한다.
배포 및 호환성
- Cuttlefish: 주로 리눅스 기반 환경에서 실행되며, 특히 구글 클라우드 플랫폼(GCP)과 같은 클라우드 환경에서의 테스트에 최적화되어 있다.
- Emulator: 다양한 호스트 시스템(Windows, macOS, Linux)과 높은 호환성을 가지고 있으며, 일반적인 앱 개발을 위한 편리한 툴이다.
Android Cuttlefish 사용 팁 및 사례
- x86-64와 arm64를 모두 지원하지만 x86-64 환경을 선호한다. arm64에서는 일부 기능이 제한될 수 있다. riscv-64도 지원할 예정이다.
- cuttlefish와 emulator 모두 KVM (Kernel-based Virtual Machine)이 지원되어야 한다. cuttlefish는 그 위에서 docker와 같은 container를 사용하여 여러개를 띄워 사용할 수 있는 장점이 있다.
- cuttlefish는 CI와 연결하여 사용할 수 있으며 쿠버네티스를 사용하여 여러개의 container를 관리할 수 있다. 설정할 때 "Running Android on Amazon EKS" 레퍼런스를 참고하면 좋다. AWS에서 직접 추천해준 링크이다.
레퍼런스
- 안드로이드 Cuttlefish 공식 문서 (한글): https://source.android.com/docs/devices/cuttlefish?hl=ko
- Running Android on Amazon EKS: https://realz.medium.com/running-android-on-kubernetes-be73b940833f
- Cuttlefish on ARM64 in AWS: https://medium.com/@BushMinusZero/cuttlefish-on-arm64-in-aws-b1f60d937614
'Android (Automotive)' 카테고리의 다른 글
Android 도구 screen copy (0) | 2024.11.25 |
---|---|
Android Treble (2) | 2024.11.15 |
소스 코드에서 Android 버전 확인 방법 (1) | 2024.10.02 |
Android Automotive OS (안드로이드 오토모티브 OS) (1) | 2024.09.20 |