Documente Academic
Documente Profesional
Documente Cultură
ROM Development
By Rohan Mathur
About Me
Lead developer of a custom ROM known as
AOKP for the past 4 years
Over 11 million unique installations in its history
Lower Level
Working with Linux drivers, proprietary files, getting
them to play nice with newer Android releases
AOSP
Source is made up of multiple git projects
ex. platform_frameworks_base holds most of the
main Android framework code
Other Sources
Other non-Nexus devices are required by
GPL to have released kernel source code
(important for hardware compatibility)
Not always the case with smaller (and even bigger
*cough* HTC *cough* OEMS)
Source Organization
Main source tree
Consists of core system frameworks, core system
apps, and external libraries used by frameworks,
build, bionic, etc
Device tree
Kernel tree
Vendor tree
Downloading Source
Uses Google-made tool called repo to grab
correct projects/branches
Repository named the manifest tells where to
get all these different repos from and stores
it in an XML, and repo goes down the list
and downloads them
Enough talk!
repo init -u git://github.com /CyanogenM od/android.git -b cm -12.0
repo sync
Source Downloaded
Demonstrate source structure
Define Objective
Lets add a feature to CyanogenMod, eh?
Well even be nice and submit it to their code
review after so they can merge it!
@rohan32
rmathur2@illinois.edu