آموزش مقدماتی ساخت کاستوم رام اندروید
یکی از مهمترین و در واقع اصلی ترین ویژگی های سیستم عامل اندروید مربوط به «منبع باز» (Open Source) بودن این سیستم عام است. این قابلیت به گونه ای است که هر کاربر علاقمندی، حتی اگر دانش زیادی هم در این حوزه نداشته باشد بتواند یک کاستوم رام اندروید بسازد. در ادامه با کوک موبایل همراه باشید تا آموزش مقدماتی ساخت کاستوم رام اندروید (Custom ROM) را به شما آموزش دهیم.
همانطور که اشاره کردیم، سیستم عامل اندروید متن باز یا منبع باز است و این ویژگی از جمله قابلیت های منحصر به فرد آن محسوب میشود. با توجه به قابلیت متن باز بودن اندروید، هر کاربری می تواند بدون اینکه هزینه ای پرداخت کند و به صورت رایگان به کد های اصلی قسمت های مختلف این سیستم عامل از جمله کرنل (Kernel)، رابط کاربری (User Interface) و غیره دسترسی داشته باشد. بنابراین این موضوع کاربر علاقمند و با دانش نسبی مناسب را قادر می سازد تا تغییرات مورد نظرش را در نسخه های مختلف سیستم عامل اندروید اعمال کرده و سپس آن را در دستگاه های اندرویدی اجرا کند.
با توجه به مقدمه بالا، به روند اعمال تغییرات دلخواه در سیستم عامل اندروید و ارائه نسخه ای خاص و غیر رسمی از آن که با دستگاه های اندرویدی خاصی سازگاری دارد، به اصطلاح ساخت کاستوم رام اندروید گفته میشود. در واقع کاستوم رام ها نسخه های غیر رسمی سیستم عامل اندروید هستند که برنامه نویسان حرفه ای یا افراد علاقمند به کدنویسی اندروید آن را ایجاد کرده و جایگزین نسخه رسمی سیستم عامل اندروید دستگاه می کنند. وقتی یک Custom ROM ساخته می شود، در قالب یک فایل نصبی است که باید روی دستگاه های اندرویدی سازگار نصب شوند. به عملیات نصب و راه اندازی یک کاستوم رام، فلش کردن گفته می شود.
در حال حاضر فایل های کاستوم رام مختلفی برای دستگاه های اندروید و تلفن های هوشمند در برندهای گوناگون ساخته شده اند و تعداد آنها هم کم نیست. قصد ما این است که شما به عنوان کاربری که دانش نسبی در حوزه موبایل و سیستم عامل اندروید دارید بتوانید خود یک کاستوم رام اندروید بسازید. بنابراین، اگر علاقمند به ساخت کاستوم رام اندروید هستید و دوست دارید خود آن را روی دستگاه اندروید فلش کنید، این مقاله را تا انتها مطالعه نمایید. در حین ساخت و نصب و فلش کردن Custom ROM روی دستگاه اندرویدی خود، چنانچه با هر یک از بخش ها و مراحل شرح داده شده مشکل داشتید و با مسئله ای روبرو شدید و نیاز به توضیحات دقیق تری داشتید، می توانید از طریق شماره های موجود با کارشناسان بخش پشتیبانی و تعمیرات نرم افزاری موبایل ما تماس بگیرید و از آن ها راهنمایی دقیق تری بخواهید.
توصیه های قبل از ساخت کاستوم رام اندروید
پیش از شروع آموزش مقدماتی ساخت کاستوم رام اندروید باید چند توصیه و نکته قابل توجه را به شما گوشزد کنیم. اولین نکته این استکه برای ساخت یک کاستوم رام اندروید باید کد های دستوری خاص را وارد کنید و به عبارتی کدنویسی نرم افزاری کنید. اگر با کدنویسی نرم افزاری آشنایی دارید که کار شما راحت تر است اما اگر اگر با کدنویسی هیچ آشنایی مقدماتی ندارید، ساخت کاستوم رام اندروید را به شما پیشنهاد نمیکنیم!
توجه داشته باشید که نسخه های اصلی سیستم عامل اندروید به طور پیش فرض عملکرد فوقالعاده ای دارند. اگر خیال دارید یک کاستوم رام اندروید بسازید، باید حتماً متفاوت باشد و قابلیت ها و ویژگی های زیادی را به آن اضافه کنید که باعث بهبود عملکرد دستگاه اندروید شود. بازهم اگر با قابلیت های اندروید و اضافه کردن ویژگی های بیشتر به آشنایی چندان زیادی ندارید پیشنهاد می کنیم که وقت خود را برای این کار هدر ندهید. این مقاله آموزشی قصد ندارد کدنویسی و افزودن قابلیت های اندروید را آموزش دهید، در این مقاله تنها به آموزش مقدماتی ساخت کاستوم رام اندروید پرداخته شده است.
پیش نیازهای ساخت کاستوم رام اندروید (Custom ROM)
از آنجا که برای ساخت یک کاستوم باید کدهای دستوری بسیار زیادی وارد شود، ابتدا باید کاربر از دانش برنامه نویسی حداقل در حد و اندازه یک برنامه نویس نیمه حرفه ای برخوردار باشد. کاستوم رام یک فریمور است که ساخت آن با کامپیوترهای معمولی امکان پذیر نخواهد بود. پیشنهاد ما این است که برای شروع کار از کامپیوترهای با سیستم عامل مک یا لینوکس استفاده کنید. برای ساخت یک Custom ROM باید حافظه ذخیره سازی اطلاعات در دسترس روی کامپیوتر شما حداقل 130 گیگابایت و حافظه رم آن 8 گیگابایت باشد. ساخت کاستوم رام در کامپیوترهایی که دارای رم 4 گیگابایت هستند همواره با مشکلات خاصی همچون لگ و تاخیر در بارگذاری اطلاعات همراه می شود.
ساخت کاستوم رام زمان زیادی می برد و در مواقعی، اجرای کدهای دستوری وقت گیر است، شاید در مراحل اولیه و تلاش برای ساخت کاستوم رام موفق عمل نکنید و لازم باشد که از اول شروع کنید و تمام مراحل را دوباره و با دقت و درست تکرار کنید. لطفاً صبور و شکیبا باشید. انتظار تداشته باشید که در اولین اقدام خود برای ساخت این فریمور به یک برنامه نویس حرفه ای اندروید تبدیل شوید و بتوانید یک Custom ROM دقیق و بدون خطا و مشکل بسازید. حتی برای برنامه نویسان حرفه ای هم پیش آمده است که در طول مراحل ساخت کاستوم رام اندروید به دلیل مشکلات بسیار کوچکی که در کدنویسی ایجاد می شود، با مشکل بر می خورند و موفق عمل نمی کنند، بارها شده است که عملکرد Custom ROM مختل گردیده یا با باگ های خاصی همراه می شود. در این مواقع با دقت و حوصله فراوان نسبت به بررسی موضوع و رفع اشکال اقدام کنید. فرایند ساخت کاستوم رام و در کل کدنویسی یک روند بسیار دقیق است و نیاز به صبر و حوصله بالایی دارد. ازاینرو، یکی از اصلی تری پیش نیازهای شما برای کسب موفقیت در پروسه ساخت کاستوم رام اندروید به صبر و حوصله زیاد شما مربوط می شود.
شروع و مراحل ساخت کاستوم رام اندروید
نکته: لازم به ذکر است که پس از ساخت کاستوم رام اندروید به برنامه های کاربردی مثل گوگل پلی استور، یوتیوب، جیمیل، کروم و سایر برنامه هایی که در نسخه های اصلی اندروید از سرویس های گوگل استفاده میکنند دسترسی نخواهید داشت. به بیان دیگر سرویس های گوگل به صورت پیش فرض برای کاستوم رام ها ارائه نمی شود. البته برای ارائه این خدمات در کاستوم رام ها و ایجاد امکان استفاده از برنامههای فوق الذکر در Custom ROM به صورت پیش فرض، ترفند خاصی وجود دارد که از حوصله این مقاله خارج است. برای کسب اطلاعات بیشتر می توانید با کارشناسان آموزش دیده ما در کوک موبایل تماس بگیرید و راهنمایی و مشاوره دقیق تری بخواهید.
پروسه اصلی ساخت کاستوم رام اندروید به این صورت است که باید رام اصلی را از Android Open Source Project دانلود کنید و سپس کد های منبع یا اصلی را تغییر داده و بدین صورت Custom ROM اختصاصی خود را خواهید ساخت. گوگل به منظور راهنمایی بهتر کاربران و افراد علاقمند، توضیحات بسیار عالی ارائه کرده است. با کلیک بر روی این قسمت میتوانید به صفحه توضیحات گوگل مراجعه کنید. توصیه ما این است که توضیحات این بخش را با دقت بیشتری مطالعه نمایید.
به طور کلی مراحل ساخت کاستوم رام اندروید به شرح زیر است:
1- تهیه و راه اندازی یک محیط اولیه برای کدنویسی: در این مرحله باید یک ابزار مناسب به منظور کدنویسی و ساخت کاستوم رام اندروید را در کامپیوتر واسط خود نصب کنید.
2- کیت توسعه نرم افزاری (Development Kit): به کیت توسعه نرم افزاری اصطلاحاً SDK هم گفته می شود. شما باید به منظور ساخت Custom ROM اندروید نسبت به دانلود SDK مناسب اقدام کنید. کیت توسعه نرم افزاری یا همان SDK مجموعهای از توابع و کتابخانههای کامپایل شده را در اختیار برنامه نویسان کاربردی قرار میدهند.
3- دستیابی به منبع: این عمل با استفاده از ابزار Repo قابل انجام است.
4- تهیه فایلهای باینری اختصاصی: بخشی از درایورها تنها به شکل فایل باینری(Binary) ارائه می شوند.
5- تعیین هدف: هدف شما باید تعیین شده باشد. ممکن است برای هر دستگاه این هدف به شیوه خاصی تعیین شود.
6- شروع پروسه ساخت: در این مرحله پروسه ساخت کاستوم رام اندروید و اعمال تغییرات مورد نظر انجام می شود.
7- فلش کردن کاستوم رام: پس از اتمام پروسه ساخت کاستوم رام اندروید و اطمینان از عملکرد صحیح آن باید نسبت به فلش کردن کاستوم رام در دستگاه اندرویدی اقدام کنید.
با مطالعه مراحل مورد نیاز به منظور ساخت Custom ROM اندروید که در بالا به آنها اشاره کردیم شاید تصور کنید که انجام این عملیات ساده باشد اما واقعاً این چنین نیست. اگر تجربه چندان زیادی در زمینه ساخت کاستوم رام اندروید نداشته باشید، و تابحال هیچ فریمور این چنینی نساخته اید، بی شک با مشکلاتی مواجه خواهید شد. برای این منظور، ما نکات و ترفندهایی که در مراحل ساخت کاستوم رام اندروید باید به آنها توجه بیشتری داشته باشید به شما گوشزد می کنیم.
بنابراین به صورت کلی پروسه ساخت کاستوم رام اندروید شامل مراحل فوق می شود. در ادامه توضیحات بیشتر در رابطه با این مراحل خدمتتان ارائه میکنیم. فراموش نکنید که برای کسب راهنمایی بیشتر میتوانید با کارشناسان کوک موبایل تماس حاصل کرده و از آن ها راهنمایی بخواهید.
تهیه و راهاندازی محیط ابتدایی برای کدنویسی
برای فراهم آوردن و راه اندازی یک محیط ابتدایی برای کدنویسی اندروید، پیشنهاد می کنیم که از سیستم عامل های اوبونتو 14.04 و همچنین او اس ایکس یا مک او اس 10.11 استفاده کنیم. اگر از سیستم عامل اوبونتو استفاده میکنید باید OpenJDK 8 در آن نصب شود و اگر از سیستم عامل مک او اس یا همان او اس ایکس استفاده میکنید باید Oracles JDK 8 را در آن نصب کنید. در سیستم عامل او اس ایکس یا مک او اس باید مکپورتها (Macports) در کنار Xcode و ابزار دستور خطی Xcode نصب شده باشد.
دستیابی به منبع
دستیابی به منبع فرایند پیچیدهای را شامل نمی شود اما مرحله ای زمانبر است و حتی ممکن است یک روز زمان شما را صرف کند. در این مرحله باید فایلی دانلود شود که عموما حجم بسیار بالایی دارد. همگام سازی های بیشتر در مراحل بعدی با منبع اصلی به صورت تدریجی انجام می شود.
تهیه فایل های باینری اختصاصی
فایل های باینری باید در مسیر پروژه شما ارائه شوند.
چگونگی کاستوم رام برای سیستم عامل اندروید را مطالعه منید.
تعیین هدف
در این مقاله یک طرح آزمایشی کاستوم رام برای نکسوس 5 ایکس گوگل ساخته شده است. برای نکسوس 5 ایکس باید از aosp_bullhead-user استفاده شود.
شروع پروسه ساخت
پروسه ساخت کاستوم رام اندروید با استفاده از نرم افزار Make انجام میشود. ابزار GNU Make میتواند یکی از بهترین انتخاب های شما محسوب شود. این نرم افزار قادر به استدلال چند وظیفه موازی است. اگر بنا به هر دلیلی در حین استفاده از ابزار GNU Make با مشکل مواجه شدید، توصیه میکنیم که از ابزار Make -j2 استفاده کنید. اگر در جریان استفاده از این ابزارها با خطاهای مربوط به مموری یا سرور جک (Jack Server) مواجه شدید، با کارشناسان کوک موبایل تماس بگیرید و از آن ها راهنمایی دقیق تری بخواهید.
فلش کردن کاستوم رام
شما در مسیر /out/host/darwin-x86/bin/ سیستم عامل مک او اس یا مسیر /out/host/darwin-x86/bin/ سیستم عامل لینوکس (اوبونتو) میتوانید به adb یا fastboot دسترسی پیدا کنید.
فلش کردن کاستوم رام و بررسی آن
پس از اتمام مراحل ساخت کاستوم رام اندروید و فلش کردن آن در دستگاه اندرویدی از طریق “fastboot flashall –w” و ریستارت کردن دستگاه، نسخه وانیل اندروید در دستگاه راهاندازی می شود. همانطور که در بالا نیز اشاره کردیم از سرویسهای گوگل و برنامههایی نظیر کروم، یوتیوب، گوگل پلی استور و سایر برنامههای مبتنی بر سرویس های گوگل هیچ خبری نیست. با این وجود به شما تبریک می گوییم، چرا که شما توانستید با استفاده از کدهای منبع اندروید یک کاستوم رام (البته بدون تغییرات) را بسازید و در دستگاه اندرویدی خود فلش کنید.
شخصی سازی کاستوم رام
اکنون که فریمور خود را نصب کردید و گوشی را فلش کردید می توانید نسبت به شخصی سازی کاستوم رام اندرویدی تان اقدام کنید. این بخش در واقع بخشی از پروسه ساخت Custom ROM اندروید اختصاصی است که بسیار دشوار و زمانبر خواهد بود. کیفیت و کارایی و ویژگی های کاستوم رام های اندرویدی با توجه به شخصی سازی هایی که بر روی آن ها اعمال شده ارزیابی می شود. در این مقاله دو روش شخصی سازی ساده را به شما آموزش خواهیم داد. در اینترنت و با یک جستجوی ساده در آن می توانید در رابطه با شخصی سازی های مختلف اطلاعات بیشتری به دست بیاورید. همچنین می توانید با کارشناسان کوک موبایل تماس بگیرید تا اطلاعات بیشتری در اختیار شما قرار دهند.
شخصی سازی برنامه پیام رسان
شخصیسازی یا ایجاد تغییر در برنامه های کاربردی پیش فرض نصب شده در سیستم عامل اندروید روند ساده تری نسبت به سایر شخصی سازی ها دارد. بنابراین در این بخش به نحوه شخصی سازی برنامه پیام رسان پیش فرض سیستم عامل اندروید می پردازیم.
اپلیکیشن های هستهای سیستم عامل اندروید در مسیر /packages/apps/ قرار می گیرند. برای دستیابی به برنامه پیام رسان پیش فرض دستگاه اندرویدی باید از مسیر /packages/apps/Messaging/ استفاده شود. پس از دستیابی به این برنامه وارد مسیر src/com/android/messaging/ شوید و گزینه BugleApplication.java را ویرایش کنید. هدف ما این است که کاری کنیم تا برنامه پیام رسان دستگاه به محض اجرا یک عبارت خاص (Wellcome) را نمایش دهد. انجام این عمل بسیار ساده است و به همین دلیل در این مقاله از آن استفاده میکنید. به منظور انجام این عمل دستور زیر را وارد کنید:
حال به دنبال تابع onCreate() باشید. در مقابل بخش انتهایی تابع نامبرده شده و درست مانند عکس زیر نسبت به عبارت مد نظرتان را وارد کنید. ما این عبارت را “Wellcome!” به معنای خوش آمدید در نظر گرفتیم.
حال فایل ساخته شده را ذخیره کنید و کاستوم رام ساخته شده را در دستگاه اندرویدی خود فلش نمایید. مشاهده خواهید کرد که به محض اجرای برنامه پیام رسان گوشی، پیغام “Wellcome” بر روی صفحه نمایش آن ظاهر میشود.
اضافه کردن اطلاعات کاستوم رام به بخش «درباره دستگاه»
یکی دیگر از تغییرات کاربردی که می توانید در کاستوم رام خود ارائه کنید مربوط به اضافه کردن اطلاعات کاستوم رام در بخش «درباره دستگاه» می شود. بدین منظور به مسیر /packages/apps/Settings/res/xml/ مراجعه کنید و فایل device_info_settings.xml را ویرایش کنید. ویرایش این بخش را مشابه با عکس زیر انجام دهید:
پس از ذخیره تغییرات اعمالی و فلش کردن کاستوم رام در دستگاه اندرویدی خود به بخش تنظیمات (Settings) آن مراجعه کنید و سپس به منوی About Phone بروید. مشاهده خواهید کرد که بخشهای نام رام (ROM Name) و شماره ساخت رام (ROM Build Number) به این قسمت اضافه شده اند.