Hi Well, you're pretty much covered most of my questions. Now i have another two: 1) Are there any possibility, that Android will be easier to build for particular new device? I mean, there is probably way to unify drivers and those individual things, that require most work, so vendor can compile drivers, custom apps, test firmware and release it. As far as i see, currently this process is more complicated. 2) Also, more practical question: i have a device, based on Tegra 2 harmony board (with T20 CPU), which support was discontinued by nVidia even before 2.3 was out. I have complete source code of 2.2 for that device (working kernel, all drivers and everything, so i can successfully build firmware), and I'm trying to use it to port ICS to that device. Basically, now i'm stuck with new build system, that requires tags for modules. I managed to overcome those problems, but i decided to start over again to avoid mistakes.
Maybe you or someone can point me at which things should i look at the first place, where to pay attention (maybe there are some common points) or even some theoretical information to read about this process further. And of course, thanks for your answers and time. --- Artem Makarov Sent with Apple Mail On Feb 7, 2012, at 6:52 PM, freakingtux wrote: > Hi, > > While not a phone device vendor I will state a few problem we had. > > On Sunday, February 5, 2012 9:19:56 PM UTC+1, Artemy Makarov wrote: > 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? > > Between the 2.x series and ICS there is like 2 years of development many, if > not all, existing internal interfaces where changed. > > The code size of Android is huge and during development files are moved > around (sometimes to different repositories). So updating the platform > results in HUGE diffs and those are not easily processed by human. > > Understanding the Android repo tool and the 160+ git repositories with all > branches is a complex task. It is not easy to rely on those to perform > upgrades. > My experience is that the Android internals are so undocumented that is takes > vendors very long to in the first place implement features. by the time an > update comes (with improved API's) they need to redo their work. > > Overall in my experience just creating a rootfs that boots is not that hard. > it is the rest of the stuff / changes made by vendors that are hard to port. > > changes I encountered: > > * vold changes (e.g. support for mounting multiple devices) > * changes to the init system (e.g. proper dynamic device creation. that > previously required hacks) > * changes to the build system (using different compiler , and TAGS) > * changes to the input system (from Java to native) > > But generally. new releases come with a lot of good stuff and the amount of > work needed to rebase the changes is big. > > 3) Why can't we just replace apps from in older build with never versions and > get working system? > > Some changes implemented in Android during that development time has effect > on different packages. just upgrading a single component > usually does not work. At best it breaks CTS compatibility. > > 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. > > > While playing on a TI base platform you encounter stuff like the need to > upgrade the 3d drivers. those are the typical show stoppers. > > > > -- > unsubscribe: [email protected] > website: http://groups.google.com/group/android-porting -- unsubscribe: [email protected] website: http://groups.google.com/group/android-porting
