반응형

NDK 2

Android NDK 빌드 가이드: Android.mk vs CMakeLists.txt 설정부터 네이티브 디버깅까지

안녕하세요! 지난 포스팅을 통해 안드로이드 백그라운드에서 살아 숨 쉬는 C/C++ 사용자 정의 데몬(Daemon)의 소스코드를 함께 구현해 보았습니다. 코드를 멋지게 짜두었으니 이제 이 코드를 안드로이드 시스템이 이해할 수 있는 바이너리 파일로 구워낼(빌드) 차례입니다.안드로이드 NDK 진영에는 두 가지 빌드 시스템 파벌(?)이 존재합니다. 예전부터 전통적으로 사용해 온 전통의 Make 기반 Android.mk 방식과, 구글이 현재 표준으로 강력하게 밀고 있는 모던한 CMakeLists.txt 방식이죠. 레거시 프로젝트를 유지보수하거나 임베디드 장비 전용 빌드 스크립트를 짤 때는 전자룰, 최신 안드로이드 스튜디오 앱 프로젝트를 개발할 때는 후자를 다룰 줄 알아야 진정한 NDK 전문가라고 할 수 있습니다...

Android NDK로 C/C++ 네이티브 데몬 구현하기: 더블 포크(Double Fork)와 생명주기 관리 완벽 가이드

안녕하세요! 지난 시간에 안드로이드 NDK 개발 환경을 세팅하고 백그라운드 서비스들과의 차이점을 이론적으로 짚어보았는데요. 오늘은 드디어 많은 임베디드 및 로우레벨 개발자분들이 가장 궁금해하셨을 "진짜 리눅스 스타일의 C/C++ 사용자 정의 데몬(Daemon)"을 안드로이드 시스템 위에 올리는 실전 코딩 시간입니다.안드로이드 애플리케이션 프레임워크가 제공하는 백그라운드 제약(Background Limitations)을 넘어, 시스템 저수준에서 독립적으로 살아 숨 쉬는 프로세스를 만들기 위해서는 전통적인 리눅스의 '더블 포크(Double Fork)' 메커니즘을 명확히 이해해야 합니다. 터미널 제어권을 끊어내고, 표준 입출력을 닫아 완전히 독립된 데몬을 만드는 핵심 소스코드와 함께, 안드로이드의 깐깐한 프로..

반응형