Hardware abstraction in Android

Search This thread


Mar 15, 2009
I have some general questions about the differences and particularities of Android ROM programming:

1. AOSP is the device-independent source of all ROMs. Where exactly is the dividing line between the general device-independent code and the device-specific code, or, in other words: Which diretories are relevant when you want to fix hardware problems or port a ROM to another device?

2. How deep do you have to dig into the system in order to port a ROM? On the lowest level you have ARM assembly, on the intermediate level C/C++ and on the highest Java. Do you need much knowledge about Linux
kernel programming in order to port a ROM and make all hardware work properly?

3. Is it possible to trace a hardware-specific function call in the stock ROM and then paste the relevant code from the stock ROM into the custom ROM?

I'm asking because I would like to port a ROM, but I need some background information in order to assess my skills. Thanks for any help.
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone