Book Image

Android NDK Beginner's Guide

By : Sylvain Ratabouil
Book Image

Android NDK Beginner's Guide

By: Sylvain Ratabouil

Overview of this book

<p>Android NDK is all about injecting high performance into your apps. Exploit the maximum power of these mobile devices using high-performance and portable code.</p> <p>This book will show you how to create C/C++ enabled applications and integrate them with Java. You will learn how to access native API and port libraries used in some of the most successful Android applications.</p> <p>Using this practical step-by-step tutorial, highlighted with comments and tricks, discover how to run C/C++ code embedded in a Java application or in a standalone application. You will create a real native application starting from project creation through to full implementation of native API and the porting of existing third-party libraries. You will discover OpenGL ES and OpenSL ES, which are becoming the new standard in mobility. You will also understand how to access keyboard and input peripherals and how to read accelerometer or orientation sensors.</p> <p>Finally, you will dive into more advanced topics such as debugging and troubleshooting applications. By the end of the book, you should know the key elements to enable you to start exploiting the power and portability of native code.</p>
Table of Contents (19 chapters)
Android NDK Beginner's Guide
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Mastering Makefiles


Android makefiles are an essential piece of the NDK building process. Thus, it is important to understand the way they work, to build and manage a project properly.

Makefile variables

Compilation settings are defined though a set of predefined NDK variables. We have already seen the three most important ones: LOCAL_PATH, LOCAL_MODULE, and LOCAL_SRC_FILES. But many others exist. We can differentiate four types of variables, each with a different prefix: LOCAL_, APP_, NDK_, and PRIVATE_.

  • APP_ variables refer to application-wide options and are set in Application.mk

  • LOCAL_ variables are dedicated to individual module compilation and are defined in Android.mk files

  • NDK_ are internal variables that usually refer to environment variables (for example, NDK_ROOT, NDK_APP_CFLAGS or NDK_APP_CPPFLAGS)

  • PRIVATE_ prefixed variables are for NDK internal use only

Here is an almost exhaustive list:

LOCAL_PATH

To specify the source files, root location. Must be defined before include...