7503
Сборка Android (AOSP) из исходников в Manjaro Linux.
Хочу поделиться небольшими практическими наработками для настройки локального окружения для сборки Android Open Source Project в Manjaro Linux.
Все ниже описанное применимо для сборки Android версий 4.x.x.
1. Для начала нам понадобится утилита управления компиляцией она же make версии 3.82
В домашнем каталоге создаем директорию bin, если она еще не была создана и копируем туда скомпилированный бинарник make.
2. Создадим симлинки для python2
3. Дальше необходимо скачать Java Development Kit v.6.
Получить его можно по этой ссылке. Качать в архиве или же просто .bin, решать вам. В итоге у нас должен получится распакованный jdk6, для удобства я его скопировал в /opt/java/jdk6.
4. Осталось совсем немного, добавляем в .bashrc необходимые алиасы и экспорты переменных окружения.
5. Доустанавливаем необходимые зависимости, в моей системе не хватало gperf и perl-switch, если чего-то не будет хватать, всегда можно доустановить.
На этом все, можно приступать к сборке AOSP.
P.S. В качестве shell-а я использую ZSH, поэтому спокойно доавил алиасы и перемнные для JAVA в .bashrc, если кто-то пользуется самим bash-ем и нужна будет версия jdk отличная от 6, то думаю нужно будет придумать более хитрое решение.
Все ниже описанное применимо для сборки Android версий 4.x.x.
1. Для начала нам понадобится утилита управления компиляцией она же make версии 3.82
wget http://ftp.gnu.org/gnu/make/make-3.82.tar.gz
tar -xvf make-3.82.tar.gz
cd make-3.82
./configure
./build.sh
В домашнем каталоге создаем директорию bin, если она еще не была создана и копируем туда скомпилированный бинарник make.
mkdir ~/bin
cp make ~/bin/make3.8
2. Создадим симлинки для python2
ln -s /usr/bin/python2.7 ~/bin/python
3. Дальше необходимо скачать Java Development Kit v.6.
Получить его можно по этой ссылке. Качать в архиве или же просто .bin, решать вам. В итоге у нас должен получится распакованный jdk6, для удобства я его скопировал в /opt/java/jdk6.
4. Осталось совсем немного, добавляем в .bashrc необходимые алиасы и экспорты переменных окружения.
export USE_CCACHE=1
alias make='/home/$USER/bin/make3.8'
JAVA_HOME=/opt/java/jdk6/bin
JRE_HOME=/opt/java/jdk6/jre
export PATH=~/bin:$JAVA_HOME:$JRE_HOME:$PATH
5. Доустанавливаем необходимые зависимости, в моей системе не хватало gperf и perl-switch, если чего-то не будет хватать, всегда можно доустановить.
yaourt -S gperf perl-switch
На этом все, можно приступать к сборке AOSP.
P.S. В качестве shell-а я использую ZSH, поэтому спокойно доавил алиасы и перемнные для JAVA в .bashrc, если кто-то пользуется самим bash-ем и нужна будет версия jdk отличная от 6, то думаю нужно будет придумать более хитрое решение.
10 комментариев
KDE-Minimal Setting-Up
З.Ы. в компиляции Андрюши и программировании под него полный нуб, так что кидаться тапками НУЖНО
KDE-Minimal Setting-Up
KDE-Minimal Setting-Up
AUR Packages: libtinfoAUR
To build Android 6+, you need to install these additional packages:
32-bit and 64-bit systems: rsync
Note: You must now also install lib32-ncurses5-compat-libsAUR & ncurses5-compat-libsAUR since ncurses was updated to ncurses6 and android's prebuilt clang still )
Проблему я так и не решил. Ошибка с пакетами из AUR, если не применять то они требуются, либо проблема с libtinfo после установки нижеописанных. Пока на промежуточной стадии, но раздражает что это в корне исключено к примеру это в Минт 17.3, Убунту, Дебиан и т.д., нет проблем все нужное установить и пользоваться. Что за проблема, когда приходится тратить столько времени на простое, установку нужных пакетов для компиляции прошивки Андроид.
Мануал для ARCH в принципе вполне понятный wiki.archlinux.org/index.php/Android
P.S. Может кто-то сможет дать пару советов?
Устанавливаем
Выдаст ошибку при сборке ncurses5-compat-libs
После нужно установить ключь для ncurses5-compat-libs
и далее ставим
Ставим -> далее
Далее
выдаст ошибку такого рода
Далее делаем символическую ссылку
и далее опять
если нету
нужно установить