راهنمای توسعه رام های اندروید از پایه تا پیشرفته (بخش سوم: ساخت رام )

استاندارد

part-3-android

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

[button link=”http://www.gsm-developers.com/guide-to-developing-rom-step-by-step/” size=”medium”]بخش اول[/button]

 

[button link=”http://www.gsm-developers.com/%d8%b1%d8%a7%d9%87%d9%86%d9%85%d8%a7%db%8c-%d8%aa%d9%88%d8%b3%d8%b9%d9%87-%d8%b1%d8%a7%d9%85-%d9%87%d8%a7%db%8c-%d8%a2%d9%86%d8%af%d8%b1%d9%88%db%8c%d8%af-%d8%a7%d8%b2-%d9%be%d8%a7%db%8c%d9%87-%d8%aa/” size=”medium”]بخش دوم[/button]

ساخت رام برای دستگاهی خاص

در این آموزش بعنوان نمونه از گوشی سامسونگ گرند دو سیمکارت با شماره مدل GT-i9082 و رام CM11 استفاده شده است.( در بعضی از دستورات باید مدل دستگاه و رامتون را جایگزین دستورات آموزش سایت بکنید)

قبل از شروع ساخت رام شما باید فایلهای مختص دیوایس خود را دانلود کنید.(برای هر دیوایسی این فایلها متفاوت می باشد).

  1. Device Tree
  2. Vendor
  3. Kernel

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

زمانی که فایلهای خود را پیدا و دانلود کردید،دستور زیر را وارد کنید.

cd cm11/.repo

1

در پوشه .repo اکنون باید فایلی به نام local_manifests.xml بسازید.

ساختار فایل Local_manifest.xml مانند زیر میباشد.

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <project path=" directory in work tree" name="name of the repository in remote" remote="name of remote defined earlier" revision="branch of the repository" /> 
</manifest>

اکنون سه فایل مختص دیوایس خود که دانلود کردید را وارد کنید.(Device , Kernel , Vendor )

2

حواستان باشد گوشی مورد بحث آموزش ما GT-i9082 و شکل کدها نسبت به گوشی متفاوت می باشد.بعد از وارد کردن فایلهای دیوایس خود باید Local_manifest.xml شبیه به زیر باشد.

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <project path="device/samsung/i9082" name="pawitp/android_device_samsung_i9082" remote="github" revision="cm-11.0" />
  <project path="vendor/samsung/i9082" name="k2wl/android_vendor_samsung_i9082" remote="github" revision="master" />
  <project path="kernel/samsung/i9082" name="pawitp/android_kernel_samsung_i9082" remote="github" revision="cm-11.0" />

3

اکنون ctrl+O و اینتر بزنید.

4

5

برای خروج Ctrl+X میزنیم.

6rom

بعد از وارد کردن منابع Device Tree,Vendor,Kernel دوباره هم دستور repo sync را وارد کنید تا فایلهای دانلود شده دوباره همگام سازی شوند.

بعد از آن به آموزش زیر مراجعه کنید برای سازگار کردن بیس گوشی خود با رام سیانوژن

 

[button link=”http://www.gsm-developers.com/android-firmware-development/” size=”medium”]آموزش سازگار کردن بیس سیانوژن[/button]

 

بعد از سازگار کردن بیس سیانوژن نوبت به ساخت رام رسیده در ادامه باید این نکته را بگویم که دستورات برای کامپایل رام نسبت به رام و گوشی شما متفاوت هستن پس عینا دستورات را فقط کپی نکنید نام رام و گوشی خود را جاگزین کنید.رام ما cm11 و گوشی GT-I9082 پس نام گوشی و رام خود را جایگزین این دو بکنید در دستوراتی که در ادامه می آیند.

 

شروع ساخت رام

1- دستور زیر را در ترمینال وارد کنید.

cd cm11

نکته: به جای cm11 نام مکان ذخیره رام خود را بنویسید.

2-اکنون دستور زیر را هم وارد کنید

. build/envsetup.sh

3- دستورالعمل ساخت از رامی تا رام دیگر کمی متفاوت هست ولی در کل دستور ساخت کد زیر می باشد.

time brunch <codename> -j#

<Codename>: نام کد گوشی شما اگر نام کد گوشی خود را نمی دانید آن را در گوگل سرچ کنید(گاهی نام خود گوشی همان نام کد آن می باشد)،به عنوان نمونه گوشی قبلی خودم اکسپریا زد2 نام کدش Sirius هستش.

به جایی # تعداد هسته های CPU دستگاه خود را وارد کنید.

تذکر: در بیشتر کدها ممکن هست بخاطر قالب و نوع نوشتن علامتها مانند علامت # در اول نوشته بیاد مانند همین کد آخری علامت # بعد از J قرار میگیرد.

ساخت رام به نسبت قدرت پردازش کامپیوتر شما وقت میگیرد.

بعد از ساخت رام نوبت به پچ کردن به سورس هست.که بزودی در آموزشی جدا در سایت قرار داده خواهد شد.

بعد از پچ کردن دوباره دستور ساخت بالا را وارد میکنیم.( این بار بسیار سریعتر ساخته میشود)

 

[button link=”http://www.gsm-developers.com/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%da%86%da%af%d9%88%d9%86%da%af%db%8c-%d9%be%da%86-%da%a9%d8%b1%d8%af%d9%86-%d8%b3%d9%88%d8%b1%d8%b3-%d8%b3%db%8c%d8%a7%d9%86%d9%88%da%98%d9%86/” size=”medium”] آموزش چگونگی پچ کردن سورس سیانوژن [/button]

اکنون به مسیر OUT/target/your device/ بروید و فایل زیپ شده رام خود را مشاهده کنید. همیشه یک کپی از رام خود نگه دارید بعد از این همه زحمات نیاز است.

رام خود را از ریکاوری فلش کنید تمام…

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

برای بحث و تبادل نظر میتوانید به انجمن تخصصی جی اس ام مراجعه کنید.

[button link=”http://forum.gsm-developers.com/thread12626.html” size=”medium”]لینک آموزش در انجمن[/button]

 

[button link=”http://www.gsm-developers.com/guide-to-developing-rom-step-by-step/”]پارت اول آموزش[/button]

 

[button link=”http://www.gsm-developers.com/%d8%b1%d8%a7%d9%87%d9%86%d9%85%d8%a7%db%8c-%d8%aa%d9%88%d8%b3%d8%b9%d9%87-%d8%b1%d8%a7%d9%85-%d9%87%d8%a7%db%8c-%d8%a2%d9%86%d8%af%d8%b1%d9%88%db%8c%d8%af-%d8%a7%d8%b2-%d9%be%d8%a7%db%8c%d9%87-%d8%aa/”]پارت دوم آموزش[/button]

 

[button link=”https://telegram.me/gsm_developers” size=”medium”]لینک کانال تلگرام[/button]

 

هر گونه کپی برداری از پست شرعاً حرام بوده و مورد پسند نویسنده نمی باشد.

 

راهنمای توسعه رام های اندروید از پایه تا پیشرفته (بخش دوم؛ نصب ابزارکها و منابع مورد نیاز)

استاندارد

androiddev

گام اول؛ نصب برنامه لازم در درون Ubuntu

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

  • نصب افزونه جاوا (Java Development Kit)

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

  1. دستور زیر کدهای اشتباه جاوا را از روی Ubuntu حذف می کند.
    sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\
  2. دستور زیر را برای نصب برنامه جاوا وارد کنید.
    wget https://launchpad.net/~webupd8team/+archive/ubuntu/java/+files/oracle-java6-installer_6u45-0%7Ewebupd8%7E8_all.deb sudo dpkg -i oracle-java6-installer_6u45-0~webupd8~8_all.deb wget https://launchpad.net/~webupd8team/+archive/ubuntu/java/+files/oracle-java6-set-default_6u45-0%7Ewebupd8%7E8_all.deb sudo dpkg -i oracle-java6-set-default_6u45-0~webupd8~8_all.deb
  3. در آخر چک کردن ورژن جاوای نصب شده.
java -version

-برای اندروید لالی پاپ به جاوا ورژن 7 نیاز داریم که برای نصب کد زیر را در ترمینال اجرا میکنیم.

sudo apt-get update && sudo apt-get install openjdk-7-jdk

نصب ابزارهای مورد نیاز

-کد زیر را در ترمینال وارد کنید.

sudo apt-get install git-core gnupg ccache lzop flex bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 libc6-dev lib32ncurses5 lib32z1 lib32bz2-1.0 lib32ncurses5-dev x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 lib32z-dev libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc readline-common libreadline6-dev libreadline6 lib32readline-gplv2-dev libncurses5-dev lib32readline5 lib32readline6 libreadline-dev libreadline6-dev:i386 libreadline6:i386 bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev lib32bz2-dev libsdl1.2-dev libesd0-dev squashfs-tools pngcrush schedtool libwxgtk2.8-dev python

اگر خطایی  گرفتید کد بالا را بزنید بعد دو کد زیر را در ترمینال وارد کنید.

sudo apt-get update
sudo apt-get upgrade

بعد از اتمام نصب کد زیر را نیز در ترمینال وارد کنید.

sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

تا اینجا این کدهای بالای دانلود پکیجهای مورد نیاز بودند.

اکنون زمان آماده سازی باینری به نام Repo هست

ریپو چیست؟

ریپو یک ابزار مدیریت ذخیره سازی هست که در صدر Git ساخته شده است. در صورت نیاز ریپو یکپارچه سازی و وحدت میان فایلها را فراهم میسازد مانند آپلود ورژن همانند ورژن سیستم کنترل و گردش کار اوتوماتیک توسعه اندروید.

کد زیر را وارد کنید

mkdir ~/bin && curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo && chmod a+x ~/bin/repo

با استفاده از ویرایشگر متن فایل ~/.bashrc را باز کنید برای این کار از دستور زیر استفاده کنید.

sudo nano ~/.bashrc

در پایینترین خط کد زیر را اضافه کنید

export PATH=~/bin:$PATH

فایل را ذخیره کنید. برای ذخیره Ctrl+O و اینتر و Ctrl+X برای خروج اکنون کد زیر را وارد کنید.

source ~/.bashrc

تبریک الان سیستم شما آماده ساخت رام می باشد…

دانلود منابع

برای ساخت رام از منبع ما نیاز به دانلود منابع از git داریم.

[symple_box style=”boxnotice”]
منابع برای دانلود دارایی حجم بسیار بالایی میباشند،نزدیک به 13 تا 14 گیگ برای دانلود نیاز به یک اینترنت پرسرعت و صبر فراوان دارید.
[/symple_box]

خوب شروع میکنیم

اینجا برای مثال از cm11 استفاده میکنیم.

1- یک مکان در حافظه جایی که منابع دانلود شدند بسازید.دستور زیر را در ترمینال برای ایجاد مکان بزنید.

mkdir cm11

اکنون در پوشه هوم خود یک پوشه به اسم cm11 میبینید.

1

2- در قدم بعدی نیاز دارید تا ریپو را آغاز کنید،دستور زیر را در ترمینال بزنید.

cd cm11

این دستور شما را به مسیر قبلی که در مرحله اول درست کردید میبرد

2

برای استارت ریپو کد زیر را در ترمینال وارد کنید.

repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0

3

4

چون در بالا از cm11 استفاده کردیم برای راه اندازی ریپو برای دسترسی به منابع میتونید از این لینک استفاده کنید.

اکنون وارد پوشه cm11 شوید و Ctrl+H بزنید تا فایلهای مخفی نمایان شوند .repo جاییست که منابع دانلود شده اند.

5

6

الان ممکن هست که یک اشکال از ایمیلتان بگیرد، برید به سایت github و یک اکانت برای خود بسازید و کد زیر را در ترمینال وارد کنید.

git config --global user.email "[email protected]"
git config --global user.name "Your Name"

به جای [email protected] ایمیل خود و به جای Your Name نامی که در سایت github با آن ثبت نام کردید را بنویسید.

3- اکنون برای اینکه فایلهای دانلود شده و همگام سازی آنها برای وارد کردن به شاخه دیوایستان از local_manifest.xml استفاده میکنیم.

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

cd /your/repo/path
adb pull /system/etc/build-manifest.xml .repo/manifests/cm-10.0.0.xml

روش دوم از رام گوشی خودتان در این مسیر /system/etc/build-manifest.xml فایل را به .repo/manifests کپی کنید.

برای فعالسازی کد زیر را وارد کنید

repo init -m cm-10.0.0.xml
repo sync

4- اکنون زمان دانلود منبعمان میباشد،برای این کار دستور زیر را اجرا کنید.

repo sync -j2

 

7

8

اکنون شروع به دانلود میکنم حجم هم 13 تا 14 گیگ هست،دستور بالای برای منبع رام cm11 میباشد برای دانلود منابع رام دیگری باید به جای cm11 نام رام مورد نظر خود را بنویسید.

تعدادی لینک منابع رام:

CM

AOKP

Carbon Rom

SlimRom

بسیار ممنون از صبر وشکیبایی شما تا اینجا بخش دوم آموزش به پایان میرسید با ما باشید بزودی در بخش سوم با چگونگی ساخت رام اندروید برای موبایل مورد نظرتان با ما همراه باشید در کانال تلگرام و انجمن تخصصی gsm-developers

 

برای بحث و تبادل نظر میتوانید به انجمن تخصصی جی اس ام مراجعه کنید.

[button link=”http://forum.gsm-developers.com/thread12626.html#post44583″ size=”medium”]لینک آموزش در انجمن[/button]

 

[button link=”http://www.gsm-developers.com/guide-to-developing-rom-step-by-step/” size=”medium” target=”new”]پارت اول آموزش[/button]

 

[button link=”https://telegram.me/gsm_developers”]لینک کانال تلگرام[/button]

 

هر گونه کپی برداری از پست شرعاً حرام بوده و مورد پسند نویسنده نمی باشد.