Difference between revisions of "Book Review: Learning Android by Marko Gargenta (O'Reilly Book)"

From Ittichai Chammavanijakul's Wiki
Jump to navigation Jump to search
Line 8: Line 8:
 
** Application framework (Activity Manager, Content providers, Notification manager, etc.
 
** Application framework (Activity Manager, Content providers, Notification manager, etc.
 
** Applications (Home, Contacts, Phone, Browser, etc.)
 
** Applications (Home, Contacts, Phone, Browser, etc.)
* GNU libc, the default C library for Linux, is licensed under GPL license, which requires any changes we release to be pushed back to the open source community. On the other hand, some components are licensed under an Apache/MIT license, which does not require derivative works to be open sources.
+
* GNU libc, the default C library for Linux which Android is using, is licensed under GPL license, which requires any changes we release to be pushed back to the open source community. On the other hand, Android and some third-party open source libraries are licensed under an Apache/MIT license, which does not require derivative works to be open-sourced.
 +
* Dalvik is a purpose-built virtual machine designed specifically for Android, developed by Dan Bornstein and his team at Google.
 +
* While Java language, Java tools and Java libraries are free, the Java VM is not. Dalvik VM in Android is to replace the Java VM.
 +
* Java source code => (Java compiler) => Java byte code (running on Java VM).
 +
* Java source code => (Java compiler) => Java byte code => (Dex compiler) => Dalvik byte code => Dalvik executable (running on Dalvik VM).

Revision as of 12:24, 18 April 2011

Chapter 1: Android Overview

Chapter 2: The Stack

  • Android stacks
    • Linux kernel (display, camera, keypad, etc.)
    • Native libraries (Android runtime (CoreLibs, Delvik VM), OpenGL, SSL, SQLite, Webkit, etc.)
    • Application framework (Activity Manager, Content providers, Notification manager, etc.
    • Applications (Home, Contacts, Phone, Browser, etc.)
  • GNU libc, the default C library for Linux which Android is using, is licensed under GPL license, which requires any changes we release to be pushed back to the open source community. On the other hand, Android and some third-party open source libraries are licensed under an Apache/MIT license, which does not require derivative works to be open-sourced.
  • Dalvik is a purpose-built virtual machine designed specifically for Android, developed by Dan Bornstein and his team at Google.
  • While Java language, Java tools and Java libraries are free, the Java VM is not. Dalvik VM in Android is to replace the Java VM.
  • Java source code => (Java compiler) => Java byte code (running on Java VM).
  • Java source code => (Java compiler) => Java byte code => (Dex compiler) => Dalvik byte code => Dalvik executable (running on Dalvik VM).