Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.Features

Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE

Android Architecture

The following diagram shows the major components of the Android operating system. Each section is described in more detail below.Applications

Android will ship with a set of core applications including an email client, SMS program, calendar, maps, browser, contacts, and others. All applications are written using the Java programming language.Application Framework

By providing an open development platform, Android offers developers the ability to build extremely rich and innovative applications. Developers are free to take advantage of the device hardware, access location information, run background services, set alarms, add notifications to the status bar, and much, much more.
Developers have full access to the same framework APIs used by the core applications. The application architecture is designed to simplify the reuse of components; any application can publish its capabilities and any other application may then make use of those capabilities (subject to security constraints enforced by the framework). This same mechanism allows components to be replaced by the user.
Underlying all applications is a set of services and systems, including:

A rich and extensible set of Views that can be used to build an application, including lists, grids, text boxes, buttons, and even an embeddable web browser

Content Providers that enable applications to access data from other applications (such as Contacts), or to share their own data

A Resource Manager, providing access to non-code resources such as localized strings, graphics, and layout files

An Activity Manager that manages the lifecycle of applications and provides a common navigation backstack

For more details and a walkthrough of an application, see the Notepad Tutorial.Libraries

Android includes a set of C/C++ libraries used by various components of the Android system. These capabilities are exposed to developers through the Android application framework. Some of the core libraries are listed below:

System C library - a BSD-derived implementation of the standard C system library (libc), tuned for embedded Linux-based devices

Media Libraries - based on PacketVideo's OpenCORE; the libraries support playback and recording of many popular audio and video formats, as well as static image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG

SQLite - a powerful and lightweight relational database engine available to all applications

Android Runtime

Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language.
Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included "dx" tool.
The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level memory management.Linux Kernel

Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model. The kernel also acts as an abstraction layer between the hardware and the rest of the software stack.

Changelog:changelog 02.08.2012:
- bug fix to bln, to prevent kernel panic in some situations (thx to thalamus)
- switched from deep_idle 2 to idle2 (also thx to thalamus)
- updated kernel to linux 3.0.38
- dockaudio sysfs for captivate and fascinate
- automated symlinking from data to system: if one wants to free up some space at /system, without removing an app completely, just copy it from /system/app to /data/sys-parts/app (create the folder if not there), and reboot. during reboot, the app from system gets deleted, and the app from /data/sys-parts/app gets symlinked to system. this is working for almost every app, but i don't recommend doing this with apps, needed for android to work (framework, media provider, settings,...)

IDLE2 can be enabled with the following command:
echo 0 > /sys/module/cpuidle/parameters/idle2_disabled
IDLE2 can be disabled with the following command:
echo 1 > /sys/module/cpuidle/parameters/idle2_disabled
Stats can be obtained from the standard cpuidle interface, which, for
IDLE2 is located at:
/sys/devices/system/cpu/cpu0/cpuidle/state*/time
where * = 1, 2, 3
[FONT=&quot]07/08/2012 12:59 120 Devil3_1.1.3_JellyBean_i9000_CFS_BLN_CMC_20120807.sha256sum

IDLE2 can be enabled with the following command:
echo 0 > /sys/module/cpuidle/parameters/idle2_disabled
IDLE2 can be disabled with the following command:
echo 1 > /sys/module/cpuidle/parameters/idle2_disabled
Stats can be obtained from the standard cpuidle interface, which, for
IDLE2 is located at:
/sys/devices/system/cpu/cpu0/cpuidle/state*/time
where * = 1, 2, 3 ​

############# most probably not working (yet)##############
i have added seperate gpu oc from jt1134's galaxy_tab (to switch between 200 and 250 mhz), but i did not get any improvements in antutu...further tests needed
echo 1 > /sys/kernel/pvr_oc/pvr_oc (for 250 mhz)
echo 0 > /sys/kernel/pvr_oc/pvr_oc (for 200 mhz), no reboot needed

changelog 24.05.2012:
- Smooth_ui included to ondemand, conservative, smartass, lulzactive, lagfree and lazy governor (only one setting for activating/deactivating it in general)
- 3 cpu governor presets (smooth, normal, powersave) for ondemand, conservative, smartass, lulzactive, lagfree (only one setting for switching the mode in general)
- no need for activating/deactivating of selective live_oc anymore --> just change target low and target high
- BLX back in
- fixes to devil idle to be more stable while in call
- 1,5 mb more ram (thanks to mialwe)
- added aroma filemanager to cwm recovery
- added fully working TWRP recovery optional to cwm recovery (to use TWRP, just create a file named "twrp" at /cache)
- added option to select ram config in kernel --> no need for flashing an other kernel to get more ram (thanks to stratosk)

to make this settings apply after reboot, select them from recovery --> devil --> misc

- fixed voodoo color kernels (these have the VC in their names)
Changelog:05.04.2012:
- fixed bug in selective live_oc, which caused the target high not taking affect to the highest freq, if highest freq equals target high
- fixed another bug in selective live_oc, which could lead to gpu crashes due to overclocking the ram, but not the cpu freq (for low steps)
- added a switch to change between "normal" and selective live_oc
(can be changend in recovery, devil menu --> performace --> liveoc,
or by (this won't stay after reboot):

while flashing the kernel, the modded rom files are also flashed, so you don't need to flash a new rom to get 379 or 390 mb

added new frequency: 1080 mhz (1100 does not like live_oc)

fixed SmartassV2 for live_oc (after changing live_oc value, you have to change the smartass values, too, but then they automatically apply to the live_oc value (although you can also select 800 mhz in nstools (for example)

also implemented touch recovery with custom devil menu (for some reason it takes a few seconds to load the first time)

- phone is only showing 1 GHz - it doesn't downclock, gets hot and reboots on its own: stupid phone issue [seemingly not everyone has this - currently under investigation]:
1) flash the kernel & modules through cwm
2) flash the kernel [boot.img] only a 2nd time through heimdall (does Odin also work ?)
via heimdall flash --kernel boot.img
after that it should work

- with which ICS ROMs is this compatible with ? according to feedback it works, make sure that you upgraded from samsung stock to onecosmic and not from teamhacksung build to onecosmic's ICS port - otherwise camera and other stuff might not work

- feel like wiping /cache partition or have trouble with some apps ? wiping of /cache & dalvik cache has been disabled due to potential association of data loss (contacts, apps, system state, etc.) - so do it manually from recovery

- where is superuser / root gone ? this is an issue for some ROMs - currently under investigation what causes this [need feedback]
- deep idle not working - same/similar battery life like on stock ? deep idle needs to be enabled via nstools from android market - please install

quasimodoThreadstarterGast

Note : These kernels are only compatible with CyanogenMod 9 based roms.
Use them on any other rom at your own risks.

​

These kernels are provided as-is without warranty. I'm not responsible for any problem you can encounter with your phone or if your cat suddenly dies. Although, don't expect support even if I will eventually help since I love cats.​

- Voice audio through dock, thanks to xcaliburinhand (should fix related issues with Glitch volume boost hack)
- Renamed SmartassV2 governor to "GlitchassV2" to prevent latest NSTools version hanging
- Added FranciscoFranco Conservative governor tweaks for more speed
- Added a DIDLE enabler into screensate scaling script to kill BT in sleep and make DIDLE work with both TOP=ON and TOP=OFF. You'll need to enable screenstate scaling in Glitch menu from recovery in order to get DIDLE to use this (disabled by default). It's mostly for testing purposes - Feel free to report your experience with it.
- Moved back to previous sysinit to prevent the DIDLE enabler script to make the phone hanging on the bootlogo. Also fixes screenstate scaling making the phone unbootable, and some SOD/COD issues for guys using some other tweaking scripts
- Implemented BLN9 port from Derteufel with NSTools compatible sysfs. This way all the unsupported roms will get led notifications, and CMLed haters will hopefully stop to yell..
- The flash-time script has been updated to be able to clean more stuff
- A few fixes on the wifi driver to work better with our devices Please report your experience with DIDLE enabled. It may be required to disable DIDLE on some phones to prevent SOD/COD/softreboots or other instabilities. Also MAKE SURE YOU HAVE A DAMN GB BOOTLOADER !
- Reverted modemctl changes from Teamhacksung - should fix data issues some are having
21/02/2012 - BETA 4.1 :

- Now using linux 3.0.8 base from the Nexus S drop
- Upstream synced to the latest from THS (TVout, cleanup, 3.0 port..)
- Reverted to stock CM LED Notifications (fixing all the previous problems some users encountered with BLN) / No more BLN app needed, enabled by default.
- Removed Voodoo Color, and back to stock implementation.
- Added support for a new low power mode on wifi chipset, enhancing signal reception and stability, at the cost of a bit higher power consumption.
- Back to NEON mfpu for now
- Full support for init.d scripts
- Readahead value back to 1024 for better results (SDcard read Cache)
- Fixed headset buttons
- Fixed randomly freezing softkeys
- Big cleanup and rewrite of some stuff
- Removed the 200MHz lock when the GPU is active for battery life. Depending on your launcher and/or widgets, you'll get some slowdowns. Change min freq to 200 to fix it.

Major additions, ported from Ezekeel's work on the Nexus S (thanks Morfic !) :

- Added "LiveOC" system, giving access to GPU/bus overclocking on the fly, per 1% step.
- Added "Custom Voltage" control, giving access to ARM and Internal voltage undervoling and overvolting. (This makes the previous leakage system obsolete, which is now removed.)
- Added "Battery life eXtender" mod, allowing the user to limit the maximum charge percentage to preserve the battery life (not the battery runtime obviously)
- Added support for DIDLE V2, a very low power mode that will help battery life in many idle/semi-idle cases.
- Lazy governor sysfs, to enable or disable the frequency ramping up when screen is off (to end tasks quicker to sleep faster).

A guide will come soon to explain the new awesome OC system and its possibilities.

quasimodoThreadstarterGast

Here we are with our new child which is a ICS kernel for Galaxy S (GT-I9000)

We decided to support Onecosmic ROM as for now it is rock stable and well made and configured one. In our opinion best for now for daily use. If you dare, test this kernel on other ICS ROM's but no warranty and support from us in this case.

Alpha Build 51 -------- - Fixed updater script - Default speed is set to 1.2Ghz (default to CPU in Galaxy S) - Two new Governors added MinMax and Lazy (ported from Galaxy Nexus, not visible for user as they are hiding under other governors names. its google trick) - Default governor set to MinMax (which should be best solution when u need speed and battery life) - Cm Color included (find app attached to this post) - Acpi fixes - Voodoo sound included Quote:Problem solutions!

- Menu key not working after flashing - Reboot phone and try again, if still not working please post PM to me.

- Force closes after flashing new kernel - Do a factory reset and clear caches.

- Bootloop after flashing - You probably went from GB rom, do a factory reset, clear caches and flash again.

Warrning!: if previous kernel was not from Onecosmic line, then expect issues! (try to do backup before using this kernel on different rom than base onecosmic Rc1), if you got issues, do backup, clean dalvik cache, if this not helps, then do full reset. Roms/kernels are incompatible with each other somehow messing settings.

- phone is only showing 1 GHz - it doesn't downclock, gets hot and reboots on its own: stupid phone issue [seemingly not everyone has this - currently under investigation]:
1) flash the kernel & modules through cwm
2) flash the kernel [boot.img] only a 2nd time through heimdall (does Odin also work ?)
via heimdall flash --kernel boot.img
after that it should work

- with which ICS ROMs is this compatible with ? according to feedback it works, make sure that you upgraded from samsung stock to onecosmic and not from teamhacksung build to onecosmic's ICS port - otherwise camera and other stuff might not work

- feel like wiping /cache partition or have trouble with some apps ? wiping of /cache & dalvik cache has been disabled due to potential association of data loss (contacts, apps, system state, etc.) - so do it manually from recovery

- where is superuser / root gone ? this is an issue for some ROMs - currently under investigation what causes this [need feedback]

General features:
Build using the July Linaro toolchain
O3 optimization
Updated to linux kernel version 3.0.39
Mackay kernel bootsplash
Based on a single initramfs & using bootloop detection to prevent bootloops
Mackay recovery (based on CWM recovery v6.0.1.1)