Hello everyone! I hope i joined right community and my questions are 
suitable for it. I already tried to ask them on reddit and even posted a 
link to it on #android conference on freenode, but no one payed attention. 
I will be happy if someone will try to cover my questions by either 
answering or posting related links with further information.


I've seen many articles and presentations about android architecture and i 
have some knowledge about its inner workings, but there are questions i 
haven't found answer at. I'm also have some practical experience with 
android building system, i've successfully compiled a few builds of android 
for some devices with needed modifications (i fixed translations mostly, 
and did some simple hacks such as changing desktop grid and on-screen 
keyboard buttons size or setting two default keyboard layouts if interface 
language is selected).

So we have android architecture like this <http://imgur.com/Zb7fg>. At the 
first look everything looks quite simple. But what i have in mind: From 
version to version what is changing is obviously apps and their frameworks 
(and possibly some parts of libraries). Why can't we just build new 
versions of those and just replace old ones? If I will keep old kernel and 
other files like fstab, what possibilities that it will work? From my 
perspective, what all the guys, who are trying to make custom builds, doing 
is they are just fighting with getting damn peripherals work: camera, 
wireless interfaces and multimedia. (i know, that some teams like 
CyanogenMod are also modifying some default apps) For example, I have 
either completely new device or just trying to make custom firmware for 
existing one, but I don't have any source codes. What do I need here? Only 
kernel sources? Speaking of drivers: they are only depend on kernel, so i 
we have specific kernel and generic system build, they will work together? 
I assume, they won't. Why is this happening? Also, question about booting: 
as far as i understand, what boot whole subsystem is bootloader. But what 
boots bootloader, when i press power button? What is bootloader?

*So to sum up:*

1) Why is it so hard to port new versions of android to existing devices? 
Why does it takes so long for vendors to release new versions of software 
for existing devices, not in terms of marketing and sales, but in terms of 
effort on porting?

3) Why can't we just replace apps from in older build with never versions 
and get working system?

4) What is bootloader? How does it work?

5) Where are all the drivers? In the kernel?

6) What do we need to get android working on new device? What do we need to 
make new version of android work on unsupported device?

That may all sound a bit silly and profane, but all that stuff warms my my 
pioneer spirit. I want to know more :)

Thanks in advance for all of you.

-- 
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting

Reply via email to