تبلیغات ویژه

» خرید ممبر تلگرام »طراحی سایت و سئو »خرید فالوور و لایک »ادمین حرفه ای اینستاگرام »پکیج آموزش ارزهای دیجیتال »تبلیغات در اینستاگرام »خرید پیج اینستاگرام

مطالب مهم




آموزش ساخت رام LineageOS از سورس کد

به لطف متن‌ باز بودن سیستم‌عامل اندروید، همیشه بعد از ارائه‌ی نسخه‌ای از آن توسط گوگل، کد منبع یا سورس کد آن نسخه توسط گوگل در قالب AOSP منتشر می‌شود. درست در همین زمان است که توسعه‌دهندگان اقدام به دانلود و شخصی‌سازی این کدها می‌کنند. LineageOS که برای آشنایی بیشتر با آن می‌توانید به این مطلب مراجعه کنید، نام یکی از رام‌هایی است که توسط یک تیم نخبه و مجرب توسعه‌ داده می‌شود و همواره برای اینکه بتوانید آخرین نسخه‌ی اندروید را روی گوشی نسبتا قدیمی خود داشته باشید، می‌توانید روی آن حساب کنید. بسیاری از کاربران گوشی‌های جدید که اندروید خالص را به پوسته‌های شرکت‌های مختلف ترجیح می‌دهند نیز فارغ از نسخه‌ی اندروید رام اصلی، سراغ این رام کاستوم می‌روند تا اندروید خالص و سبک را تجربه کنند. به کمک آموزشی که در این مقاله از سری مقالات آموزشی زومیت تقدیم حضور شما می‌شود، قادر خواهید بود پس از دانلود و نصب موارد لازم، رام LineageOS را از کد منبع آن برای گوشی خود بسازید و به اصطلاح بیلد یا کامپایل کنید.

نام دسته‌ی مقالات مورد نظر

نمی‌توان گفت که دقیقا برای انجام این کار و استفاده از آموزش پیش رو چقدر مهارت و تجربه لازم است. اگر قصد دارید با استفاده از این آموزش برای گوشی خود رام بیلد کنید، لازم نیست یک توسعه‌دهنده‌ی باتجربه باشید؛ ولی با مبانی ابتدایی اندروید آشنا باشید. ما در زومیت سعی کرده‌ایم هر آن‌چه به‌عنوان یک کاربر اندروید برای ساخت رام LineageOS لازم دارید، قدم به قدم برای شما فراهم آوریم؛ با این حال، از آن‌جایی که تجربه، دانش قبلی و هوش و ذکاوت افراد متفاوت است، شاید عده‌ای به‌راحتی به نتیجه برسند و عده‌ای با مشکلات عدیده روبه‌رو شوند.

به خاطر داشته باشید، همواره انجام چنین امور تخصصی با درصدی از ریسک همراه است که مسئولیت آن فقط و فقط متوجه خود شما است؛ اگر تمامی مراحل را به‌درستی پشت سر بگذارید، می‌توانید از لذت کار با رام دست‌ساز خود بهره‌مند شوید. هنگامی که به‌تدریج در این کار حرفه‌ای شوید، می‌توانید ویژگی‌هایی به رام‌های مختلف اضافه کنید، رفع مشکل کنید، زبان اضافه کنید و حتی با آنچه در خصوص بیلد کردن فرا گرفته‌اید، اپلیکیشن‌های متن‌ باز را از کد منبع بیلد کنید یا از رام‌های مختلف پورت کنید.

لاینج Lineage OS

سورس کد اندروید چیست؟

اندروید سیستم‌عامل متن‌ باز محسوب می‌شود که برای دستگاه‌های متنوعی در دسترس است. هدف اصلی اندروید ایجاد و ارائه‌ی یک پلتفرم نرم‌افزاری باز است که اپراتورها، تولیدکننده‌ها و توسعه‌دهنده‌ها بتوانند با استفاده از آن، ایده‌های خلاقانه‌ی خود را به واقعیت تبدیل کنند و در نتیجه یک محصول موفق را در زمینه‌ی تجربه‌ی کاربری عرضه کنند. نتیجه‌ی متن‌ باز بودن، ارائه‌ی محصولی متناسب با سلیقه‌ی کاربر است که توسعه‌دهندگان امکان تغییر کدها و شخصی‌سازی آن را نیز دارند؛ بنابراین، اندروید اساسا این اجازه را به شما می‌دهد که بدون محدودیت در کدهای آن دخل و تصرف کنید و آن‌ها را به میل خود تغییر دهید و شخصی‌سازی کنید.

