Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introduction to Android System Development
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Jishnu Mohan
January 27, 2016
Technology
250
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Introduction to Android System Development
Basics for Android system development. And how to compile and contribute to CyanogenMod.
Jishnu Mohan
January 27, 2016
More Decks by Jishnu Mohan
See All by Jishnu Mohan
Droidcon India 2015 - Android & Indic Languages
jishnu7
3
450
AOSP and Mods
jishnu7
0
590
Other Decks in Technology
See All in Technology
Snowflakeと仲良くなる第一歩
coco_se
4
430
ルールやカスタム機能、どう活かす?ハンズオンで体感するIBM Bobの出力コントロール
muehara
1
130
Chainlitで作るお手軽チャットUI
ynt0485
0
200
2026TECHFRESH畢業分享會 - Lightning Talk - 打造精準高效的 MCP 設計模式與測試實務
line_developers_tw
PRO
0
860
手塩にかけりゃいいってもんじゃない
ming_ayami
0
470
Kubernetesにおける学習基盤とLLMOpsの概要
ry
1
250
Amazon Bedrock AgentCore ワークショップ JAWS UG TOHOKU / amazon-bedrock-agentcore-workshop-jawsug-tohoku-2026
gawa
9
730
RSA暗号を手計算したくなること、ありますよね?? (20260615_orestudy6_rsa)
thousanda
0
280
AAIFに入ってみた ~内から見えるコミュニティ動向~
sato4
0
170
「エンジニア進化論」2028年の開発完全自動化、エンジニアはどう進化するか
cyberagentdevelopers
PRO
6
4.6k
ACE-Step-1.5で見る 音楽生成AIのしくみと“破綻だけ直す”Retake機能の開発【zennfes spring 2026 登壇資料】
personabb
1
140
LLMにもCAP定理があるという話
harukasakihara
0
310
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Into the Great Unknown - MozCon
thekraken
41
2.6k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
250
Navigating Team Friction
lara
192
16k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Odyssey Design
rkendrick25
PRO
2
690
Designing for humans not robots
tammielis
254
26k
The Pragmatic Product Professional
lauravandoore
37
7.3k
Visualization
eitanlees
152
17k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
570
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
230
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
330
Transcript
Introduction to Android System Development app dev, foss contribution /
personal projects, programming languages
familiarizing android building android from source contributing to CyanogenMod Android
users, developers
git Github/gitlab, ssh key
android dictionary
bootloader recovery radio ROM rooting busybox gerrit booting in a
computer, rooted users
adb fastboot ndk repo Settingup sdk
$ adb devices $ adb shell $ adb logcat $
adb reboot bootloader $ fastboot boot recovery.img $ fastboot flash recovery recovery.img $ fastboot flashall -w
AOSP Nexus devices, Android One, Open Handset alliance
None
None
None
None
None
2009
None
alternatives Omni ROM Paranoid Android AOKP Free Xperia Project Replicant
OS
Getting Source Code Internet connection
GNU/Linux or Mac system 64 bit environment for 2.3 or
later Minimum 100GB free space Python 2.x, GNU Make JDK 7 (JDK 5 for froyo, 7 for Gingerbread to Kitkat) Minimum 8GB RAM
https://source.android.com/source/initializing.html
$ curl https://storage.googleapis.com/git-repo- downloads/repo > ~/bin/repo $ chmod a+x ~/bin/repo
$ mkdir android && cd android $ repo init -u
https://github.com/CyanogenMod/android.git // for a specific branch “-b cm-12.1” $ repo sync // -j 1 // default - 4
Compiling Internet connection
$ export USE_CCACHE=1 $ source build/envsetup.sh
$ breakfast <device> // lunch for aosp // aosp_arm-eng ARM
emulator → // full_mako-userdebug Nexus 4 → // user production → // user_debug preferred for debugging → // eng development config with additional debugging tools →
$ ./device/lge/mako/extract-files.sh // extract proprietary blobs $ brunch <device> //
same as breakfast <device> && mka bacon
$ adb reboot bootloader $ fastboot flashall -w // make
fastboot adb
$ mm $ mmm <path>
Contributing to CyanogenMod
http://review.cyanogenmod.org/ Viewing changes, creating account, review process
$ git config --global review.review.cyanogenmod.org.username "gerrit username" // or add
following to .gitconfig [review "review.cyanogenmod.com"] username = jishnu
$ repo start <branch name> <project path> $ cd path/to/project
// make your changes
$ git add <file> $ git commit
$ croot $ repo upload <project path> Ping core developers
* http://source.android.com/ * http://wiki.cyanogenmod.org/ * http://xda-university.com/ * http://docs.omnirom.org/
Thank You! Jishnu Mohan
[email protected]