Time for action – compiling Box2D on Android
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...