رام اندروید چیست؟

منظور از رام اندروید همان فرم‌ور یا سیستم‌عامل اندروید است. در واقع نوع رام تعیین می‌کند که گوشی شما رابط کاربری Sense UI داشته باشد یا MIUI یا EMUI و.... رام، کرنل لینوکس و افزونه‌های دیگری را نیز در خود جای داده است که به عملکرد دستگاه کمک می‌کنند.

رام اندروید شامل چه چیزهایی است؟

به‌طور کلی یک رام اندروید موارد زیر را شامل می‌شود:

کرنلبوت‌لودرریکاوریرادیوفریم‌ورکبرنامه‌ها (Apps)هسته (Core)اندروید ران‌تایم و...کرنل چیست؟

کرنل مهم‌ترین بخش اندروید و اساسا هر سیستم‌عاملی است. می‌توانید کرنل را پُلی از اپلیکیشن‌ها به سمت سخت‌افزار دستگاه تصور کنید. دستگاه‌های اندرویدی از کرنل لینوکس استفاده می‌کنند؛ اما این دقیقا همان کرنلی نیست که سایر سیستم‌‌های عامل‌ لینوکسی استفاده می‌کنند. کدهای بسیاری در کرنل اندروید وجود دارند که مختص اندروید هستند. توسعه‌دهندگان گوگل وقت زیادی صرف این کدها می‌کنند. سازندگان پردازنده‌ها نیز باید در ساخت کرنل همکاری کنند؛ چرا که باید درایورهای مخصوص تراشه‌ی خود را در کرنل جای دهند. به همین دلیل است که بعد از انتشار نسخه‌ی جدیدی از اندروید، توسعه‌دهندگان مستقل به کمی زمان برای راه‌اندازی نسخه‌ی جدید با کرنل موجود نیاز دارند. درایورهایی که مثلا برای کار با کرنل اندروید کیت‌کت نوشته شده‌اند، لزوما روی کرنل اندروید لالی‌پاپ به‌درستی کار نخواهند کرد. این نکته‌ی مهمی است؛ زیرا وظیفه‌ی اصلی کرنل، کنترل سخت‌افزار است. تمام کدهایی که هنگام بیلد یک کرنل مشاهده می‌کنید، در واقع نقش واسط بین نرم‌افزار و سخت‌افزار گوشی شما را بازی می‌کنند؛ بنابراین، هر درخواستی که از گوشی خود دارید، ابتدا به کرنل فرستاده و سپس اجرا می‌شوند.

آنلاک بوتلودر

بوت‌لودر

بوت‌لودر در واقع کدی است که قبل از اجرای هر سیستم‌عاملی عمل می‌کند. بوت‌لودرها دستورالعمل‌های اجرای کرنل سیستم‌عامل را ارسال می‌کنند. می‌توانید بوت‌لودر را به منزله‌ی یک ایست بازرسی برای کلیه‌ی پارتیشن‌ها تصور کنید. بوت‌لودر معمولا بسته است؛ چرا که اگر باز باشد و شما بتوانید در پارتیشن‌های مختلف دخل و تصرف کنید، امکان دارد به گوشی صدمه بزنید. پس، بوت‌لودر اساسا به کرنل دستگاه شما دستور می‌دهد که سیستم را به‌درستی بوت کنید و بالا بیاورد.

TWRP

ریکاوری

به زبان ساده، ریکاوری به‌عنوان مرجعی برای پشتیبان‌گیری یا برگرداندن اوضاع به حالت قبل است. هر زمان فرم‌ور گوشی شما دچار نقص شود، ریکاوری شما را در حل مشکل و بازگردانی آن به حالت قبل یاری خواهد کرد. همچنین، از ریکاوری برای فلش کردن رام، کرنل و... استفاده می‌شود. معروف‌ترین و رایج‌ترین ریکاوری کاستوم موجود در حال حاضر TWRP است.

