6535
Подготовка окружения к работе с Android
Источник: ArchWiki
Не претендую на создание беспрекословного руководства! Принимаются любые пожелания и правки
Если у Вас установлена не моя сборка, то проверьте, установлены ли пакеты android-tools и android-udev. А также в файле /etc/pacman.conf должны быть раскомментированы следующие строчки:
После приведения всех этих условий в порядок, обновите систему.
Установка Android SDK
После установки всех пакетов и правки прав и групп нужно перелогинится в системе.
Так же, установите нужную Вам платформу: android-platformAUR (latest)
android-platform-24 (7.0)
android-platform-23 (6.0)
android-platform-22 (5.1.1)
android-platform-21 (5.0.1)
android-platform-20 (4.4W.2)
android-platform-19 (4.4.2)
android-platform-18 (4.3.1)
android-platform-17 (4.2.2)
android-platform-16 (4.1.2)
android-platform-15 (4.0.4)
android-platform-14 (4.0.2)
Установка Java Development Kit
Android 7 (Nougat) можно скомпилировать при помощи jdk8-openjdk.
Для Android 5 и 6 (Lollipop and Marshmallow), нужно установить jdk7-openjdk из офф репозитория.
Для остальных версий потребуется установка Oracle JDK:
Начиная с Gingerbread до KitKat (2.3 — 4.4), установите jdk6 из AUR.
Более старые версии — jdk5.
repo
Здесь на Ваше усмотрение, я пользуюсь из репозитория Manjaro
Можно же использовать следующий способ:
Расписывать порядок работы с этой утилитой не буду, материала на эту тему и так полно.
Дополню лишь, что для работы с Git, нужно выполнить следующие команды с Вашими значениями:
Недостающие пакеты
Вместо стандартного gcc нужен gcc-multilib
Ну и пакеты из AUR: ncurses5-compat-libs и lib32-ncurses5-compat-libs
Перед их установкой нужно выполнить в терминале следующую команду:
Python
Создадим каталог ~/bin (если его еще нет):
и линкуем:
Перед компиляцией (единожды в текущей сессии) выполняем:
А для проверки линка можно выполнить это:
Оптимизация системы сборки, по рекомендации SevenMaxs:
В файл ~/.bashrc добавить строчку
После чего нужно перезайти в систему или выполнить в терминале export USE_CCACHE=1
Выполнить в терминале команду
Вроде все, система должна быть готовой к сборке и компиляции ОС Android. Если нашли недочет, пишите, дополню.
По топику — сделал для себя «шпаргалку» а то надоело рыскать по сайтам и собирать по крупицам из мануалов нужные пакеты.
19.09.16 Добавил пакеты uboot-tools и cpio (необходимы для работы Carliv Image, рекомендации SevenMaxs
20.09.16 Команды для работы с git
Не претендую на создание беспрекословного руководства! Принимаются любые пожелания и правки
Если у Вас установлена не моя сборка, то проверьте, установлены ли пакеты android-tools и android-udev. А также в файле /etc/pacman.conf должны быть раскомментированы следующие строчки:
[multilib]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
После приведения всех этих условий в порядок, обновите систему.
Установка Android SDK
yaourt -S android-sdk
yaourt -S android-sdk-platform-tools
yaourt -S android-sdk-build-tools
# groupadd sdkusers
# gpasswd -a <user> sdkusers <----- замените <user> на имя вашего пользователя системы
# chown -R :sdkusers /opt/android-sdk/
# chmod -R g+w /opt/android-sdk/
После установки всех пакетов и правки прав и групп нужно перелогинится в системе.
Так же, установите нужную Вам платформу:
Список платформ AUR
android-platform-24 (7.0)
android-platform-23 (6.0)
android-platform-22 (5.1.1)
android-platform-21 (5.0.1)
android-platform-20 (4.4W.2)
android-platform-19 (4.4.2)
android-platform-18 (4.3.1)
android-platform-17 (4.2.2)
android-platform-16 (4.1.2)
android-platform-15 (4.0.4)
android-platform-14 (4.0.2)
Установка Java Development Kit
Android 7 (Nougat) можно скомпилировать при помощи jdk8-openjdk.
Для Android 5 и 6 (Lollipop and Marshmallow), нужно установить jdk7-openjdk из офф репозитория.
Для остальных версий потребуется установка Oracle JDK:
Начиная с Gingerbread до KitKat (2.3 — 4.4), установите jdk6 из AUR.
Более старые версии — jdk5.
repo
Здесь на Ваше усмотрение, я пользуюсь из репозитория Manjaro
# pacman -S repo
Можно же использовать следующий способ:
$ mkdir ~/bin
$ export PATH=~/bin:$PATH
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
Расписывать порядок работы с этой утилитой не буду, материала на эту тему и так полно.
Дополню лишь, что для работы с Git, нужно выполнить следующие команды с Вашими значениями:
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
Недостающие пакеты
# pacman -S gperf wxgtk schedtool perl-switch python2-virtualenv maven uboot-tools cpio
Вместо стандартного gcc нужен gcc-multilib
Ну и пакеты из AUR: ncurses5-compat-libs и lib32-ncurses5-compat-libs
Перед их установкой нужно выполнить в терминале следующую команду:
$ gpg --recv-keys 702353E0F7E48EDB
Python
Создадим каталог ~/bin (если его еще нет):
$ mkdir ~/bin
и линкуем:
$ ln -s /usr/bin/python2 ~/bin/python
$ ln -s /usr/bin/python2-config ~/bin/python-config
Перед компиляцией (единожды в текущей сессии) выполняем:
$ export PATH=~/bin:$PATH
А для проверки линка можно выполнить это:
$ which python
Оптимизация системы сборки, по рекомендации SevenMaxs:
# pacman -S ccache
В файл ~/.bashrc добавить строчку
export USE_CCACHE=1
После чего нужно перезайти в систему или выполнить в терминале export USE_CCACHE=1
Выполнить в терминале команду
ccache --max-size 50G
Вроде все, система должна быть готовой к сборке и компиляции ОС Android. Если нашли недочет, пишите, дополню.
По топику — сделал для себя «шпаргалку» а то надоело рыскать по сайтам и собирать по крупицам из мануалов нужные пакеты.
Последние правки
20.09.16 Команды для работы с git
13 комментариев
Manjaro KDE-Minimal Stable от Spidey
KDE-Minimal Setting-Up
Для ускорения сборки (в дальнейшем) можно установить еще один пакет ccache и в .bashrc добавить строку:
и наконец указать размер (мне хватает 50 Гб) ccache командой:
Ну и как показывает мой личный опыт, лучше использовать x86_64 дистрибутивы.
К стати, для запуска сборки ПО на базе Marshmallow с OpenJDK 1.8 можно попробовать в .bashrc добавить строку:
Лично проверял только на СМ-13.0
Manjaro KDE-Minimal Stable от Spidey
Про OpenJDK 1.8 не знал, пока все по мануалу делаю при помощи 1.7, экспериментировать потом буду.
Я чего-то думал, что собирать можно только на x86_64 дистрибутивах, вроде как Google отказалась от x86 для сборки
KDE-Minimal Setting-Up
Manjaro KDE-Minimal Stable от Spidey
gpg: сбой при получении с сервера ключей: Серверы ключей недоступны
[eudakimau@ThinkPad ~]$ android-sdk
bash: android-sdk: команда не найдена
вот и всё
И по ключам:
KDE-Minimal Setting-Up
Все в одном месте и по порядку, чтобы не бегать по постам и комментариям в поисках недостающего элемента. Короче чтоб без заморочек, а то у убунтуводов есть такие инструкции, а у нас нет
KDE-Minimal Setting-Up
Далее
К примеру у CM
И как раз работу с repo я вообще не описывал в тексте заметки. Там я просто написал что о нем рассказано очень много раз. Тем более Intel процессоры не всегда имеют 2 потока на ядро (core i5 некоторые, к примеру, или дешёвые Celeron или Pentium)
По Intel процессорам — умножать на 2 ни в коем случе не рекомендую (-jX). Нужно ориентироваться на ядра, а не потоки работы процессора, во многих темах это тоже уже часто упоминалось, тем более не стоит забывать об ОЗУ.
KDE-Minimal Setting-Up
платформа на базе Xeon E5-2683 v3 (14 ядер и 28 потоков), лично я собираю с -j28. Гораздо быстрее чем -j14 и нет никаких «перегрузок проца.».
Может просто проц. на это и рассчитан, хз, как будут вести себя i7, i5 и i3.
Дополнение: ОЗУ правда 64Гб и из них уходит около 31Гб.
Manjaro KDE-Minimal Stable от Spidey
Соглашусь с тем, что тут явно все упирается в ОЗУ — по 1ГБ на поток как минимум
KDE-Minimal Setting-Up