Zasadniczo zamierzamy więc skonfigurować podsystem Windows dla systemu Linux (WSL) dla naszego środowiska kompilacji. Jest to niezwykle łatwe, choć często pomijane, ponieważ większość potrzebnych nam produktów jest dostępna w sklepie Microsoft Store.
Pierwszym krokiem jest otwarcie Microsoft Store, wyszukanie Ubuntu 18.04 i zainstalowanie aplikacji.
Następnie otwórz aplikację Ubuntu 18.04 i przejdź przez kreatora wstępnej konfiguracji.
Teraz otwórz terminal Ubuntu i zainstaluj następujące pakiety:
sudo apt install android-sdk-platform-tools bc build-essential ccache curl g ++ - multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses5-dev libsdl1.2-dev libssgt-dev .0-dev libxml2 libxml2-utils lzop m4 repozytorium openjdk-8-jdk pngcrush rsync scheduletool squashfs-tools xsltproc zip zlib1g-dev
Następnie musisz utworzyć nowy katalog dla kodu źródłowego i przejść do niego:
mkdir -p ~ / android / lineage && cd android / lineage
Teraz zainicjujemy repozytorium źródeł LineageOS:
repo init -u https://github.com/LineageOS/android.git -b lineage-15.1
Dodaj ten fragment kodu do .repo / local_manifests / roomservice.xml (jeśli ten plik nie istnieje, możesz go po prostu utworzyć)
A my pobierzemy kod źródłowy:
synchronizacja repozytorium
Teraz jest to całkowicie opcjonalne, ale zaleca się włączenie buforowania w celu przyspieszenia kompilacji - robimy to za pomocą „pamięci podręcznej”.
Zasadniczo chcesz dodać następujący wiersz do swojego pliku ~ / .bashrc:
Eksportuj USE_CCACHE = 1
Następnie określ maksymalną ilość miejsca na dysku, z której pamięć podręczna ma korzystać:
Pamięć podręczna -M 50G
Zastąp „50G” w tym wierszu według swoich preferencji - odpowiada to przydzielanej ilości pamięci podręcznej w gigabajtach. Jeśli tworzysz tylko dla jednego urządzenia, możesz używać między 25–50 GB, ale jeśli tworzysz dla wielu urządzeń, nie współużytkują tego samego źródła jądra powinieneś podbić go do około 75 - 100G. W obu przypadkach użycie pamięci podręcznej skróci znaczną ilość czasu w kompilacjach.
Następnie powinieneś zaszyfrować następującą zmianę:
source build / envsetup.sh && repopick -t wsl-compile
Następnie przygotujesz kod specyficzny dla urządzenia:
śniadanie kryptonim twojego urządzenia
Utwórz 64-bitowy bison i ijar:
zrób bizon i zrób ijar
Ustaw BISON_EXEC, aby uruchamiał 64-bitową wersję bison i ustaw IJAR_EXEC, aby uruchamiał dostosowany ijar:
export BISON_EXEC = ~ / android / lineage / out / host / linux-x86 / bin / bison export IJAR_EXEC = ~ / android / lineage / out / host / linux-x86 / bin / ijar
(dodaj polecenia do ~ / .bashrc, jeśli nie chcesz, aby były wykonywane za każdym razem, gdy ponownie otwierasz wiersz poleceń)
A teraz możesz rozpocząć budowę!
późne śniadanie kryptonim twojego urządzenia
Aby budować w przyszłości, wystarczy powtórzyć kroki dodawania .repo / local_manifests, włączyć pamięć podręczną i ustawić BISON_EXEC i dostosowany IJAR.
Musisz także zrobić bizon i zrobić ijar za każdym razem, gdy opróżniasz katalog.
Kilka uwag końcowych:
- Nie rób dodaj / edytuj pliki Linuksa z Windows, pliki najprawdopodobniej zostaną uszkodzone w bash. Zrób to w ramach podsystemu Linux.
- Nie rób posługiwać się mnt aby pobrać kod źródłowy na inne dyski, a następnie postępuj zgodnie z tym przewodnikiem. Należy pobrać kod źródłowy do folderów tylko w podsystemie Linux!