رادیو

پایین‌ترین لایه‌ی نرم‌افزاری در رام، رادیو است. یعنی به‌محض روشن شدن گوشی، اولین چیزی که حتی قبل از بوت‌لودر اجرا می‌شود رادیو است. رادیو تمام اتصالات بی‌سیم، جی‌اس‌ام و جی‌پی‌اس و... را کنترل می‌کند.

موارد لازمیک دستگاه اندرویدی که توسط لاینج پشتیبانی شود.یک رایانه‌ای نسبتا جدید ۶۴ بیتی لینوکسی یا ویندوزی که مقدار معقولی رم و حدود ۱۰۰ گیگابایت فضای ذخیره‌سازی داشته باشد. لازم است بدانید هر چه رم کمتری در اختیار داشته باشید، زمان بیلد بیشتر خواهد بود؛ بنابراین، بهتر است روی حافظه‌ی رم ۸ گیگابایت به بالا حساب باز کنید. همچنین استفاده از اس‌اس‌دی‌ در مقایسه با هارددیسک معمولی به‌شدت در افزایش سرعت بیلد مؤثر است.یک کابل یواس‌بی سازگار با گوشی شمااتصال اینترنت پرسرعت و جریان برق مطمئنآشنایی با اندروید و اصطلاحات آن که به تعدادی از آن‌ها در بخش بعد اشاره می‌کنیم. اینکه شما قبلا رام کاستوم نصب کرده باشید و مثلا با ریکاوری آشنایی داشته باشید می‌تواند مفید باشد. آشنایی با برخی دستورهای ساده‌ی لینوکسی مثل cd به معنی تغییر دایرکتوری، یا اینکه توالی مسیرها در لینوکس با / نشان داده می‌شود نیز می‌تواند مفید باشد. برای آشنایی با تعداد بیشتری از دستورات لینوکس و مقایسه‌ی آن‌ها با نمونه‌ی آن‌ها در ویندوز می‌توانید به این مقاله مراجعه کنید.

نکته: اگر با لینوکس آشنایی ندارید، کافی است به کمک یکی از آموزش‌های موجود در زومیت یکی از توزیع‌های آن مانند اوبونتو را نصب کنید. پس از انجام این‌ کار عملیات آغاز می‌شود.

نصب SDK

در صورتی که قبلا adb و فست‌بوت را نصب نکرده‌اید، می‌توانید آن‌ها را از وب‌سایت گوگل دریافت و با استفاده از دستور زیر استخراج کنید.

unzip platform-tools-latest-linux.zip -d ~

حالا باید adb و فست‌بوت را به مسیر کار خود منتقل کنید. برای این منظور profile./~ را باز و دستور زیر را وارد کنید.

# add Android SDK platform tools to path if [ -d "$HOME/platform-tools" ] ; then PATH="$HOME/platform-tools:$PATH" fi

سپس برای به‌روزرسانی محیط خود source ~/.profile را اجرا کنید.

نصب بسته‌های مربوط به بیلد

برای بیلد رام لاینج به چند بسته‌ی نرم‌افزاری نیاز است. می‌توانید این بسته‌ها را از طریق قسمت package manager در توزیع لینوکس خود نصب کنید.

نکته: پکج منجر در لینوکس، سیستمی برای نصب و حذف نرم‌افزار است. نرم‌افزاری که معمولا از اینترنت گرفته و در رایانه‌ی شما نصب می‌شود. چنانچه از اوبونتو استفاده می‌کنید، می‌توانید از Ubuntu Software Center استفاده کنید. راه بهتر، استفاده از دستور نصب apt-get install به‌صورت مستقیم در خود ترمینال است.

برای لاینج به موارد زیر نیاز دارید:

bc bison build-essential ccache curl flex g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev libesd0-dev liblz4-tool libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev

برای اوبونتوهای قدیمی‌تر از نسخه‌ی ۱۶.۰۴ جایگزینی زیر را انجام دهید.

libwxgtk3.0-dev → libwxgtk2.8-dev

جاوا

