안녕하세요!

두번째 시간입니다!


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


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. 이 과정을 마치며!

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

안녕하세요!

오랜만에 이 시리즈 글을 쓰네요. (아니 새로 구성하고는 처음이지요? ㅌㅌ)


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


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


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

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


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


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


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


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

목차 입니다.


따라하는 빌드 #1 안드로이드 개발 환경 구성


1. 64비트 우분투 설치


2. 안드로이드 개발 환경 구성

2-1. 자바 설치

2-2. 필수 패키지 다운로드

3-3. ADB 사용을 위한 규칙 수정


3. 이 과정을 마치며!


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

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


1. 64비트 우분투 설치


먼저 본 글에서는 64비트 우분투를 권장하고 있습니다. 하지만 본인의 기호에 따라 다른 리눅스 계열 운영체제를 설치하셔도 무방합니다만, 그에 따라 해당 운영체제의 명령어는 따로 입력하셔야 합니다.

본 글은 우분투 14.04.3 64비트를 기준으로 작성하였습니다.

※왜 64비트 리눅스를 설치하나요?
사실 32비트 우분투를 설치하셔도 무방하도 합니다. 하지만 구글에서 64비트 운영체제를 기준으로 64비트에서 필요한 라이브러리들을 알려주고있음으로 전 64비트 사용합니다.
실제로 32비트에서는 더 잦은 빌드 오류가 있다고 합니다만 전 직접 안써서 모르겠네여
그리고 우분투의 32비트는 램이 2기가 이하의 저사양 컴퓨터용으로 제공되고 있습니다. 하지만 안드로이드 빌드과정에서 램이 2기가로는 많이 부족합니다. 고로 64비트 설치했습니다!!!
(만일 자신의 램이 2기가 이하라면, 일딴 64비트를 설치하시고 가상 메모리를 스왑하셔야만 합니다. 안그러면 빌드 중간에 램부족해서 빌드가 중단됩니다)

먼저 우분투 ISO 이미지등을 다운로드 해야만 하겠지요?
원랜 우분투 공식 홈페이지로 이동하나, 우리가 그곳에서 할일은 없습니다! 그저 다운로드.
따라서 다음에서 제공하는 우분투 한국 서버 FTP 에 대해 링크를 걸었습니다.

http://ftp.daum.net/ubuntu-releases/14.04.3/ <- 요 링크를 가셔서 "ubuntu-14.04.3-desktop-amd64.iso" 를 다운로드 하시면 됩니다.

그게 귀찮으시면 여기 를 클릭하시면 바로 다운로드가 진행 됩니다.
이 글을 읽고계신분이 국내에 계시다면야 빠른 시간내에 다운로드가 완료 됩니다.

다운로드가 모두 완료되셨다면, 이제 내가 우분투를 어떠한 방식으로 설치하실까를 고민 하셔야 합니다.

1. 하드디스크에 직접적으로 우분투 설치 (파티션 조정을 하거나 포멧이 필요)
2. wubi를 통한 윈도우 안에 우분투 설치 (추후 가상 디스크 확장 작업 필요)
3. VM웨어,버추얼 박스등의 가상 머신 프로그램을 통한 우분투 설치

저는 개인적으로 1번과 3번을 가장 적극 추천 드립니다. 2번 과정은 추후 가상 디스크를 따로 확장 하셔야 합니다.
저는 3번 과정을 선택했습니다. 1번의 경우 컴퓨터의 모든 성능을 우분투에다가 할당이 가능 함으로 중사양 사용자 혹은 저사양 사용자에게 추천하고 싶은 방식입니다.
3번의 경우 윈도우가 정상 부팅된 상태에서 윈도우 안에 또하나의 운영체제를 실행하는 방식입니다. 다시말해 한 컴퓨터로 두개의 운영체제를 구성함으로 어느정도의 사양이 요구 됩니다만 리눅스 계열은 윈도우 만큼 많이 쓰지 않아 중사양 사용자나 저사양 사용자도 하셔도 무방 합니다. 램이 많으면 좋지만요~ 또한 이 3번의 장점은 SSH등을 이용해 윈도우에서 리눅스의 명령 프롬프트(?)를 띄우고 개발하는것이 가능합니다. 나중에 다시한번더 언급 하겠습니다. 1번 과정도 2대 이상의 컴퓨터가 같은 내부 네트워크 안에 있다면 가능 합니다.

