Android internals     Egor Elizarov     SPbSU 2012
Legal info   Android internals by Egor Elizarov is licensed under a    Creative Commons Attribution-NonCommercial-ShareAl...
Lecture 2                     High level Android architecture.                     Android control version system.        ...
Previous time    OS functions    Mobile OS features    Perepherial devices                                          Sou...
Android history    2004 - Android Inc. by Andy Rubin    2005 - Android Inc. acquisition    2007 - Open Handset Alliance...
Some acronyms    Android Open Source Project (AOSP)    Android Software Development Kit (SDK)    Native Development Kit...
Android versions    Cupcake (1.5)                                                                       Gingerbread (2.3...
High level architecture         Android Open Source Project (AOSP)       Android Software Development Kit (SDK)           ...
High level architecture (2)          Android Open Source Project (AOSP)        Android Software Development Kit (SDK)     ...
Android OS development          10         Egor Elizarov SPbSU 2012
Android OS bring up         11           Egor Elizarov SPbSU 2012
Code licenses    GNU GPLv2 (kernel)    LGPL & GPL (external libraries)    BSD (bionic, toolbox)    Apache 2.0 license ...
Android compatibility    Google apps only on branded devices    Google logo only on branded devices    Compatibility Te...
Android version control              system    Based on repo & git    ~ 220 git trees    Repo provides functionality to...
Git workflow     15        Egor Elizarov SPbSU 2012
Git workflow (2)    git clone    git branch -a    git checkout -b local_branch remote_branch    Make changes    git a...
Manifest file                                                                                          Project - single p...
Repo workflow    repo init -u URL -m Manifest.xml -b Branch    repo sync    repo start --all local_branch    Make chan...
Patch life    Create patch    Send for review (repo upload)    Recieve review & approve in Gerrit    Patch will be aut...
Repo tricks    repo forall -c env    repo manifest -r -o descriptive-name.xml                           20              ...
Android code lines   Source: http://source.android.com/source/code-lines.html                           21                ...
Getting ICS AOSP code    curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo >    ~/bin/repo    chmod a+x ~/bin...
Code layout    Frameworks — frameworks    code    Build — build system files    External — external projects    and lib...
Next time    Android build system    Android Emulator                           24   Egor Elizarov SPbSU 2012
Useful links    http://vk.com/android_internals    http://www.openhandsetalliance.com    http://source.android.com/comp...
Thanks to    Sergey Matyukevich for review and advices    (www.linkedin.com/pub/sergey-    matyukevich/31/889/769)    Ni...
Upcoming SlideShare
Loading in...5
×

Android internals 02 - High-level architecture, version control system (rev_1.1)

3,154

Published on

Course: Android Internals
Lecture 2: High-level architecture, version control system

Published in: Education, Technology
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,154
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
313
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

Android internals 02 - High-level architecture, version control system (rev_1.1)

  1. 1. Android internals Egor Elizarov SPbSU 2012
  2. 2. Legal info Android internals by Egor Elizarov is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License You are free to – copy, distribute, display, and perform the work – make derivative works Under the following conditions – Attribution. You must give the original author credit – Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under a license identical to this one All pictures and trademarks are the property of their respective owners. Use of these trademarks and pictures is subject to owners permissions. Corrections, suggestions, contributions and translations are welcome! 2 Egor Elizarov SPbSU 2012
  3. 3. Lecture 2 High level Android architecture. Android control version system. yegor.yelizarov(at)gmail.comRev: 1.1Last update: 05/30/2012 http://vk.com/android_internals 3 Egor Elizarov SPbSU 2012
  4. 4. Previous time OS functions Mobile OS features Perepherial devices Source: beagleboard.org SoC, BSP, Single Board Computer, Eval. Board 4 Egor Elizarov SPbSU 2012
  5. 5. Android history 2004 - Android Inc. by Andy Rubin 2005 - Android Inc. acquisition 2007 - Open Handset Alliance September 2008 - Android 1.0 on HTC G1 February 2011 - Android 3.0 for tablets Source: http://en.wikipedia.org/wiki/Andy_Rubin October 2011 - Android 4.0 (merge phone and tablet versions) 5 Egor Elizarov SPbSU 2012
  6. 6. Some acronyms Android Open Source Project (AOSP) Android Software Development Kit (SDK) Native Development Kit (NDK) API Level (current 15) 6 Egor Elizarov SPbSU 2012
  7. 7. Android versions Cupcake (1.5)  Gingerbread (2.3) Donut (1.6)  Honeycomb (3.0-3.2) Android Open Source Project (AOSP) Android Software Development Kit (SDK) Native Development Kit (NDK) Eclair (2.0 - 2.1)  Ice cream sandwich (4.0) FroYo (2.2)  Jelly Bean (5.0) ? 7 Egor Elizarov SPbSU 2012
  8. 8. High level architecture Android Open Source Project (AOSP) Android Software Development Kit (SDK) Native Development Kit (NDK) 8 Egor Elizarov SPbSU 2012
  9. 9. High level architecture (2) Android Open Source Project (AOSP) Android Software Development Kit (SDK) Native Development Kit (NDK) Source: developer.android.com 9 Egor Elizarov SPbSU 2012
  10. 10. Android OS development 10 Egor Elizarov SPbSU 2012
  11. 11. Android OS bring up 11 Egor Elizarov SPbSU 2012
  12. 12. Code licenses GNU GPLv2 (kernel) LGPL & GPL (external libraries) BSD (bionic, toolbox) Apache 2.0 license (framework) 12 Egor Elizarov SPbSU 2012
  13. 13. Android compatibility Google apps only on branded devices Google logo only on branded devices Compatibility Test Suite Compatibility Definition Document 13 Egor Elizarov SPbSU 2012
  14. 14. Android version control system Based on repo & git ~ 220 git trees Repo provides functionality to work with multiple git trees Gerrit code review system 14 Egor Elizarov SPbSU 2012
  15. 15. Git workflow 15 Egor Elizarov SPbSU 2012
  16. 16. Git workflow (2) git clone git branch -a git checkout -b local_branch remote_branch Make changes git add list_of_files git commit git push 16 Egor Elizarov SPbSU 2012
  17. 17. Manifest file  Project - single project Remote - server description description Fetch - server URL  Path — directory to unpack Android Open Source Project (AOSP) Revisoin - git branch  Name — project name to Android Software Development Kit (SDK) Native Development Kit (NDK) obtain sources 17 Egor Elizarov SPbSU 2012
  18. 18. Repo workflow repo init -u URL -m Manifest.xml -b Branch repo sync repo start --all local_branch Make changes -> git add -> git commit repo upload 18 Egor Elizarov SPbSU 2012
  19. 19. Patch life Create patch Send for review (repo upload) Recieve review & approve in Gerrit Patch will be automatically uploaded by Gerrit after approve 19 Egor Elizarov SPbSU 2012
  20. 20. Repo tricks repo forall -c env repo manifest -r -o descriptive-name.xml 20 Egor Elizarov SPbSU 2012
  21. 21. Android code lines Source: http://source.android.com/source/code-lines.html 21 Egor Elizarov SPbSU 2012
  22. 22. Getting ICS AOSP code curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo chmod a+x ~/bin/repo mkdir AOSP cd AOSP repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.3_r1 repo sync 22 Egor Elizarov SPbSU 2012
  23. 23. Code layout Frameworks — frameworks code Build — build system files External — external projects and libraries Device — device specific build/runtime configuration System — ”Embedded linux” platform part 23 Egor Elizarov SPbSU 2012
  24. 24. Next time Android build system Android Emulator 24 Egor Elizarov SPbSU 2012
  25. 25. Useful links http://vk.com/android_internals http://www.openhandsetalliance.com http://source.android.com/compatibility/cts-intro.html http://source.android.com/source/overview.html http://source.android.com/source/using-repo.html K. Yaghmour. Embedded Android. Early Release, OReilly, October 2011 http://source.android.com/source/downloading.html http://source.android.com/source/code-lines.html http://code.google.com/p/gerrit/ 25 Egor Elizarov SPbSU 2012
  26. 26. Thanks to Sergey Matyukevich for review and advices (www.linkedin.com/pub/sergey- matyukevich/31/889/769) Nikolay F. Fominykh for review and advices 26 Egor Elizarov SPbSU 2012
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×