Android compile — различия между версиями
Angell (обсуждение | вклад) (→Компиляция и закачка файлов на телефон) |
Angell (обсуждение | вклад) (→Подробно) |
||
Строка 74: | Строка 74: | ||
repo sync | repo sync | ||
− | |||
== Установка Repo == | == Установка Repo == | ||
Версия 19:36, 28 октября 2010
[ Toshiba G900 ] | [ TODO ] | [ Характеристики ] | [ Компиляция ядра ] | [ Компиляция Андройда ]
Содержание
Предисловие.
Ниже приведен вариант с установкой под Ubuntu 8.10. Также можно с Windows и VMWare
Кратко
выполняем команды:
установка repo:
su (тут спросят пароль пользователя root) curl http://android.git.kernel.org/repo >/bin/repo chmod a+x /bin/repo exit (выходим из под суперюзера)
выкачиваем исходники:
mkdir ~/mydroid cd ~/mydroid repo init -u git://android.git.kernel.org/platform/manifest.git repo init -u git://android.git.kernel.org/platform/manifest.git -b froyo repo sync
Установка Repo
Создание каталога: Скачиваем Repo и делаем его исполняемым.
$ su (попросят пароль суперпользователя root) $ curl http://android.git.kernel.org/repo >/bin/repo $ chmod a+x /bin/repo
Инициализация Repo
Создаем каталог, где будем хранить исходник Андроида:
$ mkdir mydroid $ cd mydroid
Инициализируем Repo
$ repo init -u git://android.git.kernel.org/platform/manifest.git
Данная команда инициализирует репозиторий, в который включены все проекты (branch) Андроида (образно, последний билд, и далеко не самый стабильный), для работы с определенными проектами (например, ожидаемый cupcake или текущий стабильный билд release-1.0) необходимо дополнительно указывать проект в строке инициализации:
пример для froyo
$ repo init -u git://android.git.kernel.org/platform/manifest.git -b froyo
Полный список проектов можно увидеть в терминале при синхронизации репозитория.
В процессе выполнения инициализации попросят ввести имя и емаил. Если вы хотите работать с Андроидом и отсылать свой код Гуглу, то емаил должен быть от Gmail аккаунта.
В случае успешного завершения инициализации вы увидите надпись:
repo initialized in /mydroid
Скачивание Андроида
Заходим в директорию и запускаем repo на синхронизацию:
$ cd mydroid $ repo sync
Всё, началось скачивание. Процесс это долгий, качать порядка 1.5 Гб, которым потом еще и распаковываться в процессе. Если случился обрыв связи или вдруг вы не компилировали Андроида, то опять заходите в свой рабочий каталог и выполняете команду
$ repo sync
и процесс продолжится.
Подготовка к компиляции Андроида
Прежде всего учитывайте, что на текущий момент единственный проверенный способ получить последнюю версию Андроида после компиляции – это заново скачать 1.5 Гб. Ибо после компиляции синхронизация с репозиторием не работает. Удаления некоторых типов папок, как пишет Гугл, эффекта не дали – синхронизация закончилась ошибкой. Так что буду благодарен за метод синхронизации без постоянной скачки гигабайтов информации.
Это тоже относится к периоду компиляции Андроида с капкейком и не является обязательным при нормальной компиляции Андроида.
Компиляция и закачка файлов на телефон
Выполняем команду make в директории и идем отдыхать часок-другой
$ cd mydroid $ make
В итоге, если всё правильно, в конце будут указаны img-файлы, которые создались при компиляции – recovery.img, boot.img, system.img, userdata.img. НО ОНИ НАМ НЕ НУЖНЫ.
а нужно нам только папка out/target/product/generic/system из нее делаем файл образа system.img
и out/target/product/generic/root которая будет ramfs но для запуска необходимо поправить конфигурационные файлы
init.rc и default.prop
также необходимо init переименовать в init_1 и добавить стартовый скрипт init, но и его придеться поправить если это не donut билд