Skip to content

Instantly share code, notes, and snippets.

@samurai00
Last active December 22, 2015 17:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save samurai00/6506789 to your computer and use it in GitHub Desktop.
Save samurai00/6506789 to your computer and use it in GitHub Desktop.
merge the cocos2d-x project for ios and android, use libs dir as cocos2d-x root; 合并iOS和Android项目cocos2d-x库文件,使用xcode生成的libs目录作为cocos2d-x根目录 (no box2d,chipmunk support)
#!/bin/bash
## set COCOS2DX_ROOT here ##
COCOS2DX_ROOT=/Users/afon/programs/cocos2d-x-2.1.5
echo "input your project dir:"
read APP_DIR
APP_LIBS_DIR=$APP_DIR/libs
cp_mk_cpp_h(){
# cocos2dx
cp $COCOS2DX_ROOT/cocos2dx/Android.mk $APP_LIBS_DIR/cocos2dx/Android.mk
cp $COCOS2DX_ROOT/cocos2dx/platform/CCImageCommon_cpp.h $APP_LIBS_DIR/cocos2dx/platform/CCImageCommon_cpp.h
cp $COCOS2DX_ROOT/cocos2dx/platform/CCThread.cpp $APP_LIBS_DIR/cocos2dx/platform/CCThread.cpp
cp $COCOS2DX_ROOT/cocos2dx/support/user_default/CCUserDefaultAndroid.cpp $APP_LIBS_DIR/cocos2dx/support/user_default/CCUserDefaultAndroid.cpp
cp -R $COCOS2DX_ROOT/cocos2dx/platform/android $APP_LIBS_DIR/cocos2dx/platform/
cp -R $COCOS2DX_ROOT/cocos2dx/platform/third_party/android $APP_LIBS_DIR/cocos2dx/platform/third_party/
# CocosDenshion
cp -R $COCOS2DX_ROOT/CocosDenshion/android $APP_LIBS_DIR/CocosDenshion/
# extensions
cp $COCOS2DX_ROOT/extensions/Android.mk $APP_LIBS_DIR/extensions/Android.mk
cp $COCOS2DX_ROOT/extensions/GUI/CCEditBox/CCEditBoxImplAndroid.h $APP_LIBS_DIR/extensions/GUI/CCEditBox/CCEditBoxImplAndroid.h
cp $COCOS2DX_ROOT/extensions/GUI/CCEditBox/CCEditBoxImplAndroid.cpp $APP_LIBS_DIR/extensions/GUI/CCEditBox/CCEditBoxImplAndroid.cpp
# libwebsockets
cp -R $COCOS2DX_ROOT/external/libwebsockets/android $APP_LIBS_DIR/libwebsockets/
# lua
cp -R $COCOS2DX_ROOT/scripting/lua/proj.android $APP_LIBS_DIR/lua/
cp $COCOS2DX_ROOT/scripting/lua/luajit/Android.mk $APP_LIBS_DIR/lua/luajit/Android.mk
cp -R $COCOS2DX_ROOT/scripting/lua/luajit/android $APP_LIBS_DIR/lua/luajit/
}
modify_mk(){
# extension Andoir.mk
sed -i '' '/^physics_nodes[^\\]*\\/d' $APP_LIBS_DIR/extensions/Android.mk
sed -i '' '/^CCArmature[^\\]*\\/d' $APP_LIBS_DIR/extensions/Android.mk
sed -i '' '/LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static/d' $APP_LIBS_DIR/extensions/Android.mk
sed -i '' '/LOCAL_WHOLE_STATIC_LIBRARIES += chipmunk_static/d' $APP_LIBS_DIR/extensions/Android.mk
sed -i '' '/CC_ENABLE_CHIPMUNK_INTEGRATION=1/d' $APP_LIBS_DIR/extensions/Android.mk
sed -i '' '/\$(LOCAL_PATH)\/CCArmature/d' $APP_LIBS_DIR/extensions/Android.mk
sed -i '' 's/\$(LOCAL_PATH)\/LocalStorage \\/\$(LOCAL_PATH)\/LocalStorage/' $APP_LIBS_DIR/extensions/Android.mk
sed -i '' '/\$(call import-module,external\/Box2D)/d' $APP_LIBS_DIR/extensions/Android.mk
sed -i '' '/\$(call import-module,external\/chipmunk)/d' $APP_LIBS_DIR/extensions/Android.mk
sed -i '' 's/\$(call import-module,external\/libwebsockets\/android)/\$(call import-module,libwebsockets\/android)/' $APP_LIBS_DIR/extensions/Android.mk
# lua Android.mk
sed -i '' 's/\$(LOCAL_PATH)\/..\/..\/..\/cocos2dx/\$(LOCAL_PATH)\/..\/..\/cocos2dx/' $APP_LIBS_DIR/lua/proj.android/Android.mk
sed -i '' 's/\$(LOCAL_PATH)\/..\/..\/..\/CocosDenshion/\$(LOCAL_PATH)\/..\/..\/CocosDenshion/' $APP_LIBS_DIR/lua/proj.android/Android.mk
sed -i '' 's/\$(LOCAL_PATH)\/..\/..\/..\/extensions$/\$(LOCAL_PATH)\/..\/..\/extensions \\\
\$(LOCAL_PATH)\/..\/..\/..\/Classes/' $APP_LIBS_DIR/lua/proj.android/Android.mk
sed -i '' 's/\$(call import-module,scripting\/lua\/luajit)/\$(call import-module,lua\/luajit)/' $APP_LIBS_DIR/lua/proj.android/Android.mk
# proj.android/jni/Android.mk
sed -i '' 's/\$(call import-module,scripting\/lua\/proj.android)/\$(call import-module,lua\/proj.android)/' $APP_DIR/proj.android/jni/Android.mk
# proj.android/build_native.sh
sed -i '' 's/COCOS2DX_ROOT="\$DIR\/..\/.."/COCOS2DX_ROOT="\$DIR\/..\/libs"/' $APP_DIR/proj.android/build_native.sh
}
cp_mk_cpp_h
modify_mk
echo "OK"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment