#1 커널빌드에서 이어짐.
프레임워크를 다운받을 디렉토리를 만들고, repo init 후 repo sync로 다운받도록 한다.
branch는 최신인 android-4.4.4_r2로 선택.
다른 버전(브랜치)도 얼마든지 선택 가능.
브랜치 목록은 이곳에서 볼 수 있다.
repo sync는 대략 한시간정도 걸린다. (물론 네트워크 속도에 따라 다름...)
여기에 디바이스용으로 빌드를 하려면 각 디바이스와 버전에 맞는 바이너리를 추가 해 주어야 한다.
아마 이 바이너리들은 오픈소스가 아니라서 이렇게 배포를 하는 듯...
목록은 여기서 확인하고, 넥서스4의 4.4.4는 이 세 파일을 다운받으면 된다.
r2용 바이너리가 따로 있는 기기/버전이 있는데, mako/4.4.4는 다행히 r1의 바이너리로 정상 동작을 하는것으로 보인다.
첫 빌드에서 와이파이가 안켜지는 증상으로 실패했는데 이유인즉 바이너리는 4.4.4용을 받아놓고,
실제 프레임워크 소스는 4.4 를 받아 빌드를 한 것. 이런 멍충한 실수를....
다운받으면 tgz파일이 다운되고, 압축을 풀면 각각 sh 파일이 하나씩 나온다.
이 sh 파일을 프레임워크 루트에서 실행하면 vendor 디렉토리 아래에 해당 파일들이 위치하게 된다.
sh파일을 실행하면 약관 내용이 나온다. 끝까지 간 후 화면에 나온대로 I ACCEPT 를 입력하면 파일을 저장한다.
프레임워크는 준비되었고, 이제 이 빌드에 포함될 커널을 먼저 빌드해놓은 이미지로 교체하자.
device/lge/mako-kernel/kernel 파일이 있는데, 이 파일을 커널빌드에서 나온 zImage 파일로 교체하면 된다.
소프트링크를 걸던, 복사를 하건 그건 각자 알아서 하면 된다.
참고로 이 파일의 makefile 설정은 device/lge/mako/device.mk 에 있다 (캡춰부분)
makefile을 수정하려면 그것도 상관없음.
이제 프레임워크 빌드 순서에 따라 build/envsetup.sh 를 실행해주고, lunch를 통해 빌드 타겟을 설정한다.
envsetup.sh의 실행은 source 명령(.) 으로 실행하는것을 유의.
각 기기별 빌드타겟 확인은 이곳에서 확인 가능.
그리고 make.
대략 두시간정도 걸렸고, PC성능이 좋다면 한시간 내외로 끝날 수 도 있다.
빌드가 완료되면 out/target/product/mako 위치에 이미지 파일들이 위치하게 된다.
이 중 아래 여섯개의 파일을 복사해둔다.
내 경우엔 우분투에서 빌드 - 윈도우에서 플래싱이라 복사를 따로 했지만, 빌드한 PC에서 바로 플래싱하는 경우는 경로만 잡아주면 된다.
다음 포스트 플래싱하기에서 계속.
'Knowledge > Android' 카테고리의 다른 글
NDK로 ffmpeg 빌드해서 썸네일 만들기 (0) | 2014.10.23 |
---|---|
AOSP 직접 빌드하여 넥서스4에 설정하기 #3 - 기기 플래싱 (4) | 2014.08.01 |
AOSP 직접 빌드하여 넥서스4에 설정하기 #1 - 커널 빌드 (3) | 2014.08.01 |
안드로이드 NFC 읽고/쓰기 구현 (0) | 2014.06.09 |
Google Maps Android API v2 사용하기 (0) | 2014.05.19 |