일딴 기본적으로 안드로이드 빌드를 하시려면 "최소 30기가 이상의 공간이있는 디스크"에 우분투를 설치하셔야 합니다.

이 과정은 딱히 뭐라 적을것도 없고, 할것이 없어서 그냥 사진 한장으로 대체 합니다.



요요
(이전 글 사진인건 안비밀)


2. 안드로이드 개발 환경 구성

우분투가 모두 성공적으로 설치 되셨나요

바로 급하지만 우리는 안드로이드 개발 환경 구성을 해야 합니다,


우분투가 모두 부팅이 되셨다면, 컨트롤키 + 알트키 + T키를 눌러주세요.




위와 같이 우분투의 내장 터미널이 실행될것 입니다.


우분투는 여기서 모든 작업이 가능 합니다. NT커널을 사용하고 DOS를 대체하는 명렴프롬프트만이 존재하는 윈도우와는 많이 다르게 모든 작업이 가능 합니다.

오히려 저는 종종 마우스로 누르는거보다 여기서 작업하는게 더 편한 경우도 있습니다만은 파일 관리는 마우스가 편합니다 ㅎㅎ


우선 자신이 개발할 안드로이드 환경을 정하셔야 합니다.

여기까지 오신분이라면 안드로이드에 대한 기본 지식은 있다 생각하겠습니다.


2-1. 자바 설치


롤리팝 5.0 이상의 안드로이드의 경우 자바 이용시 7버전을 사용 합니다.

진저브레드 2.3 이상의 안드로이드에서 킷켓 4.4의 안드로이드까지는 자바 이용시 6버전을 사용합니다.

컵케잌1.5 이상의 안드로이드에서 프로요 2.2의 안드로이드까지는 자바 이용시 5버전을 사용합니다.


자신이 해당하는 부분의 자바를 설치해야함을 기억 해주세요~


이 글에서는 롤리팝 소스를 받고, 안드로이드 사이트 master 브랜치를 받으시는 경우 무조건 늘 최신 버전의 자바를 설치하시면 됩니다.



sudo apt-get update

sudo apt-get install openjdk-7-jdk



우선 자바를 설치하시 위해 우분투에서 주로 쓰이는 OpenJDK 를 설치 합니다.


만일 성공적으로 설치 되신 경우에는 "java -version" 명령어를 입력하시면 아래와 비슷하게 나오셔야 합니다.



2-2. 필수 패키지 다운로드


그런 다음 안드로이드 개발에 꼭 필요한 필수 패키지 들을 설치하셔야만 합니다.


본 글은 우분투 14.04 를 기준으로 작성하였습니다.



sudo apt-get install bison g++-multilib git gperf libxml2-utils make python-networkx zlib1g-dev:i386 zip



성공적으로 설치가 완료되셨다면 개발환경 구성의 반이상이 끝났습니다!

아래서부터는 필수 과정은 아닙니다만은 없으면 많이 불편하죠.


2-3. ADB 사용을 위한 규칙 설정

개발과정중 ADB사용이 안된다면 상당한 불편함이 있습니다.


일딴 우분투에서는 기본적으로 각종 핸드폰 제조사별 USB드라이버에 대한 규칙이 없습니다. (사실 이부분 저도 잘 몰라요 ㅎㅎㅎㅎㅎ)



wget -S -O - http://source.android.com/source/51-android.rules | sed "s/<username>/$USER/" | sudo tee >/dev/null /etc/udev/rules.d/51-android.rules; sudo udevadm control --reload-rules



위 문구를 터미널에서 입력해 줍니다. 그러면 알아서 구글에서 가장 최신의 정보가 적혀있는 녀석을 알아서 설치하고, 필요한 서비스를 재시작 해줍니다.

(저도 이글쓰면서 처음 알았네요. 이때까지 늘 따로따로 직접 했는데...)


3. 이 과정을 마치며!

모든 과정이 오류 없이 성공적으로 준비 되셨나요?

그렇다면 이미 안드로이드 빌드 과정에 한 100분의 1쯤 다가 왔습니다 (...)

왜냐하면 안드로이드 소스를 받는게 100분의 98 이거든요!!!! 아오 오래걸려라


만약 여기까지하시는데 멘탈이 깨지신다?!?!!?

이제 빌드중에 오류나시면 훨훨 날라가십니다.

단단히 준비하세요!


사실 이 편에서는 여기다가 적을께 뭔가 없네요.


다음에 뷉겠습니다!

+ Recent posts