Android compile — различия между версиями

Материал из G900
Перейти к: навигация, поиск
(Кратко)
(Компиляция и закачка файлов на телефон)
Строка 182: Строка 182:
  
  
В итоге, если всё правильно, в конце будут указаны img-файлы, которые создались при  компиляции  – recovery.img, boot.img, system.img, userdata.img.
+
В итоге, если всё правильно, в конце будут указаны img-файлы, которые создались при  компиляции  – recovery.img, boot.img, system.img, userdata.img. НО ОНИ НАМ НЕ НУЖНЫ.
  
2 варианта закачивания файлов на телефон:
+
а нужно нам только папка out/target/product/generic/system
 +
из нее делаем файл образа system.img
  
Полная прошивка (все скомпилированные образы прошиваются):
+
и out/target/product/generic/root
 
+
которая будет ramfs
$ chmod a+x fastboot
+
но для запуска необходимо поправить конфигурационные файлы
  $ fastboot –w flashall
+
  init.rc и default.prop
$ fastboot reboot
+
также необходимо init переименовать в init_1 и добавить стартовый скрипт init, но и его придеться поправить если это не donut билд
 
+
 
+
Выборочная прошивка:
+
 
+
$ chmod a+x fastboot
+
$ fastboot flash system system.img
+
$ fastboot flash boot boot.img
+
$ fastboot flash userdata userdata.img
+
$ fastboot reboot
+
 
+
Всё, телефон перегружается и у вас в нем последний (ну или указанный) билд Андроида.
+

Версия 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 билд