Это дерево создано на основе работы @divis1969 , без него ничего бы не было. Отдельная благодарность @olegsvs и @lunik1981 (vasiliy.ivanov 4pda)#
Устанавливаем java командой
sudo apt-get install openjdk-8-jdk
Добавляем пакеты для java командой
sudo apt-get update && sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev openjdk-8-jre openjdk-8-jdk pngcrush schedtool libxml2 libxml2-utils xsltproc lzop libc6-dev schedtool g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev gcc-multilib maven tmux screen w3m ncftp
Конфигурируем яву (для сборки 7 андроида нужна ява 8)
sudo update-alternatives --config javac
sudo update-alternatives --config java
sudo update-alternatives --config javaws
sudo update-alternatives --config javadoc
sudo update-alternatives --config javah
sudo update-alternatives --config javap
sudo update-alternatives --config jar
Создаем папку bin командой
mkdir ~/bin
Патчим папку bin командой
PATH=~/bin:$PATH
Добавляем repo командой
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
Делаем разрешение для repo командой
chmod a+x ~/bin/repo
Создаем папку RR и в ней запускаем командную строку.
mkdir ~/RR
cd ~/RR
Логинимся в git (если учетки нету, вам сюда https://github.com/ )
git config —global user.email "[email protected]" (емейл на который была зарегистрирована учетка гитхаба)
git config —global user.name "NAME" (Логин на гитхабе)
Скачиваем исходники RR при помощи команды
repo init -u https://github.com/ResurrectionRemix/platform_manifest.git -b nougat
Cинховать исходники при помощи команды
repo sync -f --force-sync --no-clone-bundle
Закидываем файл roomservice.xml по пути (брать отсюда: https://github.com/HEVOD/roomservice.git):
RR/.repo/local_manifests/
Заходим в папку
cd ~/RR
Заходим в папку "Device"
cd device
Создаем папку "dexp" командой
mkdir dexp
Заходим в папку "dexp"
cd dexp
Скачиваем Дерево командой
git clone https://github.com/HEVOD/device_dexp_ixionM255 -b resurrectionremix ixionM255
Заходим в папку RR
cd ~/RR
Заходим в папку "Vendor"
cd vendor
Создаем папку "dexp" командой
mkdir dexp
Скачиваем Вендор командой
git clone https://github.com/HEVOD/vendor_device_dexp_ixionM255 -b resurrectionremix ixionM255
Заходим
cd RR/device/ixionM255/patches
закинуть файл revert_sepolicy_to29.patch по пути system/sepolicy и применить
patch -p1 <revert_sepolicy_to29.patch
затем применить
. apply-patches.sh
Устанавливаем КЕШ при сборке (Я делаю в ручную потому что так надежнее)
Открывает свою домашнюю папку (HOME), Нажимаем Ctrl+H, Открываем файл .bashrc и в самый низ вставляем
export USE_CCACHE=1
export ANDROID_JACK_VM_ARGS="-Xmx8192m -Xms512m -Dfile.encoding=UTF-8 -XX:+TieredCompilation"
(Где Xmx8192m это количество оперативной памяти)
Пишем команду в корне папки RR
./prebuilts/sdk/tools/jack-admin kill-server
(Эта команда удаляет процесс рабочего сервера ДЖЭК, если он вдруг сейчас работает) Нормальный ответ (означает что процесса не было):
/android/system$ ./prebuilts/sdk/tools/jack-admin kill-server
Writing local settings in /home/hard/.jack
Killing background server
ERROR: No Jack server to kill
Запускаем сервер командой из папки RR
./prebuilts/sdk/tools/jack-admin start-server
Заходим в папку RR командой
cd ~/RR
Вводим команду
. build/envsetup.sh
Вводим команду
lunch
Выбираем телефон
lineage_ixionM255-userdebug
Вводим команду
mka otapackage -jX
где Х - количество ядер процессора +1 (например -j5, 4 ядра +1) Если хотим еще и лог процесса записывать, то
mka otapackage -j5 2<&1 | tee build.log
НАЧИНАЕТСЯ СБОРКА
ошибки лечим по мере их возникновения