Android NDK Beginner's Guide (英文PDF)
关于安卓NDK开发的资源网上并不算丰富,估计大多数人还是喜欢在Java里面解决所有问题。但是NDK对于跨平台以及构建高性能应用非常重要(特别是OpenGL游戏)。这本书从浅入深地涵盖了NDK开发的方方面面,包括JNI的使用、OpenGL ES和OpenSL ES等,适合那些有一定Android开发基础,并想学习NDK开发的朋友们。
Portability among hardware and adaptability to the constrained resources of mobile devices: this is the real essence of the mobile challenge from a technical perspective. With Android, ones has to deal with multiple screen resolutions, various CPU and GPU speed or capabilities, memory limitations, and so on, which are not topics specific to this Linux-based system, (that is, Android) but can particularly be incommoding.
To ease portability, Google engineers packaged a virtual machine with a complete framework (the Android SDK) to run programs written in one of the most spread programming language nowadays: Java. Java, augmented with the Android framework, is really powerful. But first, Java is specific to Android. Apple's products are written for example in Objective C and can be combined with C and C++. And second, a Java virtual machine does not always give you enough capability to exploit the full power of mobile devices, even with just-in-time compilation enabled. Resources are limited on these devices and have to be carefully exploited to offer the best experience. This is where the Android Native Development Kit comes into place.
1