سیستم عامل اندروید پشته ای از اجزای نرم افزاریست که تقریباً به پنج بخش و چهار لایه اصلی تقسیم می شود.در شکل زیر معماری اندروید نشان داده شده است.
در پایین ترین لایه در معماری اندروید , لینوکس ۳٫۶ قرار دارد که دارای حدوداً ۱۱۵ تکه یا (patches) است. این سطح انتزاعی ،سخت افزار دستگاه را فراهم می کند که شامل تمام درایور سخت افزارهای ضروری مانند دوربین، صفحه کلید، صفحه نمایش و غیره. همچنین هسته, همه ی چیزهایی که واقعاٌ نیاز هستند مثل شبکه کردن و آرایه ی وسیعی از درایورهای سخت افزار که به عنوان واسط عمل می کنند را بررسی می کند.
در بالای هسته لینوکس مجموعه ای از کتابخانه ها از جمله موتور جست و جو گر وب متن باز WebKit, کتابخانه libc, پایگاه داده SQLite که یک مخزن مفید برای ذخیره سازی و اشتراک گذاری برنامه داده ها، کتابخانه هایی برای بازی و ضبط صوتی و تصویری، کتابخانه های SSL که مسئول امنیت اینترنت و غیره را بر عهده دارند, وجود دارد.
این رده شامل آن دسته از کتابخانه های مبتنی بر جاوا است که مخصوص توسعه اندروید است. نمونه هایی از کتابخانه ها در این رده شامل کتابخانه های فریموورک برنامه ها به علاوه آن هایی که ساخت رابط کاربری ، طراحی گرافیکی و دسترسی به پایگاه داده را تسهیل می کنند. در زیر خلاصه ای از برخی کتابخانه های کلیدی و اصلی اندروید موجود در توسعه ی اندروید آورده شده است:
core libraries, اندروید را در زمان اجرا بر اساس جاوا تحت پوشش دارد.در این زمان ما به نوبه ی خود توجه داریم به کتابخانه هایی که بر اساس زبان ++C/C در این لایه ی بسته ی نرم افزاری اندروید وجود دارند.
سومین قسمت از معماری اندروید که از پایین در لایه ی دوم قرار دارد.این قسمت جزء کلیدی به نام Dalvik Virtual Machine است که یک نوع ماشین مجازی ویژه ی جاوا را برای اندروید طراحی و بهینه کرده است.Dalvik VM از ویژگی های هسته ی لینوکس مثل مدیریت حافظه و چند نخی استفاده می کند,که از خصوصیات ذاتی زبان جاوا است. Dalvik VM هر برنامه ی اندرویدی را قادر می سازد تا به صورت فعال در روند اجرایی خود نمونه ای از ماشین مجازی Dalvik داشته باشد . همچنین در زمان اجرای اندروید نیز مجموعه ای از کتابخانه های اصلی را فراهم می کند تا توسعه دهندگان نرم افزار اندروید قادر باشند برنامه های کاربردی و استاندارد را با استفاده از زبان برنامه نویسی جاوا بسازند.
لایه Application Framework بسیاری از خدمات سطح بالاتر را برای برنامه های کاربردی در قالب کلاس های جاوا فراهم می کند و به توسعه دهندگان اندروید این اجازه را داده است تا از این خدمات در برنامه های خود استفاده کنند.
Android framework شامل خدمات کلیدی زیر است :
شما می توانید تمام برنامه های اندرویدی را در لایه بالا پیدا کنید. در این لایه فقط قادر هستید تا برنامه ها ی نوشته شده ی خودتان را نصب کنید.چند نمونه از این برنامه ها را مثل مخاطبین, Books, مرورگرها,بازی ها و غیره میتوان نام برد.