تفاوت سیستم عامل اندروید یکی از عوامل مهم ایجاد رقابت بین شرکت های سازنده گوشی هوشمند است. این سیستم عامل موبایل در محصولات برندهای مختلف ویژگی ها و قابلیت های متفاوتی دارد.
دستگاههای مجهز به سیستم عامل اندروید امروز در اندازه، شکل، رنگ و همراه با تواناییهای گوناگونی عرضه میشوند. آنها با وجود داشتن سیستم عامل یکسان، از نظر قابلیتهای نرم افزاری متفاوت بوده و بر روی هر یک، اپلیکیشنهای پیشفرض مختلفی دیده میشود. همچنین رابط کاربری دستگاههای دارای سیستم عامل اندروید با یکدیگر فرق داشته و ظاهر محیط نرم افزاری آنها با یکدیگر یکسان نیست. اما چه چیزی باعث وجود این همه اختلاف در یک پلتفرم شده است؟
پروژه متن باز اندروید (Android Open Source Project)، دست شرکتهای گوشیساز را برای خلاقیت باز گذاشته و آنها میتوانند برای ترغیب کردن مشتریان به خرید محصولات خود به جای دیگر دستگاههای مجهز به اندروید، ویژگیهایی متفاوت در این سیستم عامل به وجود بیاورند. اما سیستم عامل گوشی های آیفون و تبلت های آیپد تماما توسط اپل کنترل شده و فقط با سخت افزاری خاص کار میکند. البته این انحصار و بسته بودن پلتفرم نیز مزایای خاص خود را دارد.
در این مطلب قصد داریم به شیوه انتشار نسخههای جدید سیستم عامل اندروید نگاهی انداخته و نحوه استفاده از آنها توسط شرکتهای مختلف را بررسی کنیم. همچنین قصد داریم تغییرات اساسی که برخی شرکتها در این سیستم عامل در مقایسه با نسخه اصلی آن به وجود میآورند را ارزیابی کنیم. به دلیل گستردگی حجم مطالب، این مجموعه در دو بخش منتشر خواهد شد. اگر دوست دارید درباره محبوبترین سیستم عامل موبایل دنیا اطلاعات بیشتری به دست بیاورید، با ما همراه باشید.
چرخه توسعه سیستم عامل اندروید
بسیاری از اندروید به عنوان نسخه یا توزیعی از لینوکس یاد میکنند. از آنجایی که این سیستم عامل از کرنل لینوکس استفاده میکند، میتوان گفت محبوبترین سیستم عامل موبایل بر پایه لینوکس بنا شده است.
اما سیستم عامل اندروید با تمامی نسخههای لینوکس تفاوت دارد، چرا که از ابزارهای GNU که سایر توزیعها از آنها بهره میبرند استفاده نمیکند. به همین دلیل نمیتوان در دستگاههای اندرویدی، مثل زمان استفاده از توزیعهای لینوکس به ترمینال استاندارد دسترسی پیدا کرد، مگر اینکه اپلیکیشنی جداگانه به این منظور نصب شود.
سیستم عامل اندروید در عوض تنها از پایه کرنل لینوکس استفاده کرده و برای اجرای اپلیکیشنها در کنار سایر کتابخانهها، یک ران تایم به آن اضافه میکند. نرم افزارها و همچنین سرویسهای سیستمی از این منابع استفاده میکنند. نتیجه، سیستم عاملی موبایلی است که امروز نزدیک به دو میلیارد کاربر از آن استفاده میکنند. اندروید مانند تمامی سیستم عاملها ساختاری لایه لایه دارد. این ساختار سلسله مراتبی را در تصویر زیر مشاهده میکنید.
اندروید از این نظر شبیه به سیستم عامل ویندوز است. تمامی این کدها در پورتال توسعهدهندگان اندروید قرار گرفته و شرکتهای گوشیساز میتوانند آنها را به صورت رایگان دریافت کنند. اما اندروید چگونه به طور مداوم توسعه پیدا میکند؟
انتشار AOSP توسط گوگل
اندروید اصطلاحا خام نتیجهای است که از محیط باز و مشترک فراهم شده به دست گوگل بیرون میآید. از آنجایی که گوگل مسئول هماهنگ کردن فرآیند توسعه اندروید است، به طور مستمر برای پروژه متن باز اندروید ریلیزهایی را منتشر میکند. خروجی این پروژه، کد منبع برای یک سیستم عامل کامل موبایل است که آن را با نام اندروید میشناسیم.
معنی عبارت سیستم عامل در این تعریف بسیار مهم است. منظور از آن، ترکیبی از پلتفرمهای پایه همچون کرنل، کتابخانههای نرم افزاری مقدماتی و دیگر موارد به همراه تعدادی اپلیکیشن است. اینها در کنار یکدیگر یک پلتفرم جامع را به وجود میآورند که در صنعت روز به آن اندروید خام گفته میشود. با وجود تلاش شرکتها برای سفارشیسازی اندروید خام به منظور متفاوت کردن محصولات خود، برخی شرکتها همچون خود گوگل از چیزی نزدیک به آن در دستگاههای خود استفاده میکنند. دلیل گوگل برای این کار، درست کردن تصویری واضح و متفاوت از گوشی ها و تبلت های خود در ذهن کاربران است. اما سایر شرکتها، کاربرانی که برای تجربه اندروید خام کنجکاو هستند را نشانه میروند.
در حال حاضر، اندروید خام دیگر به معنی اندروید رسمی نیست. ابتکار تصدیق اندروید جدید گوگل تلاش میکند از دنبال شدن دستورالعملهای امنیتی توسط گوشیسازان و نصب تعدادی از اپلیکیشنهای مشخص به صورت پیشفرض اطمینان پیدا کند. این از اندروید خام فراتر میرود، چرا که نیازمند بازبینی و تایید شدن توسط گوگل است.
از آنجایی که سیستم عامل اندروید متن باز است، برخی دیگر به شیوههای متفاوت از آن بهره میبرند. یعنی عدهای همچنان میتوانند آن را برای دستگاههای خود بدون در نظر گرفتن گوگل کامپایل کنند. دو مثال خیلی خوب برای پروژههایی که به این سبک اجرا شدهاند وجود دارد.
نخستین دستگاههای اینچنینی توسط آمازون ساخته شدند. آنها از اندروید به عنوان سیستم عامل پایه خود استفاده میکنند، با این حال فروشگاه اپلیکیشن مخصوصی داشته و لانچر رابط کاربری آنها کاملا متفاوت است. در قسمت بعدی بیشتر دستگاههای اندرویدی آمازون را بررسی میکنیم.
مثال دیگر، کوله بازی از رامهای کاستوم است که توسط انجمنهای تخصصی و توسعهدهندگان خودمختار ایجاد میشوند. وقتی یک رام سفارشیسازی شده با عنوان «بر اساس اندروید نوقا» منتشر میشود، یعنی در پروژه مذکور، از این ریلیز اندروید به عنوان نقطه شروع استفاده شده است.
همچنین بخوانید:
کدام گوشیسازها در برابر آپدیت های اندروید بهتر عمل میکنند؟
اندروید خام
برای مشاهده ظاهر اندروید خام همراه با اپلیکیشنهای گوگل (پیش از این که توسط گوشیساز تغییر کند)، میتوان از شبیهسازهای این سیستم عامل در پلتفرمهای دیگر استفاده کرد. جنی موشن، بلو استکس و Anbox جزو شناخته شدهترین نمونهها هستند، اما هر کدام محدودیتهایی دارند. به عنوان نمونه جنی موشن محصولی تجاری بوده و دو مورد دیگر به ترتیب تنها بر روی ویندوز و لینوکس اجرا میشوند.
برای دسترسی به ابزاری رایگان و بدون محدودیت از نظر پلتفرم میتوان اندروید استودیو را دانلود و نصب و در ادامه SDK Manager درون آن را اجرا کرد. به وسیله آن میتوان منابع برنامه نویسی هر یک از نسخههای اندروید را دانلود کرد. این قابلیت در تصویر زیر نمایش داده شده است.
نصب کردن اندروید استودیو به راحتی دانلود پکیج نرم افزار و دنبال کردن مراحل زیر است. برای دانلود این نرم افزار باید به وب سایت Developers.Google.Com مراجعه کنید.
اگر سیستم عامل کامپیوتر شما ویندوز است، از فایل نصبی دارای پسوند EXE. استفاده کنید. در مک نیز باید فایل دارای پسوند DMG. را دریافت کنید. اگر از لینوکس استفاده میکنید، فایل دارای پسوند ZIP. را بعد از دانلود استخراج کرده و اجرا کنید.
بعد از نصب نرم افزار باید به سراغ ابزار مورد نظر خود برویم. یکی از چندین ابزار درون اندروید استودیو، «دستگاه مجازی اندروید» یا Android Virtual Device است که به طور مخفف به صورت AVD Manager نمایش داده میشود. محل قرارگیری آن در تصویر زیر نمایش داده شده است.
بعد از ورود به این بخش، بر روی قسمت Create Virtual Device کلیک کنید تا یک ماشین مجازی طی دو مرحله ایجاد شود. ابتدا باید پروفایل دستگاه را انتخاب کنید. بهتر است از این بخش سریع رد شده و زیاد درباره آن فکر نکنید، چرا که تنها پارامترهایی همچون اندازه و رزولوشن نمایشگر در آن مشخص میشوند.
ورژن سیستم عامل اندروید مورد نظر را برای اجرا شدن انتخاب کنید. یکی از مزایای اندروید استودیو باز بودن دست برای انتخاب از میان چندین نسخه اخیر است. به عنوان نمونه در اینجا حتی میتوان اندروید 5 لالیپاپ را نیز اجرا کرد.
بر روی دکمه Finish کلیک کنید. وقتی ماشین مجازی ایجاد شد، آن را به وسیله دکمه اجرا در AVD Manager راهاندازی کنید. نحوه انجام این کار در عکس زیر مشخص شده است.
به محض اجرا شدن دستگاه مجازی میتوانید لایهبندی و مجموعه اپلیکیشنهای استاندارد مربوط به نسخه انتخاب شده سیستم عامل اندروید را مشاهده کنید. در تصویر زیر اندروید نسخه 5.1 در سمت چپ و اندروید نسخه 7.1 در قسمت راست قرار گرفته است. با مقایسه این دو با یکدیگر متوجه متوجه میشویم تعداد قابل توجهی از اپلیکیشنهای پیشفرض آنها با یکدیگر یکسان هستند.
آنها شامل اپلیکیشن مخاطبها، اپلیکیشن تماس شامل ابزار شمارهگیر، دوربین، مرورگر پیشفرض اندروید، مرورگر گوگل کروم و چندین ابزار جانبی دیگر همچون گالری و ساعت هستند. به لطف این اپلیکیشنها میتوان از ابتداییترین کاربردهای یک گوشی هوشمند بهره برد.
همانطور که میبینید این رابط کاربری تعداد کمی ابزار و نرم افزار با کاربردهای محدود دارد. به همین دلیل شرکتهای گوشیساز همواره در سیستم عامل اندروید دست برده و آن را سفارشیسازی میکنند. AOSP شامل فعالیت گوگل و همچنین سایر توسعهدهندگان است. به محض انتشار یک نسخه، گوشیسازان میتوانند کد منبع را دانلود کرده و آن را بر اساس نیاز و اهداف خود دستکاری کنند.
وفق دادن AOSP با سخت افزار
شرکتها برای شروع کار بر روی یک دستگاه جدید، ابتدا از یک کپی از کد منبع درون پروژه AOSP استفاده میکنند. یکی از نخستین چیزهایی که باید به این کد اضافه شوند، درایورهای مورد نیاز برای اجرای صحیح سخت افزارها است. نمونهای از آن را میتوانید در قلم S-Pen گلکسی نوت 5 مشاهده کنید. این دستگاه حتی در زمان عدم لمس فیزیکی، با گوشی ارتباط برقرار میکند. پس سامسونگ یک درایور به منظور دریافت ورودی از این قطعه خارجی ایجاد کرده است.
ممکن است سخت افزار به چند نرم افزار اضافی نیاز داشته باشد. به عنوان نمونه قلم S-Pen گزینههای پیکربندی چندگانه را قبول میکند. گوشیسازها، این کامپوننتها همچون صفحه تنظیمات نمایش داده شده در بالا را ایجاد کرده و به کد اندروید اضافه میکنند. اما حساب آوردن تمامی سخت افزارها به معنی تمام بودن کار نیست.
سفارشیسازی ویژگیهای AOSP توسط شرکتها
شرکتهای سازنده دستگاههای مجهز به سیستم عامل اندروید ، در نهایت تلاش میکنند با دستکاری و افزودن کدهای اضافی، به کاربران خود تجربهای متفاوت و منحصربهفرد از کار کردن با اندروید ارائه کنند. برای این کار میتوان چندین پوسته و یا اپلیکیشن را به صورت پیشفرض بر روی دستگاه نصب کرد. ویژگی مشترک این موارد پیشفرض، عدم امکان حذف کردن آنها همانند تنظیمات و درایورها است.
اگر توجه کنید، آنها در اپلیکیشن گوگل پلی درون کتابخانهها مخفی میشوند. در برخی موارد، آیتمی هشداردهنده برای نمایش عدم امکان حذف آنها نیز نمایش داده میشود. برای برخی دیگر دکمه غیر فعالسازی (Deactivate) و یا حذف آپدیتها (Uninstall Updates) به جای دکمه همیشگی حذف (Uninstall) درون گوگل پلی در دسترس است.
شرکتها برای متفاوت کردن دستگاههای اندرویدی خود با محصولات دیگر شرکتها، باید در این بخش سفارشیسازیهای مد نظرشان را انجام بدهند. در قسمت بعد، به نحوه سفارشیسازی سیستم عامل اندروید در پرچمداران برخی از محبوبترین شرکتهای گوشیساز اشاره میکنیم.