Как да изградим Lineage OS на Windows 10

16 GB RAM (компилирането отнема много ресурси!)

Така че това, което основно ще направим, е да създадем подсистема на Windows за Linux (WSL) за нашата среда за изграждане. Това е невероятно лесно, макар и често да се пренебрегва, тъй като повечето от това, от което се нуждаем, е налично в магазина на Microsoft.



Първата ви стъпка е да отворите Microsoft Store и да потърсите Ubuntu 18.04 и да инсталирате приложението.

След това отворете приложението Ubuntu 18.04 и преминете през съветника за първоначална настройка.



Сега отворете терминала на Ubuntu и инсталирайте следните пакети:



sudo apt инсталирайте 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 libsvl libvvv dev-dev libsvl1-dev libsdl1 .0-dev libxml2 libxml2-utils lzop m4 openjdk-8-jdk pngcrush repo rsync schedtool squashfs-tools xsltproc zip zlib1g-dev

След това трябва да създадете нова директория за изходния код и да отидете до нея:



mkdir -p ~ / android / lineage && cd android / lineage

Сега ще инициираме репото на източника LineageOS:

repo init -u https://github.com/LineageOS/android.git -b lineage-15.1

Добавете този бит код към .repo / local_manifests / roomservice.xml (ако този файл не съществува, можете просто да го създадете)

И ще изтеглим изходния код:

репо синхронизиране

Сега това е чисто по избор, но се препоръчва да включите кеширането, за да ускорите компилацията си - ние правим това чрез „ccache“.

По принцип искате да добавите следния ред към вашия ~ / .bashrc файл:

 Експортирайте USE_CCACHE = 1 

И след това посочете максималното количество дисково пространство, от което искате кешът да се възползва:

 Ccache -M 50G 

Заменете „50G“ в този ред с вашите предпочитания - той съответства на количеството кеш, което разпределяте в гигабайта. Ако изграждате само за едно устройство, можете да използвате между 25G - 50G, но ако изграждате за няколко устройства не споделят един и същ източник на ядрото трябва да го увеличите до около 75 - 100G. И в двата случая използването на кеша ще обръсне значително време от вашите компилации.

След това трябва да подпишете следния ангажимент:

source build / envsetup.sh && repopick -t wsl-compile

След това ще подготвите специфичен за устройството код:

закуска кодовото име на вашето устройство 

Направете 64-битов бизон и ijar:

направи бизон && направи ijar

Задайте BISON_EXEC да изпълнява 64-битовата версия на bison и задайте IJAR_EXEC да изпълнява адаптирания ijar:

износ BISON_EXEC = ~ / android / lineage / out / host / linux-x86 / bin / bison износ IJAR_EXEC = ~ / android / lineage / out / host / linux-x86 / bin / ijar

(добавете командите към ~ / .bashrc, ако не искате да се налага да го изпълнявате всеки път, когато отворите отново команден ред)

И сега можете да започнете компилацията!

брънч кодовото име на вашето устройство 

За изграждане в бъдеще, просто трябва да повторите стъпките за добавяне на .repo / local_manifests, да активирате кеша и да зададете BISON_EXEC и адаптиран IJAR.

Също така трябва да направите bison && make ijar всеки път, когато изтриете директорията.

Някои заключителни бележки:

  • Недей добавете / редактирайте вашите Linux файлове от Windows, файловете най-вероятно ще се повредят в bash. Направете го в рамките на подсистемата Linux.
  • Недей използване mnt за да изтеглите изходния код на други устройства и след това следвайте това ръководство. Трябва да изтеглите изходния код в папки само в рамките на подсистемата Linux!
3 минути четене