-> Application layer
-> Application framework
-> Libraries and runtime
-> Kernel
Android Software Development takes place in application layer. Android developers with the help of application framework write applications. Android treats all applications equally means it can't differentiate built-in software and software developed through Android software development by 3rd party developers. This is not in case of other platforms like iOS. Android does this with IntentFilter API where any application can handle any event which the user or system generates. This rises some security concerns during Android software development but actually this is a well thought-out security model since Unix file system allows only those applications which have abilities given during installation process thus, without the permission of cell phone owner which is assigned during installation no application run on that cell phone or handheld device.
You can find exclusive support for framework by many opensource libraries like:
-> openssl
-> sqlite
-> libc & others
-> As well as Android core libraries
As we have seen in software stack the last one is kernel and here it is Linux 2.6 kernel, providing low level hardware interfaces and Unix C APIs. But don't expect them and use well though out API that Android provides to write application in Java with the help of Android core libraries. Android software development takes place mostly in Java using Android core library which is a big .jar file which has support of Dalvik Virtual Machine which is rapid and efficient JVM that enables Java coded software to work on the Android handheld devices.
Read More:- Android Apps Developer—Subject To global Reach