«

»

Apr 01 2011

Challenges of Porting Android: Hardware-Software Integration

clip_image002

Along with the growing of technology, consumers are expecting to get multi-tasking mobile phones with wireless Internet and multimedia entertainment applications even more. According to numbers from research firm Canalys for the fourth quarter of 2010, Android owned 32.9% of the worldwide smartphone market compared with iOS, which held 16% of the market. Google’s Android operating system has been phenomenal to be compatible with Apple iPhone currently because its growth rate of the market share and the unit sales are going up rapidly.

Worldwide smart phone market – Market shares Q4 2010, Q4 2009
highlight google&apple
Source: Canalys estimates, 2011


Due to the fact that Android is an open-source software stack for mobile devices, free spaces of innovations are welcome to any industry player. However, its flexibility and limitlessness not only could build up the market share, but also could bring many possible risks, such as hardware/software integration.

Basically, there are five major components of the Android operating system, and the architecture of the software stack is designed to develop a unique software platform and its system. The five layers from bottom to top are Linux Kernel, Android Runtime, Library, Application Framework and Application.

1297839879_744e573e
* Android Structure by Google

Five Techniques of Android System Integration
To all manufacturers, the biggest challenge is to make its own products compatible with Android system individually. In addition, the compatibility between each technique and application is also extremely important. With years of product test experience, Allion has summarized five techniques of Android system integration here below:

1297839934_bd4adc1

SoC Optimization
The difficulty of developing an Android device is to combine its operating system with System-on-a-chip and any other new techniques and to ensure it works perfectly with each other. SoC is involved in many rendering engines, such as open-source software Dalvik Virtual Machine and WebKit. At this time, some common features can be implemented into integrated SoC platform in advance, such as Bluetooth and Internet; this process would reduce product integration time. However, what to remain and change depends on each vendor’s need and its product features.

Linux Driver Porting
A plenty of drivers with different functions are needed to be implemented into Android steadily; those drivers could be different from component manufacturers, such as USB, PCI and Network drivers.

New Technology Adoption
Many new specification techniques are more widely used in mobile phone devices. For instance, NFC (Near Field Communication), which is supported by Android 2.3, is a set of short-range wireless technologies. Every programming language has to be implemented into Android in order to make any new technique work.

Low Power Consumption
Battery duration is always the top concern to consumers because a longer battery life makes life more convenient. The most important feature for developing a portable device is its battery life and the quality of battery, so users can connect to the Internet, watch videos and download music longer and quicker.

Higher performance
Even if all new techniques keep coming up, we still can’t ignore the original performance on device but be more cautious in facing with unexpected conditions, such as maintain programming speed and deal with system overload under Android multi-tasking operating system.

1297839930_286f316c

We have collected the table here above to show common issue and possible root cause objectively; every detail in product development process cannot be ignored. As a third party test lab, we expect this information would be a useful reference. Product compatibility and validation tests are essential to find out problems and solve it in an early developing stage. We will keep providing the test-related reports shortly, please keep an eye on our Technical Direct.