First, let's port Box2D on the Android NDK following these steps:
Box2D 2.3.1 archive is provided with this book in directory Libraries/box2d
.
Unzip Box2D source archive (2.3.1 in this book) into
${ANDROID_NDK}/sources/
(beware directory must be namedbox2d
).Create and open an
Android.mk
file in the root of thebox2d
directory.First, save the current directory inside the
LOCAL_PATH
variable. This step is always necessary because an NDK build system may switch to another directory at any time during compilation.After this, list all Box2D source files to compile, as shown in the following. We are interested in source file name only, which can be found in
${ANDROID_NDK}/sources/box2d/Box2D/Box2D
. Use theLS_CPP
helper function to avoid copying each filename.LOCAL_PATH:= $(call my-dir) LS_CPP=$(subst $(1)/,,$(wildcard $(1)/$(2)/*.cpp)) BOX2D_CPP:= $(call LS_CPP,$(LOCAL_PATH),Box2D/Collision) \ $(call LS_CPP,$(LOCAL_PATH),Box2D/Collision...