نسخه‌های مختلف لاینج او‌اس نیاز به نسخه‌های مختلف JDK یا کیت برنامه‌نویسی جاوا دارند.

لاینج او‌اس کیت جاوای مورد نیازدستور نصبنسخه‌های ۱۴.۱ تا ۱۵.۱OpenJDK 1.8openjdk-8-jdkنسخه‌های ۱۱ تا ۱۳OpenJDK 1.7openjdk-7-jdk
ساخت دایرکتوری

لازم است در محیط بیلد خود چند مسیر ایجاد کنید. برای ساخت این دایرکتوری‌ها دستورات زیر را وارد کنید:

mkdir -p ~/bin
mkdir -p ~/android/lineage

دایرکتوری bin/~ مخزن یا ریپازیتوری (repo) شما را شامل خواهد شد و دایرکتوری android/lineage/~ سورس کد لاینج را در بر می‌گیرد.

دستور نصب مخزن

دستور زیر را برای دانلود باینری ریپو و قابل‌ اجرا کردن آن وارد کنید.

curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

دایرکتوری bin/~ را در مسیر اجرا قرار دهید.

در نسخه‌های اخیر اوبونتو bin/~ باید خود به خود در مسیر کار شما قرار داشته باشد. می‌توانید این مسئله را باز کردن profile./~ توسط یک ویرایشگر متن بررسی کنید و ببینید که آیا کد زیر در آن وجود دارد یا خیر. در صورت عدم وجود، می‌توانید آن را اضافه کنید.

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi

سپس دستور source ~/.profile را برای به‌روزرسانی محیط اجرا کنید.

راه‌اندازی مخزن کدهای لاینج او‌اس

از آن‌جایی که هنوز رام ۱۵.۱ برای بسیاری از دستگاه‌ها به‌صورت رسمی منتشر نشده است، در اینجا نسخه‌ی ۱۴.۱ را مثال می‌زنیم. پس برنچ یا شاخه‌ی مورد نظر ما cm-14.1 خواهد بود و کدی که باید وارد کنیم به شکل زیر است؛ اما دقت کنید شما نام شاخه‌ی مورد نظر خود را وارد کنید.

cd ~/android/lineage
repo init -u https://github.com/LineageOS/android.git -b cm-14.1دانلود کد منبع یا سورس کد

برای بارگذاری سورس کد در رایانه‌ی خود از کد زیر استفاده کنید.

repo sync

مانیفست LineageOS به‌صورت پیش‌فرض تنظیماتی منطقی دارد و توصیه می‌شود آن را تغییر ندهید. مثلا مقادیر 4 j- و c- یکی نشان‌دهنده‌ی شاخه‌های اتصال همزمان و دومی برای این است که صرفا شاخه‌ی مورد نظر همگام‌سازی شود، نه تمام شاخه‌های موجود در گیت‌هاب لاینج. تنها در صورتی که در همگام‌سازی دچار مشکل هستید، می‌توانید مقدار 4 j- را به 3 j- و 2 j- کاهش دهید.

توجه: دانلود سورس کد با حجم حدود ۱۵ گیگابایت ممکن است زمان زیادی طول بکشد، پس صبور باشید. از دفعات بعد فقط تغییرات اعمال‌شده را همگام‌سازی خواهید کرد و نیازی به دانلود مجدد این حجم از داده نخواهد بود.

نکته: دستور repo sync به‌منظور به‌روزرسانی کدهای موجود در رایانه‌ی شما و همگام‌سازی آن‌ها با سورس کدهای لاینج و گوگل به کار می‌رود. پس این کد را به خاطر داشته باشید؛ چرا که ممکن است بخواهید هر چند روز یک بار از آن استفاده کنید تا رام خود را به‌روز نگه دارید.

کدهای مخصوص دستگاه خود را تهیه کنید

بعد از دانلود سورس کد، مطمئن شوید که در روت یا مسیر اصلی سورس کد هستید. کد cd ~/android/lineage هر جا که باشید شما را به مسیر اصلی خواهد برد. حال دستور زیر را تایپ کنید:

source build/envsetup.sh
breakfast codename

