Some of the "turn" Android low-level development

Source: Internet
Author: User

I did 3 years of Android SDK Development, I feel that the bottle can not go further, so spent more than a year time, probably touch the way. Based on the experience of predecessors, the Android low-level full entry takes two years.

Let me start with my introductory process:
0th step, download the source code, I under the 4.2, the framework layer source code 10G, the core 2G more, ctags to the framework layer of the label files have 600M, at that time let me a little shock, with the vim+ctags+cscope to read, still good, the structure is very clear.

The first step, I found a good book "Android design and implementation of the first volume" it said Android Framework layer start, initialize, service framework initialization, Binder, message loop, Packagemanagerservice, Activitymanagerservice. According to the author, the second volume of the UI subsystem will be shown later, and wait and see. In fact, this book read dozens of pages I found that need a second step of knowledge, otherwise can not see, so jump to the second step.

The second step, learning Linux system programming, when looking at "Android design and implementation" When I found that the native part of the framework layer, all Linux programming. In order to grasp this part of the knowledge, I spent 4 months to learn the "Linux system Programming Manual" (TLPI) This 1000-page book, I used to do Windows file system this piece, so C language is relatively familiar, TLPI exercise is very interesting, the volume is relatively large, adhere to or harvest a lot.

The third step, spent 4 months to learn some knowledge of the Linux kernel, looked at Lkd,plka more than half. The more learn the less the end, feel do not know more and more, but this also normal, only by slowly grinding, estimated to continue to grind this piece.

Fourth step, look back to the Android source code, this time read the "Android design and implementation of the first volume", finally to the framework layer has a spectrum. At the same time really several times I see dizzy, the front view of the Linux kernel source is not so faint, constantly in the Java layer and native layer between the jump a bit of brain. I also feel that the foundation of Java is not too strong, go back to one months of "Core Java" version eighth. But this book does not involve the UI subsystem, and then read the "Android Kernel anatomy"

Fifth step, "Android Kernel Anatomy" (this book is actually talking about the framework layer, the author is also a embedded, so he wrote the framework layer when the writing is not very good, very wordy, but there are many things to read, he later wrote Rom, play the Development board when it is estimated that he said the bank, All of a sudden walk up to see still quite have level, this book knowledge a bit old after all say is 2.3 A lot of code is outdated, but the author many ideas is valuable for reference) This book tells the UI subsystem and key/Touch message processing system is still very heavy, especially 13 Chapter view drawing there, Combined with the source of research is very rewarding. And later he said that the compiler framework and ROM related things are very valuable information.

The sixth step, in order to make up for other subsystems such as power management module knowledge, "in-depth understanding of the Android" series, the individual think this series looks a bit uncomfortable, but as a supplement to confirm or more valuable.

Seventh step, "Android system source code Scenario analysis", Luo Shenyang Source Analysis, more detailed analysis than "Android design and implementation", but the disadvantage is that there are fewer modules, the source of the choice than "Android design and implementation" older. After reading the book need to study the author's blog, a lot of things, will make you satisfied.

Eighth step, buy a development board to play on its own. This step I have not come, the reason is that I think I also almost prepare knowledge. It may take a few more months to get into block 6410 or Raspberry Pi.

Finally, because I was engaged in Windows this piece before 11, so the knowledge of Linux is not very understanding, have to read all these books, if it is a person who has been doing Linux, many steps can be omitted. Directly on the source code is the right path.

I do the mobile GIS development work, the framework layer is all because of interest, but the recruitment platform Android Framework layer developers are quite competitive with a lot of custom ROM, smart TV work is in the talent difficult state, after all, there is a certain threshold, now a variety of iOS training, Let the money to do the development of the influx of people, and iOS can only do the shortcomings of SDK development exposed, a bunch of novice veteran, rookie Daniel all squeezed in the SDK development this piece, I think not very good. On Android side, although beginners do not engage in iOS to money, but the sustainability is very good, from the sdk-"framework" drive "the core to do this." Do it and find yourself becoming a Linux developer/embedded developer also a lot of people, new, veteran, rookie Daniel each place, the level is very good.

Some of the "turn" Android low-level development

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.