본문 바로가기
프로그래밍

안드로이드 8.1 오레오(Oreo) AOSP 빌드 (feat. 통화녹음을 하자.)

by dladbru 2018. 4. 2.

개요.

픽셀 2 XL을 사용하고 싶었다. 아이폰의 폐쇄적인 정책이 너무 강하고, 커스터마이징을 경험해보고자 구매하기로 결심했고, 국내에 판매하고 있는 기종이 아닌터라 해외 언락폰을 중고나라에서 구매했다.


이에 장점과 단점이 있었다. 단점으로는 통화 녹음이 내가 말하는 소리만 들리고 들려오는 소리는 녹음이 되지 않는 문제였다. 이 문제는 권한으로 부터 발생한 문제인데 안드로이드는 6.0 부터 CAPTURE_AUDIO_OUTPUT 권한을 시스템 권한이 아닐 경우 이용할 수 없다. (일반적으로 넥서스(Nexus) 모델을 사용하고 있는 사람들이 많이겪는 문제로 알고있다.)


그렇기 때문에 갤럭시나 G시리즈의 스마트폰등 제조사가 기본적으로 포함한 전화 어플리케이션에서는 통화녹음이 가능하다. 


하지만! 나는 제조사를 거치지 않았기 때문에! 직접 제조사가 되기로했다.  Android 8.1 를 빌드하는 주체가 되기로.

AOSP 소스는 공개되어있기 때문에 가져다가 사용하기로 했다. 플레이 스토어가 필요했으므로 OpenGapps 를 이용했고, 4G 인터넷 데이터가 작동되지않아, 기존의 이미지를 추출해 사용하기도했다.


이렇게하여 CAPTURE_AUDIO_OUTPUT 권한을 normal로 변경하고 빌드를 성공했다.





<Figure 0. aosp_taimen 모델명: Hacker>


어느 핸드폰 기종이 Hacker 일 수 있을까 ㅎㅎㅎㅎ 내가 직접빌드했으니 나만의  Hacker Edition 스마트폰!




<Figure 1. 통화녹음 OK, 은행 앱 OK>


빌드 전 CAPTURE_AUDIO_OUTPUT 권한을 필요로하는 어플리케이션을 포함시켜 빌드를 했었으므로 바로 통화를 해보니 녹음이 잘되어 저장되었다. 굳굳


마지막으로 터미널에서 /system/xbin/su 의 이름을 잠시 바꿔주면 은행 앱도 정상적으로 돌아간다.

왜냐? 은행 어플리케이션에서 루팅에 대한 보안은 su를 확인하는게 전부이기때문.



반응형

댓글