This book spends too much pages on entry-level materials. Many of them are just copied from the official documentation. If you have never visited the official site (or perhaps you are not aware of them so), the book may surprise you. For people like me, who read the official documentations every day, may find that this book is not as useful as expected.
If there would be a second edition, I wish the author could write more original material! My another suggestion is adding more figures / diagrams / graphs / etc, which the book is lack of. It would be better if the readers could understand the idea with the help of figures, instead of going through long pages of source code!
For reader who decide to buy the Kindle edition: Well, there are some formatting issues (as usual for Kindle books). However, the quality is still not bad. One suggestion I would like to give you is to pay extra attention to the UNIX commands! If you are not familiar with command line, you'd better seek help from another guy before you try the commands, because what you see in your Kindle may not be what the author intended to write. For example, the "appending redirection operator" should be ">>", but it looks like "> >" in the Kindle version, which may be mistakenly treated as a "truncating redirection operator" by your computer (That means your original file will be gone if you run it!)
Here are my reviews for each chapter:
Chapter 1 is a step-by-step installation guide of the NDK environment. Entry-level material.
Chapter 2 is a step-by-step guide on starting an SDK project with NDK support in Eclipse. Entry-level material.
Chapter 3 should be renamed to "JNI for dummies", and most of the material could be found at Oracle's (formerly Sun Microsystems) official JNI tutorial.
Chapter 4 is a tutorial on using SWIG to generate Java -> C and C -> Java JNI code. Since SWIG is new to me, I found it fruitful reading this chapter.
Chapter 5 is on logging and debugging. I grade it above average since some features mentioned in the book is probably unknown to even experienced programmers. Another reason is that I finally found the first figure in the book here (Figure 5-3, which is a sequence diagram)!
Chapter 6 could be treated as a C / POSIX beginner tutorial. Entry-level material.
Chapter 7 explains Java threads and POSIX threads and their interactions. A pretty good chapter.
Chapters 8 - 10: Honestly, I only skim these chapters. I lost my appetite because the author is just printing all the source code out, without any figures to help explanation, and without highlighting any important part of the source code in bold.
Chapter 11: A short chapter on C++ support, including some Android-specific information and some entry-level C++ introduction. Too short to grade fairly.
Chapters 12 - 14: Boring long pages of source code again! I should mention that I found the second (and the last) figure (Figure 14-1) in the book here, which is a memory structure diagram. Chapter 14 mentions NEON optimization, which is worth reading.