راهنمای توسعه رام های اندروید از پایه تا پیشرفته (بخش سوم: ساخت رام )
ساخت رام برای دستگاهی خاص
در این آموزش بعنوان نمونه از گوشی سامسونگ گرند دو سیمکارت با شماره مدل GT-i9082 و رام CM11 استفاده شده است.( در بعضی از دستورات باید مدل دستگاه و رامتون را جایگزین دستورات آموزش سایت بکنید)
قبل از شروع ساخت رام شما باید فایلهای مختص دیوایس خود را دانلود کنید.(برای هر دیوایسی این فایلها متفاوت می باشد).
- Device Tree
- Vendor
- Kernel
این سه اسم بالا را در github برای دانلود فایلهای دیوایس خود مخصوص به رامی که میخواهید بسازید جستجو کنید و دانلود کنید.
زمانی که فایلهای خود را پیدا و دانلود کردید،دستور زیر را وارد کنید.
cd cm11/.repo
در پوشه .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 )
حواستان باشد گوشی مورد بحث آموزش ما 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" />
اکنون ctrl+O و اینتر بزنید.
برای خروج Ctrl+X میزنیم.
بعد از وارد کردن منابع Device Tree,Vendor,Kernel دوباره هم دستور repo sync را وارد کنید تا فایلهای دانلود شده دوباره همگام سازی شوند.
بعد از آن به آموزش زیر مراجعه کنید برای سازگار کردن بیس گوشی خود با رام سیانوژن
آموزش سازگار کردن بیس سیانوژن
بعد از سازگار کردن بیس سیانوژن نوبت به ساخت رام رسیده در ادامه باید این نکته را بگویم که دستورات برای کامپایل رام نسبت به رام و گوشی شما متفاوت هستن پس عینا دستورات را فقط کپی نکنید نام رام و گوشی خود را جاگزین کنید.رام ما cm11 و گوشی GT-I9082 پس نام گوشی و رام خود را جایگزین این دو بکنید در دستوراتی که در ادامه می آیند.
شروع ساخت رام
1- دستور زیر را در ترمینال وارد کنید.
cd cm11
نکته: به جای cm11 نام مکان ذخیره رام خود را بنویسید.
2-اکنون دستور زیر را هم وارد کنید
. build/envsetup.sh
3- دستورالعمل ساخت از رامی تا رام دیگر کمی متفاوت هست ولی در کل دستور ساخت کد زیر می باشد.
time brunch <codename> -j#
<Codename>: نام کد گوشی شما اگر نام کد گوشی خود را نمی دانید آن را در گوگل سرچ کنید(گاهی نام خود گوشی همان نام کد آن می باشد)،به عنوان نمونه گوشی قبلی خودم اکسپریا زد2 نام کدش Sirius هستش.
به جایی # تعداد هسته های CPU دستگاه خود را وارد کنید.
تذکر: در بیشتر کدها ممکن هست بخاطر قالب و نوع نوشتن علامتها مانند علامت # در اول نوشته بیاد مانند همین کد آخری علامت # بعد از J قرار میگیرد.
ساخت رام به نسبت قدرت پردازش کامپیوتر شما وقت میگیرد.
بعد از ساخت رام نوبت به پچ کردن به سورس هست.که بزودی در آموزشی جدا در سایت قرار داده خواهد شد.
بعد از پچ کردن دوباره دستور ساخت بالا را وارد میکنیم.( این بار بسیار سریعتر ساخته میشود)
آموزش چگونگی پچ کردن سورس سیانوژن
اکنون به مسیر OUT/target/your device/ بروید و فایل زیپ شده رام خود را مشاهده کنید. همیشه یک کپی از رام خود نگه دارید بعد از این همه زحمات نیاز است.
رام خود را از ریکاوری فلش کنید تمام…
بسیار ممنون از صبر شما آموزش تا اینجا پایان یافته و توانستیم رام خود را بسازیم،اما با بخش دیگری در خدمتتان خواهیم بود برای تکمیل کامل کار و نگه داشتن سورس کار خود و تبدیل شدن به یک توسعه دهنده در دنیای اندروید.
برای بحث و تبادل نظر میتوانید به انجمن تخصصی جی اس ام مراجعه کنید.
لینک آموزش در انجمنپارت اول آموزش
پارت دوم آموزش
لینک کانال تلگرام
هر گونه کپی برداری از پست شرعاً حرام بوده و مورد پسند نویسنده نمی باشد.
سلام جناب خسته نباشید ممنون برای آموزش ها لطفا ادامه دهید
اما سوالی دارم
من می خوام به عنوان فرض سورس اندورید 7 رو برای گوشی خودم استفاده کنم و یه رام بر اساس اندروید 7 برای گوشیم توسعه بدم منتهی اون سه فایل بالا باید مال مثلا همین اندروید 7 باشه یا نه برای اندرید های پایین تر هم میشه استفاده کرد؟
و یه سوال دیگه میشه این سه فایل رو از خود فریمور خود پوشی در آورد؟
سلام دوست عزیز همان طور که در متن آمده باید مختص دستگاه خودتان باشند..سورس گوشی و کرنل هستن..بگردید دنبال سورس گوشیتون اگه شرکت ارائه داده باشن هستن در اینترنت
سلام دوست عزیز مرسی جواب دادید
اما من یه جست و جویی که کردم برای گوشی که (zte nubia z5smini (nx403a
باشه به این لینک ها رسیدم ممنون میشم بگید از کدوما استفاده باید کرد 🙂
https://github.com/omnirom/android_bootable_recovery/
https://github.com/flwh/android_device_nubia_NX403A
https://github.com/MoKee/android_vendor_nubia_nx403a
https://github.com/jacksion/Z5s_mini_android_devcie
https://github.com/parheliamm/android_kernel_nubia_nx403a
https://github.com/zhaochengw/android_kernel_nx403
https://github.com/ztemt/z5s_mini_H113_kernel
سلام دقت کنید نوشته یکی سورس کرنل خود شرکت نوشته master که نسخه هاش متفاوت(گاهی هم شرکت سورس کرنل برخی ورژنها رو نمیده کلا)بقیه سورس کرنل کاستوم که اسم توسعه دهنده کنارش یا سورس CM11 که خودشم نوشته
یکی کیت کات یکی جیلی بیت همونطور که نوشته ریکاوری هم تا 7.1 داشت سورسش شما ببیند می خوایید چیکار کنید بسته به هدفتون از یکی از اینها استفاده کنید
سلام به اون لینک های نظر قبلی که فعلا تایید نشده لطفا اینم بررسی کنید ممنون میشم
http://support.zte.com.cn/support/news/NewsDetail.aspx?newsId=1004862
بگید از کدوما باید استفاده کنم
سلام اینم سورس کرنل دستگاهتون که توسط شرکت ارائه شده
سلام جناب دمتون گرم مرسی جواب میدین هدف ساخت یک رام براساس اندروید 7.1 هست با این حساب کرنل که شرکت داده کدوم لینک رو منظورتون هست که ریکاوری گفتین تا 7.1 داده؟
فایل vendor و device چی لطفا بگید از کدوم لینک ها باید استفاده کرد ممنون که وقت و انرژی میزارید
یک سوالی که داشتم میشه آموزش ساخت ریکاوری بر اساس ریکاوری twrp بزارین؟
سلام این لینک که https://github.com/omnirom/android_bootable_recovery/ مال omnirom هست و ربطی به گوشی من نداره شرمنده اگه منظورتون این بوده من اشتباه گذاشتم و معذرت می خوام
جواب دو سوالتون آموزش ساخت ریکاوری twrp در سایت هست با یک جستجو پیداش میکنید..از سورس همین omin ریکاوری twrp ساخته میشه
سلام جناب اول آموزش گفتید که فایل مخصوص به رامی که می خوایم بسازیم رو باید پیدا کنیم یعنی چی مثلا گوشی من آخرین آپدیت رسمی نسخه 4.4.2 بوده و آخرین کاستوم رامش 5.1.1 اما الان من می خوام آخرین نسخه اندروید که در حال حاضر 7.1.2 هست رو برای گوشیم درست کنم و استفاده کنم یعنی نمیشه ؟؟؟؟
چون این جمله منو به شک انداخته
ممنون که وقت و انرژی میزارید و راهنمایی می کنید.
منظور آماده بودن کامل سورس توسط خود تیم سیانوژن هست یعنی ساپورت گوشی توسط خود تیم که یک منبع کد خوب بهتون میده در غیز اینصورت باید از صفر هم کرنل هم رام هم ریکاوری بسازید که هم وقت گیره هم کمی نیاز به داشتن برنامه نویسی می خواد