LineageOS, CyanogenMod का फोर्केड उत्तराधिकारी, Android के लिए सबसे लोकप्रिय कस्टम ROM है। इसे 200 से अधिक फोन मॉडल्स पर पोर्ट किया गया है और स्टॉक Android अनुभव की तुलना में इसमें सुविधाओं की एक बड़ी श्रृंखला है।
हालांकि, जबकि LineageOS पोर्ट्स वाले कई डिवाइस हैं, बिना पोर्ट वाले और भी अधिक हैं। इस त्वरित और आसान Appual's गाइड में, हम आपको दिखाएंगे कि LineageOS को Windows 10 वातावरण में कैसे बिल्ड किया जाए। कृपया ध्यान दें कि यह एक LineageOS ROM बिल्ड नहीं करेगा जो तुरंत आपके डिवाइस के साथ संगत हो, यह गाइड विशुद्ध रूप से आपको आधिकारिक Git रेपो से LineageOS बिल्ड करने के लिए Windows 10 वातावरण में सेटअप और रन करने के लिए है।
कृपया ध्यान दें कि आपको Linux कमांड टर्मिनल्स और Android ROMs बिल्ड करने का उपयोग करने से परिचित होना चाहिए - यह एक शुरुआती गाइड नहीं है। यदि आपने पहले कभी ROM बिल्ड करने का प्रयास नहीं किया है तो आपको Appual's गाइड्स पर AOSP से कस्टम ROM बिल्ड करना देखना चाहिए (नीचे लिंक)।
यदि आप कस्टम ROM बिल्डिंग और अन्य DIY Android ट्यूटोरियल में रुचि रखते हैं, तो आपको इन अन्य Appual's गाइड्स को देखना चाहिए:
- Android के लिए TWRP को DIY पोर्ट कैसे करें
- Android System UI को मैन्युअली थीम कैसे करें
- AOSP से कस्टम ROM कैसे बनाएं | भाग 2
आवश्यकताएं:
- Windows 10 (64-बिट) (SSD पर इंस्टॉल करने की सिफारिश की जाती है)
- कम से कम 16GB RAM (कंपाइलिंग में बहुत सारे संसाधन लगते हैं!)
तो हम मूल रूप से अपने बिल्ड वातावरण के लिए Windows Subsystem for Linux (WSL) सेट अप करने जा रहे हैं। यह अविश्वसनीय रूप से आसान है हालांकि अक्सर अनदेखा किया जाता है, क्योंकि हमें जो कुछ भी चाहिए वह Microsoft Store के अंदर उपलब्ध है।

आपका पहला चरण Microsoft Store खोलना है, और Ubuntu 18.04 खोजें और ऐप इंस्टॉल करें।
अगला Ubuntu 18.04 ऐप खोलें और प्रारंभिक सेटअप विज़ार्ड से गुजरें।
अब Ubuntu टर्मिनल खोलें और निम्नलिखित पैकेज इंस्टॉल करें:
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 libssl-dev libwxgtk3.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 में जोड़ें (यदि यह फ़ाइल मौजूद नहीं है, तो आप इसे बस बना सकते हैं)
<project name="TheMuppets/proprietary_vendor_your device brand" path="vendor/your device brand" remote="github" />
और हम स्रोत कोड डाउनलोड करेंगे:
repo sync
अब यह विशुद्ध रूप से वैकल्पिक है, लेकिन कैशिंग चालू करने की सिफारिश की जाती है ताकि आपका बिल्ड तेज हो - हम इसे "ccache" के माध्यम से करते हैं।
आप मूल रूप से अपनी ~/.bashrc फ़ाइल में निम्नलिखित लाइन जोड़ना चाहते हैं:
Export USE_CCACHE=1
और फिर डिस्क स्पेस की अधिकतम मात्रा निर्दिष्ट करें जिसे आप ccache का लाभ उठाने के लिए चाहते हैं:
Ccache -M 50G
उस लाइन में "50G" को अपनी प्राथमिकता से बदलें - यह गीगाबाइट में आपके द्वारा आवंटित कैश की मात्रा से मेल खाता है। यदि आप केवल एक डिवाइस के लिए बिल्ड कर रहे हैं, तो आप 25G - 50G के बीच उपयोग कर सकते हैं, लेकिन यदि आप कई डिवाइसेज के लिए बिल्ड कर रहे हैं जो एक ही कर्नेल स्रोत साझा नहीं करते हैं तो आपको इसे लगभग 75 - 100G तक बढ़ाना चाहिए। किसी भी मामले में, ccache का उपयोग करने से आपके बिल्ड से काफी समय कम हो जाएगा।
अगला, आपको निम्नलिखित कमिट को चेरीपिक करना चाहिए:
source build/envsetup.sh && repopick -t wsl-compile
फिर आप डिवाइस-विशिष्ट कोड तैयार करेंगे:
breakfast your device codename
64-बिट bison और ijar बनाएं:
make bison && make ijar
64-बिट संस्करण के bison को चलाने के लिए BISON_EXEC सेट करें और अनुकूलित ijar चलाने के लिए IJAR_EXEC सेट करें:
export BISON_EXEC=~/android/lineage/out/host/linux-x86/bin/bison export IJAR_EXEC=~/android/lineage/out/host/linux-x86/bin/ijar
(यदि आप हर बार कमांड लाइन फिर से खोलने पर इसे निष्पादित नहीं करना चाहते हैं तो कमांड को ~/.bashrc में जोड़ें)
और अब आप बिल्ड शुरू कर सकते हैं!
brunch your device codename
भविष्य में बिल्ड करने के लिए, आपको बस .repo/local_manifests जोड़ने, ccache सक्षम करने, और BISON_EXEC और अनुकूलित IJAR सेट करने के चरणों को दोहराना होगा।
आपको हर बार डायरेक्टरी फ्लश करने पर make bison && make ijar भी करना होगा।
कुछ अंतिम नोट्स:
- नहीं अपनी Linux फ़ाइलों को Windows से जोड़ें/संपादित करें, फ़ाइलें सबसे अधिक संभावना है कि bash में करप्ट हो जाएंगी। इसे Linux सबसिस्टम के भीतर करें।
- नहीं mnt का उपयोग करके स्रोत कोड को अन्य ड्राइव्स पर डाउनलोड करें और फिर इस गाइड का पालन करें। आपको स्रोत कोड को केवल Linux सबसिस्टम के भीतर फ़ोल्डर्स में डाउनलोड करना चाहिए!