Внимание(!) Эта инструкция не позволит создать вам сразу полнофункциональную прошивку, но даст вам возможность начать работать над ней.
Примечание: исходники занимают примерно 6 Гб. Вам нужно около 25 ГБ свободного места чтобы скомпилировать 1 билд и до 80 Гб (или больше) для полного комплекта сборки.
Перед началом компиляции Jelly Bean на Ubuntu необходимо пройти несколько шагов по настройке компьютера, чтобы получить готовый инструмент.
Инструкция:
1) Вам необходимо следующее:
-JDK 6, если вы хотите скомпилировать Jelly bean. Вы можете скачать его с java.sun.com или:
$ sudo apt-get install sun-java6-jdk
-Python 2.4 — 2.7, который можно загрузить из python.org или:
$ sudo apt-get install python
-Git 1.7 или новее. Вы можете найти его в Git-scm.com или:
$ sudo apt-get install git-core
2) Установить необходимые пакеты. 64-bit (рекомендуется)
$ sudo apt-get install git-core gnupg flex bison gperf build-essential
zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs
x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown
libxml2-utils
В новых версиях Ubuntu, таких как 11.10 возможно потребуется выполнить следующие действия:
$ sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
В Ubuntu 12.04 в настоящее время есть только экспериментальная поддержка и не гарантируется работа по другим веткам отличным от master.
$ sudo apt-get install git-core gnupg flex bison gperf build-essential
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386
libgl1-mesa-dev g++-multilib mingw32 openjdk-6-jdk tofrodos
python-markdown libxml2-utils xsltproc zlib1g-dev:i386
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
3) Настроить USB
$ gksudo gedit /etc/udev/rules.d/51-android.rules
Вставьте это внутрь пустого текстового файла
#Acer
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666"
#ASUS
SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666"
#Dell
SUBSYSTEM=="usb", ATTR{idVendor}=="413c", MODE="0666"
#Foxconn
SUBSYSTEM=="usb", ATTR{idVendor}=="0489", MODE="0666"
#Garmin-Asus
SUBSYSTEM=="usb", ATTR{idVendor}=="091E", MODE="0666"
#Google
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666"
#HTC
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666"
#Huawei
SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666"
#K-Touch
SUBSYSTEM=="usb", ATTR{idVendor}=="24e3", MODE="0666"
#KT Tech
SUBSYSTEM=="usb", ATTR{idVendor}=="2116", MODE="0666"
#Kyocera
SUBSYSTEM=="usb", ATTR{idVendor}=="0482", MODE="0666"
#Lenevo
SUBSYSTEM=="usb", ATTR{idVendor}=="17EF", MODE="0666"
#LG
SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666"
#Motorola
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666"
#NEC
SUBSYSTEM=="usb", ATTR{idVendor}=="0409", MODE="0666"
#Nook
SUBSYSTEM=="usb", ATTR{idVendor}=="2080", MODE="0666"
#Nvidia
SUBSYSTEM=="usb", ATTR{idVendor}=="0955", MODE="0666"
#OTGV
SUBSYSTEM=="usb", ATTR{idVendor}=="2257", MODE="0666"
#Pantech
SUBSYSTEM=="usb", ATTR{idVendor}=="10A9", MODE="0666"
#Philips
SUBSYSTEM=="usb", ATTR{idVendor}=="0471", MODE="0666"
#PMC-Sierra
SUBSYSTEM=="usb", ATTR{idVendor}=="04da", MODE="0666"
#Qualcomm
SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666"
#SK Telesys
SUBSYSTEM=="usb", ATTR{idVendor}=="1f53", MODE="0666"
#Samsung
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666"
#Sharp
SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", MODE="0666"
#Sony Ericsson
SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666"
#Toshiba
SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666"
#ZTE
SUBSYSTEM=="usb", ATTR{idVendor}=="19D2", MODE="0666"
4) Сохраните файл и закройте его, а затем выполните следующую команду:
$ sudo chmod a+r /etc/udev/rules.d/51-android.rules
5) Установите repo:
$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
6) Запустите repo:
$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY
$ repo init -u https://android.googlesource.com/platform/manifest -b jb-dev
7) Если потребуется, введите ваше имя и адрес электронной почты.
8) Соберите файлы:
$ repo sync
9) Скомпилируйте:
$ source build/envsetup.sh
или
$ . build/envsetup.sh
10) Запуск:
$ lunch
11) Выберите свое устройство
12) Теперь вопрос ('#' Это число ядер процессора плюс 1, например у меня есть 2хядерный процессор, то я пишу 'make -j3')
$ make -j#
~ Как добавитьустройство в список ~
1) Найти на GitHub устройства которые вы хотите добавить. (Для меня это HTC Evo 3D-CDMA)
2) Теперь перейдите в папку куда вы собираетесь клонировать дерево устройства:
$ cd WORKING_DIRECTORY/device
$ mkdir htc
3) Клонирование с GitHub дерева устройства с удаленного на локальный:
(Удостоверьтесь, что папка будет называться так же как стандартное имя для вашего устройства, например: Nexus One [passion], Nexus S [crespo] Motorola Droid [sholes], HTC Incredible [inc] и т.д.)
$ git clone git://github.com/CyanogenMod/android_device_htc_shooter.git shooter
4) Теперь перейдите в папку:
$ cd shooter
5) Подключите телефон к компьютеру и убедитесь, что отладка для USB включена и adb работает должным образом.
6) Извлеките собственные файлы устройства:
$ ./extract-files.sh
7) Вернитесь в свой домашний каталог
$ cd ~/WORKING_DIRECTORY
8) Подготовьтесь к компиляции:
$ source build/envsetup.sh
или
$ . build/envsetup.sh
9) Получите список ваших устройств:
$ lunch
10) Выберите свое устройство
11) Компилируйте:
$ make -j#
или для создания zip архива для прошивки:
$ make -j# otapackage
Автор: Rubaka