안녕하세요!

두번째 시간입니다!


본 게시글은 아래 링크에서 모든 시리즈 혹은 관련 포스팅을 보실수 있습니다.


http://minnote.net/category/iCAROS%20Works/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C%20%EB%94%B0%EB%9D%BC%ED%95%98%EB%8A%94%20%EA%B0%9C%EB%B0%9C


먼저 본 글은 윈도우나 리눅스등 운영체제나 기본적인 컴퓨터 상식정도는 알고있으신 분들을 중점으로 작성한 문서 입니다.

이번 글 부터는 복잡한 이전 방식을 대체하려고 하이퍼 링크로 본인이 필요하신 부분으로 바로바로 갈수 있도록 준비했습니다.


또한 글 내에 아래 두개와 같은 초록색 혹은 빨간색 글상자를 발견하신다면, 아래와 같은 역활을 합니다.


직접 키보드로 입력하셔야 하는 문구들


많이들 겪는 오류나 조심하셔야 하는 부분


그럼 본격적으로 시작하겠습니다.

목차 입니다.


따라하는 빌드 #2 안드로이드 소스 (sync) 다운로드


1. 소스 다운로드를 위한 기본 준비


2. 안드로이드 소스 다운로드

2-1. 원하는 소스 다운로드

2-1-1. Android Open Source Project 다운로드

2-1-2. Cyanogen Mod 다운로드

2-2. 공통작업 다운로드


3. 이 과정을 마치며!


이러한 순서로 진행하게 됩니다.

위 링크들을 클릭시 필요하신 부분으로 이동 됩니다.성성


1. 소스 다운로드를 위한 기본 준비

우선 구글의 안드로이드 Git 작업을 더 쉽게 해주는 구글의 Repo 라는 녀석을 설치해야 합니다.


Repo에 대한 자세한 정보는

https://source.android.com/source/developing.html (영문)


위 링크에서 보실수 있습니다.

 

방법은 상당히 간단합니다.

 

mkdir -p ~/bin 


위 명령어를 터미널에 입력해 줍니다.


위 명령어는 내 홈디렉토리 (/homin/(계정명) 을 ~ 로 리눅스에서 빠르게 이동 및 표현이 가능합니다)안에 bin이라는 폴더를 만들라는 명령입니다.

-p 옵션은 하위 디렉토리 까지 만들라는 뜻인데, -p 없이 mkdir ~/1/2/3 을 치면 오류가 납니다. ~/1/2/3 은 1폴더 속 2폴더 속 3폴더를 만들라는 뜻인데 1 과 2 폴더가 없으니 오류가 납니다.

-p는 1과 2까지 알아서 만들라는 녀석 입니다 .(사실 잘 몰라요 ㅌㅌ)


curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

chmod a+x ~/bin/repo


위 처럼 입력해 주시면 기본적인 준비가 끝났습니다!


하지만 우리는 작업할 공간을 지정 해야 합니다.


위 mkdir 명령어를 응용같진 않지만 응용하셔서 자신이 원하시는 작업 공간을 만드시거나, 탐색기를 이용하셔서 만들어 주시면 됩니다.

여기서 뜻하는 작업공간은 안드로이드 소스를 받고, 빌드할 공간 입니다.


제 기준으로는 /home/icaros7/workspace/cm 입니다.

꼭 workspace 폴더 속 AOSP폴더가 아니어도 됩니다.


mkdir -p ~/workspace/cm


다 만들어 주셨다면, 터미널로 그 폴더로 이동 해야 합니다.

아래는 제 기준 입니다.


cd ~/workspace/cm



2. 안드로이드 소스 다운로드

2-1. 원하는 소스 다운로드


이중 본인이 원하시는 것을 받으시면 됩니다.

매우 많은 소스가 존재하지만 필자는 가장 대표적인 AOSP소스와 CM소스만을 다루겠습니다.


2-1-1. Android Open Source Project 다운로드


우리가 흔히 이야기하는 AOSP 소스 입니다. 구글에서 배포하는 순수한 안드로이드 소스 입니다.


먼저 자신이 다운로드 하고 싶은 안드로이드의 버전을 정해야 합니다.


원하는 안드로이드 버전은 아래 리스트에서 확인 하셔야 합니다.

https://source.android.com/source/build-numbers.html#source-code-tags-and-builds (영문)


위 링크는 매일 새로운 버전이 생긴다면 업데이트 됩니다.


위 링크 리스트에서 우리가 필요한 것은 해당 안드로이드 버전의 Branch 값 입니다.


예를 들어

2015년 9월 24일 필자가 이 글을 작성하는 기준으로 가장 최신의 안드로이드 버전인 android-5.1.1_r18 입니다.


repo init -u https://android.googlesource.com/platform/manifest -b android-5.1.1_r18


 위 명령어를 터미널에 입력해주시면 repo가 알아서 저 위치의 소스를 받아올 준비를 하게 됩니다.


준비가 완료되셨다면, 아래 2-2로 이동해주세요.


2-1-2. Cyanogen Mod 다운로드


우리가 흔히 이야기하는 CM 소스 입니다. CyagnogenMod 팀에서 아니 이제 회사라고 해야 하나요...아무튼 CM에서 배포하는 소스 입니다!


먼저 자신이 다운로드 하고 싶은 CM의 버전을 정해야 합니다.


원하는 CM의 버전은 아래 사이트 중 드롭다운 목록에서 확인이 가능합니다.


https://github.com/CyanogenMod/Android (영문)



저~기 빨간색 테두리가 있는 녀석을 눌러서 나오는 리스트를 확인해주시면 됩니다.


예를들어

2015년 9월 24일 필자가 이 글을 작성하는 기준으로 가장 최신의 안드로이드 버전인 cm-12.1 입니다.


repo init -u https://github.com/CyanogenMod/android.git -b cm-12.1


 위 명령어를 터미널에 입력해주시면 repo가 알아서 저 위치의 소스를 받아올 준비를 하게 됩니다.


준비가 완료되셨다면, 아래 2-2로 이동해주세요.


2-2. 공통작업 다운로드


위 2-1 옵션에서 원하는 소스의 다운로드를 준비시켰다면 이제 repo sync 를 받아야 합니다!

방법은 매우 간단합니다 흐흐


터미널에서 진짜로 repo sync 만 쳐주시면 다운로드 됩니다, 속도가 매우 발암을 유발함으로 한번에 여러개의 파일을 다운로드 해주어야 합니다.

공식 사이트들에서 권장하는 동시 다운로드수는 2~6개 정도이지만, 필자는 40개씩 받을껍니다. (...) 한번 받고 누락된 파일을 다시 다운로드 해주는 과정을 거처준다면 문제 없습니다!

원하는 동시 다운로드 수는 repo sync 명령어 뒤에 -jXX 를 붙여서 가능 합니다.


예를 들어 필자의 경우


repo sync -j40


입니다.



성공적으로 다운로드가 되었다면, 위 처럼 repo 가 Sync 작업을 합니다!

그런데 전 지금 CM서버에 문제가 있나 몇몇 파일이 404 오류를 뿜으며 계속 누락 되는군요.

그래서 다음번에 받기로 했습니다~

3. 이 과정을 마치며!

이번 역시 따로 쓸 말이 없네요...뭔가 엄청나게 어려운걸 한게 없어서...ㅎㅎㅎㅎ

+ Recent posts