تعریف کلی
سیستم های اندرویدی از کرنل های لینوکسی استقاده میکنند اما نه همان کرنل های لینوکس که سیستم عامل لینوکس از آنها استفاده میکند . سیستم عامل اندروید دارای بسیار کدهای داخلی است که در لینوکس وجود ندارند و این مورد بر عهده کرنل های اندرویدی است که بتوانند این کدها را بشناسند .
همچنین کارخانه های سازنده دستگاه ها نیز باید برنامه نویسی درایور بسیاری از قطعات خود را طوری تغییر دهد تا با کرنل سیستم عامل منطبق باشد . این همان دلیلی است که زمان زیادی میبرد تا خیلی زمان ببرد تا شاهد یک سیستم و یا قابلیت جدید در همه دستگاه های اندرویدی باشیم . درایورهایی که با کرنل Gingerbread خوب کار میکنند لزوما نباید با کرنل Ice Cream Sandwich هم به خوبی کار کنند . و این مورد خیلی مهمی است زیرا یکی از وظایف کرنل کنترل کامل سخت افزار میباشد .
سورس کد ها و قابلیت های خیلی زیادی ( بیش از آن که شما تصور میکنید ) وجود دارند ؛ اما در کل میتوان گفت کرنل رابط بین سخت افزار و نرم افزار کامپیوتر است .
وقتی نرم افزار نیاز به انجام هر عملی دارد که سخت اقزار در آن دخیل است ؛ نرم افزار درخواست خود را برای کرنل ارسال میکند . وقتی از کلمه هر استفاده میکنید واقعا منظور 'تمام عملیات نرم افزار مبتنی بر سخت افزار' است . روشنایی تصویر ؛ کم و زیاد کردن ولوم صدا و حتی تماس های تلفنی که ارتباط نرم افزار تلفن با رادیو را برقرار میکنند از جمله این عملیات هستند .