چگونه رام اندروید را از پایه بسازیم؟ - گام اول

همونطور که می دونید اندروید یک سیستم عامل متن باز هست (اگر نمی دونستید الآن فهمیدید:) حالا متن باز یعنی چی؟ یعنی تمام کدنویسی هایی که منجر به ساخت سیستم عامل شده از صفر تا صدش منتشر میشه و هر کسی میتونه اون رو تغییر بده یا برای خودش بسازه این نقطه قوتی برای این سیستم عامل است.پیش نیازها:قبل از شروع گام اول لازم است یک سری پیش نیازهایی تعریف کنیم که این پیش نیازها عبارتند از:نصب یک توزیع از سیستم عامل گنو/لینوکسذهنی آمادهالکتریسیته پایداراینترنت قابل اعتماد و پرسرعتکمی خلاقیتبرای کامپایل و بیلد سورس لازم هست اول یکی از توزیع های سیستم عامل گنو/لینوکس رو نصب کنیم. معمولاً برای کامپایل سورس اندروید از لینوکس مبتنی بر دبیان و معمولاً از توزیع اوبونتو استفاده می کنند. پس ما هم از این سیستم عامل استفاده می کنیم. مراحل نصب این سیستم عامل رو میتونید با استفاده از جستجوی گوگل پیدا کنید و من اینجا فعلاً طریقه نصب رو توضیح نمیدم. البته شاید بعدها این کار رو کردم. اگر طریقه نصب رو گذاشتم میتونید از همین جا مشاهده کنید.خوب پس از نصب سیستم عامل که ما از این به بعد با اوبونتو پیش میریم. لازمه سورس کامل اندروید رو از سایت مربوطه دانلود کنیم در ادامه دستوراتش رو با هم پیش میریم. قبل از اینکه شروع به کار بکنیم لازم هست یک نکته رو بگم.پروژه متن باز اندروید:ببینید گوگل سورس اندروید رو در قالب پروژه متن باز اندروید یا همون AOSP که مخفف Android Open Source Project هست منتشر می‌کنه. بعد از اون تیم های مختلف میان روی اون پروژه کار میکنند و قابلیت های رو بهش اضافه می کنند که بهشون میگیم "کاستوم رام". یکی از معروف ترین این تیم ها تیم لاینیج (Lineage) است که قبلاً با نام سیانوژن مود (CyanogenMod) کار می کرد. کاستوم رام لاینیج تقریباً شبیه به AOSP هست با مقداری بهینه سازی برای دستگاه های مختلف. پس ما اینجا از سورس لاینیج استفاده می کنیم. توجه کنید که روش و روال کار در کاستوم رام های مختلف شبیه به هم است. اگر یکی رو یاد بگیریم میتونیم با استفاده از همون روش راه های دیگر رو هم کامپایل کنیم.خوب برای شروع می بایست کل سورس رام رو دانلود کنیم. معمولاً تیم ها سورس رام رو در سایت گیت هاب بارگذاری می کنند. پس برای شروع اگر حسابی در گیت هاب ندارید یکی بسازید. آخرین نسخه اندروید تا الان اندروید ۱۳ است و حجم سورس اون که باید دانلود بشه حدود ۴۰ تا ۶۰ گیگابایت است پس قبل از دانلود از حجم اینترنت تون مطلع باشید.شروع دستوراتبرای شروع قبل از هر چیز سیستم عامل را آپدیت میکنیم با دو دستور زیر:sudo apt update sudo apt upgardeحالا باید platform-tools رو دانلود کنیم و به سیستم بشناسونیم. (قاعدتا به دلیل تحریم ها در این مرحله باید از گذر از تحریم استفاده کنیم:)wget https://dl.google.com/android/repository/platform-tools-latest-linux.zip unzip platform-tools-latest-linux.zip -d ~فایل profile./~ رو باز کنید و به آخر متن این رو اضافه کنید.# add Android SDK platform tools to path if [ -d &quot$HOME/platform-tools&quot ] ; then PATH=&quot$HOME/platform-tools:$PATH&quot fiبا دستور زیر پکیج های زیر رو هم نصب کنید.sudo apt install bc bison build-essential ccache curl flex g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev libelf-dev liblz4-tool libncurses5 libncurses5-dev libsdl1.2-dev libssl-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-devنسخه های جدید اندروید نیازمند پایتون 3 هست. پس اونو هم نصب می کنیم.sudo apt install python3 sudo apt install python-is-python3خب. یه پوشه باید درست کنیم تا سورس دانلودیمون بره اونجاmkdir -p ~/bin mkdir -p ~/android/lineageسپس دستور زیر (تو این مرحله هم گذر از تحریم نیازه:)curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod a+x ~/bin/repoدوباره فایل profile./~ رو باز می کنیم تا این خط رو اضافه کنیم.# set PATH so it includes user's private bin if it exists if [ -d &quot$HOME/bin&quot ] ; then PATH=&quot$HOME/bin:$PATH&quot fiحالا یه بار این دستور رو بزنید تا تغییرات اعمال بشه.source ~/.profileتو این مرحله باید خودمون رو معرفی کنیم. به جای you@example.com ایمیل خودتون و به جای Your Name اسم خودتون رو بزنید.git config --global user.email &quotyou@example.com&quot git config --global user.name &quotYour Name&quotاگر اینجا سوالی ازتون پرسید اینتر رو بزنید.خب مراحل دانلود سورس رو در گام بعدی شروع میکنیم...برو به گام بعدی...