به جای codename باید کدنام مخصوص دستگاه خود را وارد کنید. دستور فوق که به آن برکفست می‌گویند، تغییرات مختص دستگاه شما و کرنل آن را دانلود خواهد کرد. اگر از کدنام دستگاه اندرویدی خود اطلاع ندارید می‌توانید در اینترنت آن را جستجو کنید. در جدول زیر کدنام تعدادی از دستگاه‌های اندرویدی فهرست شده است. برای مشاهده‌ی سایر کدنام‌ها می‌توانید به این صفحه مراجعه کنید.

نام دستگاهکدنامنام دستگاهکدنامنکسوس ۴mako  موتورولا موتو Z         griffin      نکسوس 5hammerheadوان پلاس ۳ و 3Toneplus3نکسوس 5Xbullheadوان پلاس ۵cheeseburgerنکسوس 6Shamuوان پلاس 5Tdumplingاچ‌تی‌سی وان M8m8سامسونگ گلکسی نوت ۳ جهانیi9300اچ‌تی‌سی وان m8 dualm8dسامسونگ گلکسی اس ۶zerofltexxآنر 5Xkiwiسونی اکسپریا V tsubasaال‌جی جی ۳ نسخه‌ی جهانیd855اکسپریا Zyugaال‌جی جی ۴ نسخه‌ی جهانیh815شیائومی می 5gemini

ال‌جی جی ۵ نسخه‌ی جهانی

h850ردمی نوت ۳  پروkenzoموتورولا موتو Gfalconردمی نوت ۴ کوالکامmidoموتورولا موتو Xghostزدتی‌ای اکسون ۷axon7

مهم: برخی دستگاه‌ها به یک دایرکتوری مخصوص درایورهای گوشی یا vendor نیاز دارند که باید قبل از اجرای برکفست آن را ایجاد کرد. در صورتی که در ساخت فایل‌های vendor در این قسمت با خطا مواجه شدید، ابتدا باید بلاب‌های اختصاصی را استخراج کنید و سپس دستور برکفست را مجددا اجرا کنید.

استخراج بلاب‌های اختصاصی

برای استخراج این فایل‌ها دو حالت وجود دارد. حالت اول این که برای اولین بار است که قصد بیلد رام لاینج برای یک گوشی را دارید. در حالت دوم گوشی شما در حال اجرای آخرین نسخه از LineageOS از همان شاخه‌ای است که قصد بیلد آن را دارید.

حالت اول: استخراج بلاب‌ها از رام

در صورتی که برای اولین بار برای دستگاهی رام LineageOS می‌سازیم باید بلاب‌ها را از یک رام زیپ‌شده استخراج کنیم.

قبل از شروع لازم است تفاوت بین بسته‌ی OTA از نوع بلوک‌بنیان و OTA از نوع پوشه‌بنیان را بدانید. در رام پوشه‌بنیان، محتوای پارتیشن سیستم در فولدری زیپ با نام system وجود دارد. در رام بلوک‌بنیان محتوای پارتیشن سیستم در یک فایل به شکل داده‌ی باینری ذخیره شده است. اگر رام زیپ‌شده‌ی شما هیچ فولدری به نام system ندارد (یا داخل فولدر سیستم آن خالی است) و فایلی به نام system.transfer.list در روت رام شما وجود دارد، OTA از نوع بلوک‌بنیان است. از سوی دیگر، چنانچه پوشه‌ی system با تمام محتویات آن را مشاهده می‌کنید و خبری از system.transfer.list نیست، رام از نوع پوشه‌بنیان است.

استخراج بلاب‌های اختصاصی از بسته‌ی به‌روزرسانی بلوک‌بنیان

به کمک دستورهای زیر یک دایرکتوری موقت ایجاد کنید و به مسیر آن بروید.

mkdir ~/android/system_dump/
cd ~/android/system_dump/

با دستور زیر system.transfer.list و system.new.dat را از رام زیپ‌شده استخراج کنید.

unzip path/to/lineage-*.zip system.transfer.list system.new.dat

دقت کنید باید بعد از /path/to نام رام زیپ‌شده را وارد کنید.

حال باید برای تبدیل کردن رام بلوک‌بنیان به دامپی که بتوان آن را مانت کرد از sdat2img استفاده کنید. این اسکریپت در گیت‌هاب موجود است. برای کلون کردن آن از دستور زیر استفاده کنید.

git clone https://github.com/xpirt/sdat2img

وقتی sdat2img را به دست آوردید، به کمک دستور زیر از آن برای استخراج ایمج سیستم استفاده کنید.

python sdat2img/sdat2img.py system.transfer.list system.new.dat system.img

حال باید فایلی تحت عنوان system.img داشته باشید. با دستور زیر مسیری برای آن بسازید و محتویات سیستم را در آن مانت کنید.

mkdir system/
sudo mount system.img system/

بعد از این کار به دایرکتوری روت یا اصلی کدهای دستگاه خود بروید و extract-files.sh را اجرا کنید.

./extract-files.sh ~/android/system_dump/

این دستور به extract-files.sh خواهد گفت که فایل‌ها را به جای گوشی از دامپ مانت‌‌شده‌ی سیستم بگیرد.

پس از اینکه تمام فایل‌های مخصوص گوشی خود را استخراج کردید، با دستورهای زیر دامپ سیستم را آنمانت کنید و فایل‌هایی را که دیگر به آن‌ها نیاز ندارید پاک کنید.

sudo umount ~/android/system_dump/system
rm -rf ~/android/system_dump/استخراج بلاب‌های اختصاصی از بسته‌ی به‌روزرسانی پوشه‌بنیان

به کمک دستورهای زیر یک دایرکتوری موقت ایجاد کنید و به مسیر آن بروید.

mkdir ~/android/system_dump/
cd ~/android/system_dump/

فولدر system را با دستور زیر از رام استخراج کنید.

unzip path/to/lineage-*.zip system/

دقت کنید باید بعد از /path/to نام رام زیپ‌شده را وارد کنید.

بعد از این کار به دایرکتوری روت یا اصلی کدهای دستگاه خود بروید و extract-files.sh را با دستور زیر اجرا کنید.

./extract-files.sh ~/android/system_dump/

این دستور به extract-files.sh خواهد گفت که فایل‌ها را به جای گوشی از دامپ مانت‌‌شده‌ی سیستم بگیرد.

پس از اینکه تمام فایل‌های مخصوص گوشی خود را استخراج کردید، با دستورهای زیر دامپ سیستم را آنمانت کنید و فایل‌هایی را که دیگر به آن‌ها نیاز ندارید پاک کنید.

rm -rf ~/android/system_dump/حالت دوم: گوشی شما در حال اجرای آخرین نسخه‌ از شاخه‌ای است که قصد بیلد آن را دارید.

گوشی خود را با کابل یواس‌بی به رایانه وصل کنید. گوشی باید روت باشد، adb فعال باشد و شما در مسیر فایل‌های اختصاصی گوشی خود یعنی /android/lineage/vendor/device/your_device/codename/~ هستید. extract-files.sh را اجرا کنید.

./extract-files.sh

حال بلاب‌ها باید در فولدر /android/lineage/vendor/device/your_device/codename/~ بارگیری شده باشند. در خط فوق your_device نام شرکت سازنده‌ی گوشی شما و codename کدنام آن خواهد بود. چنانچه خطاهایی با مضمون command not found مشاهده کردید، ممکن است لازم باشد adb در bin/~ قرار داده شود.

فعال کردن کش‌گذاری برای بالا بردن سرعت بیلد

با اجرای دستور زیر می‌توانید ccach را برای بیلدهای آتی فعال کنید.

export USE_CCACHE=1

دستور فوق را به فایل bashrc. /~ خود وارد کنید و سپس با دستور زیر بیشینه‌ی فضایی را که می‌خواهید در سیستم خود به کش‌گذاری اختصاص دهید مشخص کنید.

ccache -M 50G

