1.报错:Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined ?
解决办法:
APPNAME="BrainGame"
NDK_ROOT="/Users/maclian/Desktop/android-ndk-r9c"
# options
buildexternalsfromsource=
usage(){
cat << EOF
usage: $0 [options]
Build C/C++ code for $APPNAME using Android NDK
OPTIONS:
-s Build externals from source
-h this help
EOF
}
while getopts "sh" OPTION; do
case "$OPTION" in
s)
buildexternalsfromsource=1
;;
h)
usage
exit 0
;;
esac
done
# paths
if [ -z "${NDK_ROOT+aaa}" ];then
echo "please define NDK_ROOT"
exit 1
fi
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# ... use paths relative to current directory
COCOS2DX_ROOT="$DIR/../../.."
#COCOS2DX_ROOT="$COCOS2DX"
APP_ROOT="$DIR/.."
APP_ANDROID_ROOT="$DIR"
echo "NDK_ROOT = $NDK_ROOT"
echo "COCOS2DX_ROOT = $COCOS2DX_ROOT"
echo "APP_ROOT = $APP_ROOT"
echo "APP_ANDROID_ROOT = $APP_ANDROID_ROOT"
# make sure assets is exist
if [ -d "$APP_ANDROID_ROOT"/assets ]; then
rm -rf "$APP_ANDROID_ROOT"/assets
fi
mkdir "$APP_ANDROID_ROOT"/assets
# copy resources
for file in "$APP_ROOT"/Resources/*
do
if [ -d "$file" ]; then
cp -rf "$file" "$APP_ANDROID_ROOT"/assets
fi
if [ -f "$file" ]; then
cp "$file" "$APP_ANDROID_ROOT"/assets
fi
done
# run ndk-build
if [[ "$buildexternalsfromsource" ]]; then
echo "Building external dependencies from source"
"$NDK_ROOT"/ndk-build -C "$APP_ANDROID_ROOT" $* \
"NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DX_ROOT}/cocos2dx/platform/third_party/android/source"
else
echo "Using prebuilt externals"
"$NDK_ROOT"/ndk-build -C "$APP_ANDROID_ROOT" $* \
"NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DX_ROOT}/cocos2dx/platform/third_party/android/prebuilt"
fi
2.cocos2d目录下没有重复的
3.
4.jni/Android.mk文件中。
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := cocos2dcpp_shared
LOCAL_MODULE_FILENAME := libcocos2dcpp
LOCAL_SRC_FILES := main.cpp \
../../Classes/Controllers/BoardController.cpp \
../../Classes/Libs/Sound/SoundPlayer.cpp \
../../Classes/Libs/Utils/AdUtils.cpp \
../../Classes/Libs/Utils/CCHelper.cpp \
../../Classes/Libs/Utils/GAUtils.cpp \
../../Classes/Libs/Utils/MathUtils.cpp \
../../Classes/Libs/Utils/ResourceUtils.cpp \
../../Classes/Libs/Utils/ScoreUtils.cpp \
../../Classes/Libs/Utils/SNSUtils.cpp \
../../Classes/Models/Board.cpp \
../../Classes/Models/Item.cpp \
../../Classes/Scenes/GameoverScene.cpp \
../../Classes/Scenes/HowtoplayScene.cpp \
../../Classes/Scenes/LevelScene.cpp \
../../Classes/Scenes/LoadingScene.cpp \
../../Classes/Scenes/SettingScene.cpp \
../../Classes/Scenes/TopScene.cpp \
../../Classes/Views/BoardView.cpp \
../../Classes/Views/Recommend_SDK.cpp \
../../Classes/AppDelegate.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
LOCAL_WHOLE_STATIC_LIBRARIES += cocos2dx_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static
LOCAL_WHOLE_STATIC_LIBRARIES += chipmunk_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static
include $(BUILD_SHARED_LIBRARY)
$(call import-add-path, /Users/maclian/Desktop/cocos2d-x-2.1.5)
$(call import-module,cocos2dx)
$(call import-module,cocos2dx/platform/third_party/android/prebuilt/libcurl)
$(call import-module,CocosDenshion/android)
$(call import-module,extensions)
$(call import-module,external/Box2D)
$(call import-module,external/chipmunk)