Android Source Code Description

Revision as of 14:56, 25 October 2012 by Nanikjava (Talk | contribs) (Created page with "'''Repo tag version - android-4.0.3_r1''' 1. abi (a)'''cpp''' :::The content of this directory is not clear what it is about as it contains several C++ files. 2. bionic ::Bioni...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Repo tag version - android-4.0.3_r1

1. abi (a)cpp

The content of this directory is not clear what it is about as it contains several C++ files.

2. bionic

Bionic is mainly a port of the BSD C library to our Linux kernel with the following additions/changes:
- no support for locales
- no support for wide chars (i.e. multi-byte characters)
- its own smallish implementation of pthreads based on Linux futexes
- support for x86, ARM and ARM thumb CPU instruction sets and kernel interfaces
  • libc
This directory contains the different architecture that is supported to use bionic, namely - ARM (under the arch-arm/) and x86 (under the arch-x86/ directory). In order to understand in detail on how to add functions or port it to different architecture you want to read the file OVERVIEW.TXT under the docs/ folder
  • libdl
This directory what looks like a ‘stub’ program that are being used during linking process. The main function of the program is to open a library and read the symbol. The file that contains the main functionality is dlfcn.c under the /bionic/linker/ directory
  • libm
Contains Math library. Several architecture are supported inside this directory.
  • libstdc++
  • libthread_db
  • linker
This directory contains utility that is used during linking process. The tool is called Android Dynamic Linker what is does is it assign fix addresses to the library to reduce the size of the library and also increases the loading speed. .

3. bootable

  • legacy/bootloader
This directory contains a sample bootloader for a fictional SoC. The sample code is to show on how to implement a bootloader for a particular SoC. The directory contains a file called fastboot_protocol.txt which outlines the Fastboot protocol implemented by vendor. There is a good detail explanation about the code in the README file
  • diskinstaller
There is no README file or any such file inside this directory that give some information about the content. Looking at the source code it seems to be code written to write image files into partition, not sure for what kind of devices.