در خط فوق 50G به معنی پنجاه گیگابایت است. این دستور را فقط برای بار اول اجرا کنید و مقدار را چیزی بین ‌۲۵ تا ۱۰۰ گیگابایت انتخاب کنید. این کار سرعت بیلد را به‌طرز قابل توجهی افزایش می‌دهد؛ به‌طور مثال روند بیلدی که در یک ساعت پایان می‌پذیرد، در صورت فعال‌سازی کش‌گذاری طی ۲۰ دقیقه به اتمام می‌رسد. اگر فقط برای یک دستگاه رام می‌سازید، ۲۵ تا ۵۰ گیگابایت فضا مناسب خواهد بود؛ اما در صورتی که برای چند دستگاه که سورس کرنل مشترکی ندارند، رام بیلد می‌کنید، بهتر است مقداری بین ۷۵ تا ۱۰۰ گیگابایت را تعیین کنید. توجه داشته باشید که این فضا به‌طور مستمر روی درایو شما اشغال خواهد شد.

همچنین می‌توانید فشرده‌سازی کش را فعال کنید تا تعداد فایل‌های بیشتری در فضای شما جا بگیرند. هرچند این کار کمی سرعت را پایین خواهد آورد. برای فعال کردن فشرده‌سازی کش از دستور زیر استفاده کنید یا آن را به bashrc. /~ اضافه کنید.

export CCACHE_COMPRESS=1

نکته: با فعال کردن فشرده‌سازی می‌توانید فضای اختصاص‌یافته به آن را کاهش دهید و مثلا برای یک دستگاه مقدار ۲۰ گیگابایت را در نظر بگیرید.

تنظیمات جک (jack)

جک در حال حاضر ابزار بیلد یا کامپایلر LineageOS نسخه‌ی ۱۴.۱ به بالا است. اگر این ابزار را به‌درستی تنظیم نکنید، خطای کمبود حافظه خواهد داد. حل این مشکل با اضافه کردن خط زیر به فایل bashrc. /~ صورت می‌گیرد.

export ANDROID_JACK_VM_ARGS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4G"

در خط فوق 4G در انتهای خط به معنی ۴ گیگابایت است و در واقع این دستور به جک می‌گوید که تنها از ۴ گیگابایت حافظه برای بیلد استفاده کن.

آغاز عملیات بیلد

وقت آن رسیده است که بیلد رام را آغاز کنید. برای این کار دستور زیر را با تغییر codename به کدنام گوشی خود، وارد کنید.

croot
brunch codename

با این کار بیلد رام لاینج برای دستگاه شما آغاز خواهد شد. در صورتی که ساخت رام بدون خطا انجام گیرد و بیلد پایان یابد، می‌توانید برای دسترسی به رام و ریکاوری بیلد شده دستور زیر را وارد کنید.

cd $OUT

فایل recovery.img ریکاوری LineageOS و فایل زیپی که نام آن با lineage-14.1 آغاز شده است، رام لاینج او اس شما خواهد بود که می‌توانید با ریکاوری TWRP آن را روی دستگاه خود فلش کنید. برای نصب رام لاینج روی گوشی خود، می‌توانید از این آموزش استفاده کنید.

امیدواریم از این مقاله استفاده‌ی کافی را برده باشید و به‌زودی به جمع توسعه‌دهندگان اندروید اضافه شوید تا از دنیای نامتناهی اندروید به سلیقه‌ی خود لذت ببرید. به خاطر داشته باشید دنیای اندروید آن‌قدر وسیع است که هر زمان که با خطایی مواجه شدید، می‌توانید با جستجوی آن در گوگل راه حل مشکل خود را پیدا کنید. همچنین برای حرفه‌ای‌تر شدن و آشنایی با مفاهیمی چون گیت و گیت‌هاب پیشنهاد می‌کنیم این مقاله را از دست ندهید. با آرزوی موفقیت، لطفا نظرات خود را در بخش دیدگاه‌ها با زومیت به اشتراک بگذارید.




پیشنهاد میشه بخونید : برای مشاهده جزئیات کامل این خبر «آموزش ساخت رام LineageOS از سورس کد»اینجا را کلیک کنید. شفاف سازی:خبر فوق در سایت منبع درج شده و صرفا در این سایت بازنشر شده است .چنانچه به خبر فوق اعتراض دارید جهت حذف آن «اینجا» را کلیک کنید.

گزارش تخلف

تمامی مطالب از سایت های مجاز فارسی و ایرانی تهیه و جمع آوری شده است، در صورت وجود هرگونه مشکل از طریق صفحه گزارش تخلف اطلاع دهید.

اخبار برگزیده

هم اکنون میخوانند ..