I have been interested in Android development but have had a hard time understanding the big picture. here are a few questions:
What are the major components/layers? i.e. is Android simply a Linux kernel with a custom
Java Virtual Machine?
What access do you have to the base linux kernel? How is this linux kernel different than a typical desktop or server linux? Can typical linux service be installed such as CUPS?
How do you handle writing software that will potentially have to run on various hardware platforms with different components i.e. camera, bluetooth, screen size, etc.?