The Android system is divided into six parts according to the architecture. Therefore, we recommend suitable books for each part based on our own feelings.
1. Android Application Android developer document, Pro Android, professional Android Application Development, Google Android SDK development example, http://dev.apkbus.com/#google Io Android documents
2. Android Application Framework
In-depth understanding of Android volume I and Android technology insider
3. Dalvik Virtual Machine
Inside JVM and Google Dalvik documents
4. JNI & Native Libraries
Few materials. Check the source code.
5. Core Libraries
See the source code for less information.
6. Linux Kernel & driver deep Linux kernel architecture, Linux device driver development, Linux kernel development,
The language mainly involves the following three types:
Java: the Java programming language, core Java, Java sleep, Java threads, and Java programming ideas
C ++: The C ++ programming language, C ++ primer, and C ++ programming ideas
C: pointer and C, CProgramDesign and C primer plus
In short, the best way for open-source software to learn source code is to become familiar with the entire framework and functions of various parts.
The source code is constantly updated, the design is being modified, and books are outdated. However, the source code is often tracked and the latest functions are available at any time.
PS: I have not covered the game development field. Therefore, the recommended books in the above sections mainly involve reference books and materials for non-game development. Thank you.