Android on X86
An introduction to android optimization for Intel x86.
embedded android
Chapter 1, Introduction, covers the general things you should know about Android’s
use in embedded systems, such as where it comes from, how its development model
and licensing differ from conventional open source projects, and the type of hardware
required to run Android.
Chapter 2, Internals Primer, digs into Android’s internals and exposes you to the main
abstractions it comprises. We start by introducing the app development model that app
developers are accustomed to. Then we dig into the Android-specific kernel modifica‐
tions, how hardware support is added in Android, the Android native user-space, Dal‐
vik, the system server, and the overall system startup.
Chapter 3, AOSP Jump-Start, explains how to get the Android sources from Google,
how to compile them into a functional emulator image, and how to run that image and
shell into it. Using the emulator is an easy way to explore Android’s underpinnings
without requiring actual hardware.
Chapter 4, The Build System, provides a detailed explanation of Android’s build system.
Indeed, unlike most open source projects out there, Android’s build system is nonre‐
cursive. This chapter explains the architecture of Android’s build system, how it’s typ‐
ically used within the AOSP, and how to add your own modifications to the AOSP.
Chapter 5, Hardware Primer, introduces you to the types of hardware for which Android
is designed. This includes covering the System-on-Chips (SoCs) typically used with
Android, the memory layout of typical Android systems, the typical development setup
to use with Android, and a couple of evaluation boards you can easily use for prototyping
embedded Android systems.
Chapter 6, Native User-Space, covers the root filesystem layout, the adb tool, Android’s
command line, and its custom init.
Chapter 7, Android Framework, discusses how the Android Framework is kick-started,
the utilities and commands used to interact with it, and the support daemons required
for it to operate properly.
Appendix A, Legacy User-Space, explains how to get a legacy stack of “embedded Linux”
software to coexist with Android’s user-space.
xiv
| Preface
www.it-ebooks.infoAppendix B, Adding Support for New Hardware, shows you how to extend the Android
stack to add support for new hardware. This includes showing you how to add a new
system service and how to extend Android’s Hardware Abstraction Layer (HAL).
Appendix C, Customizing the Default Lists of Packages, provides you with pointers to
help you customize what’s included by default in AOSP-generated images.
Appendix D, Default init.rc Files, contains a commented set of the default init.rc files
used in version 2.3/Gingerbread and version 4.2/Jelly Bean.
Appendix E, Resources, lists a number of resources you may find useful, such as websites,
mailing lists, books, and events.
Learning Android, 2nd Edition
What’s Inside
Chapter 1, Android Overview
An introduction to Android and its history.
Chapter 2, Java Review
Offers a quick review of Java.
xi
www.it-ebooks.infoChapter 3, The Stack
An overview of the Android operating system and all its parts from a very high
level.
Chapter 4, Installing and Beginning Use of Android Tools
Helps you set up your environment for Android application development.
Chapter 5, Main Building Blocks
Explains the Android components application developers use to put together an
app.
Chapter 6, Yamba Project Overview
Explains the Yamba application that we’ll build together throughout this book and
use as an example to learn Android’s various features.
Chapter 7, Android User Interface
Explains how to build the user interface for your application.
Chapter 8, Fragments
Covers the Fragments API, which helps you separate screens within an application.
Chapter 9, Intents, Action Bar, and More
Covers some of the operating system features that make an application developer’s
life easier.
Chapter 10, Services
Covers building an Android service to process background tasks.
Chapter 11, Content Providers
Explains the Android framework’s support for the built-in SQLite database and how
to use it to persist the data in your own application.
Chapter 12, Lists and Adapters
Covers an important feature of Android that allows large datasets to be linked ef‐
ficiently to relatively small screens.
Chapter 13, Broadcast Receivers
Explains how to use the publish-subscribe mechanism in Android to respond to
various system and user-defined messages.
Chapter 14, App Widgets
Shows how to design a content provider to share data between applications, in this
case using it to enable our app widget to display data on the home screen.
Chapter 15, Networking and Web Overview
Covers networking.
xii
|
Preface
www.it-ebooks.infoChapter 16, Interaction and Animation: Live Wallpa
Pro Android C with the NDK
Android is one of the major players in mobile phone market, and continuously growing its market
share. It is the first complete, open, and free mobile platform that is enabling endless opportunities
for mobile application developers.
Althrough the official programming language for the Android platform is Java, the application
developers are not limited to using only the Java techonology.
Android allows application developers to implement parts of their application using native-code
languages such as C and C++ through the Android Native Development Kit (NDK). In this book, you
will learn how to use the Android NDK to implement performance-critical portions of your Android
applications using native-code languages.
Android C++ with the NDK provides a detailed overview of native application development, available
native APIs, the troubleshooting techniques, including the step by step instructions and screenshots
to help Android developers to quickly get up to speed on developing native application.
What You Will Learn
This book includes the following:
n n Installing the Android native development environment on major operating
systems.
n n Using the Eclipse IDE to develop native code.
n n Connecting native code to Java world using Java Native Interface (JNI).
n n Auto-generating the JNI code using SWIG.
n n Developing multithreaded native apps using the POSIX and Java threads.
n n Developing networking native apps using POSIX sockets.
n n Debug native code through logging, GDB, and Eclipse Debugger.
ANDROID NDK
OVERVIEW OF THE ANDROID
NATIVE DEVELOPMENT KIT
架构模式和重构好书合集
收集了架构师必读的参考书目,包括:
Addison.Wesley.Applying.Domain.Driven.Design.and.Patterns.With.Examples.in.C.Sharp.and.dot.NET.May.2006.chm
Addison.Wesley.Domain.Driven.Design.Tackling.Complexity.In.The.Heart.Of.Software.eBook-LiB.chm
Addison_Wesley_-_Patterns_Of_Enterprise_Application_Architecture.chm
Refactoring - Improving the Design of Existing Code (2002, Addison Wesley).pdf
Refactoring to Patterns.chm
面向对象的思维过程 第二版
这本书内容比较简练,在众多的面向对象的书籍中,它更注重思维方法。
Git from the bottom up
Git是一个很不错的分布式配置管理工具,这片文正从头讲起,让你知道Git的原理。
Linux kernel Architecture+Understanding Linux kernel
关于内核和系统编程的书,相互不充,对了解liunx内核有帮助;在Linux Device Driver之前读它会更容易理解