I am familiar with this android architecture model:
But when I browse android repository at google git I just can't figure out exactly what files should exist in which folder. What exactly is the folder structure of the android git? Also another question, Is there any specific reason why 'Core Libraries' shown in picture inside 'ANDROID RUNTIME' block sits below 'APPLICATION FRAMEWORK' block? Keeping in mind how apps interact with 'Core Libraries' they should sit beside 'APPLICATION FRAMEWORK' block not below it.
I think here is the starting point to dig out the AOSP
abi: Minimal C++ Run-Time Type Information support
bionic: Android’s custom C library
bootable: OTA, recovery mechanism and reference bootloader
build: Build system
cts: Comptability Test Suite
dalvik: Dalvik VM
development: Development tools
device: Device-specific files and components
docs: Content of http://source.android.com
external: External projects imported into the AOSP
frameworks: Core components such as system services
hardware: HAL and hardware support libraries
libcore: Apache Harmony
libnativehelper: Helper functions for use with JNI
ndk: Native Development Kit
packages: Stock Android apps, providers
pdk: Platform Development Kit
prebuilt: Prebuilt binaries, including toolchains
prebuilts: Replacement for prebuilt
sdk: Software Development Kit
system: “Embedded Linux” platform that houses Android
tools: Various IDE tools
I hope it will be helpful for you reference