안드로이드 앱 개발을 하다보면 자연히 안드로이드 운영체제에 대해 관심을 갖게된다. 안드로이드의 내부는 어떻게 생겼는지, 앱은 어떻게 동작하는지 궁금하다면 안드로이드 소스코드를 내려 받아 분석해 보면 된다. 안드로이드는 오픈소스라서 누구나 코드를 내려받고, 수정하고, 빌드해서 모바일 기기에 올릴 수 있다.
AOSP(Android Open-Source Project) 사이트에 소스코드를 내려받는 방법이 자세히 나와있다. 일단, Linux나 macOS를 사용해야 한다. AOSP를 위해서 리눅스를 설치할 생각이 없다면 맥에서 시작하면 된다. (윈도우 사용자라면? 리눅스를 설치하고, 사이트에 나와있는 방법대로 세팅하기 바란다.) AOSP 사이트에서는 MacPorts를 사용해서 환경을 설정하고, 소스코드를 다운받는다. 하지만 맥에는 Homebrew라는 좋은 패키지 관리자가 있다. Homebrew를 사용해서 안드로이드 소스코드를 다운 받는 방법을 정리했다.
Download Source Code
Mac 환경 설정
- Homebrew 설치 http://brew.sh/
- 설치 명령: $ /usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
- 업데이트 명령: $ brew outdated && brew update && brew upgrade && brew doctor
- 안드로이드 컴파일 필수 패키지 설치
- 설치 명령: $ brew install git coreutils findutils gnu-sed gnupg pngcrush python
- gpg 추가 필요?
- Creating A Case-Sensitive Volume
- 생성 명령: $ hdiutil create -type SPARSE -fs “Case-sensitive Journaled HFS+” -size 100g -volname “Android” -attach ~/Android
- 추후 용량 변경 명령: $ hdiutil resize -size g ~/Android.sparseimage
- 생성 명령: $ hdiutil create -type SPARSE -fs “Case-sensitive Journaled HFS+” -size 100g -volname “Android” -attach ~/Android
Downloading the Source code
- https://source.android.com/source/downloading.html
-
Installing Repo
- 설치 과정
$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
- 설치 과정
- Initializing a Repo client
- Android 디스크로 이동, (하위 폴더 생성)
- 설정 명령: $ repo init -u https://android.googlesource.com/platform/manifest
- Downloading
- 다운로드 명령: $ reop sync