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
240
0
Share
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
580
Other Decks in Technology
See All in Technology
Pythonでベイズモデリング
soogie
0
150
"うちにはまだ早い"は本当? ─ 小さく始めるPlatform Engineering入門
harukasakihara
7
650
How to learn AWS Well-Architected with AWS BuilderCards: Security Edition
coosuke
PRO
0
190
AI Agent に“攻略本”を渡したら、150フォームの移行が回り始めた話/登壇資料(高橋 悟生)
hacobu
PRO
0
190
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.6k
サイボウズ、プラットフォームエンジニアリング始めるってよ ― プラットフォームチームの事業貢献と組織アラインメントの強化
ueokande
0
120
AIAgentと取り組むKaggle
508shuto
2
450
R&D 祭 2024 アニメエフェクト作成の効率化
olmdrd
PRO
0
100
インプロセスQAのための要因から捉えるプロジェクトリスクマネジメントnano #1 開発リソース効率状態への対処 #jasstnano
barus_qa
0
210
可視化から活用へ — Mesh化・Segmentation・アライメントの研究動向
gpuunite_official
0
230
TypeScriptで実現する既存APIを活用したリモートMCPサーバー構築 / TSKaigi 2026
soarteclab
0
150
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
100k
Featured
See All Featured
Evolving SEO for Evolving Search Engines
ryanjones
0
200
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
ラッコキーワード サービス紹介資料
rakko
1
3.3M
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
230
Being A Developer After 40
akosma
91
590k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
820
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
250
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
360
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
Speed Design
sergeychernyshev
33
1.7k
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]