단지 그냥 펌웨어라고 하면 꽤 애매하네요.
안드로이드 기기라는 게 스마트폰인지 태블릿인지 아니면 다른 기기인지도 차이가 클 겁니다.
앱 개발과 안드로이드 펌웨어 개발은 솔직히 다르다고 말할 수 있어서 개인 캐리어에 큰 도움이 될지 모르겠네요
전체 소스는 몇명이서 분석하거나 수정할 수 있는 분량이 아닙니다.
삼성이나 엘지같은 곳에서 스마트폰 한 모델 개발하는데 백명이 훨씬 넘게 달라 붙습니다.(S/W 개발자만)
그런데도 실제로 백본소스라 불리는 것은 퀄컴으로부터 받은 소스죠. 그걸 적용하고 수정하고 버그잡고 어쩌구 하는데도 그 정도 인력이 필요한 겁니다
막말로 이야기해서 앱이야 어쩌다가 중간에 중지팝업이 발생하면 다시 실행하면 된다지만, 기기의 OS나 플랫폼이 잘못되어 리부팅해야 하는 상황은 굉장히 치명적입니다. 사용자에게 짜증을 유발하고 환불도 유발하죠
시스템의 안정성이 무엇보다 먼저가 됩니다. 아무리 백본소스를 줬다고 해도 센서나 디바이스 등에 대한 디버깅 경험이 적으면 굉장히 힘든 작업이 될 겁니다.
단순히 로그나 S/W 디버깅툴만으로도 안되고 h/w 디버깅 장치 등이 있어야 할 겁니다
먼저 답변해주신 분의 답변처럼 언어는 C/C++, JAVA입니다.
너무 광범위한 부분이라 뭐라고 짧게 대답할 수도 없고, 자세히 설명할만큼 알지도 못하여 여기까지만 적겠습니다.