This is the full text of my Android. mk focuses on the red part, replace the original manually added part. Note: This is the LOCAL_PATH: = $ (call my-dir) include $ (CLEAR_VARS) LOCAL_MODULE: = cocos2dcpp_shared LOCAL_MODULE_FILENAME: = libcocos2dcpp # function define walk for directory traversal and sub-directories $ (wildcard $ (1) $ (foreach e, $ (wildcard $ (1)/*), $ (call walk, $ (e) endef # traverse the Classes directory ALLFILES =$ (call walk, $ (LOCAL_PATH )/.. /.. /Classes) FILE_LIST: = hellocpp/main. cpp # extract all from all files. cpp file FILE_LIST + = $ (filter %. cpp, $ (ALLFILES) LOCAL_SRC_FILES :=$ (FILE_LIST: $ (LOCAL_PATH)/%=%) FILE_INCLUDES :=$ (shell find $ (LOCAL_PATH )/.. /.. /Classes-type d) LOCAL_C_INCLUDES: = $ (FILE_INCLUDES) LOCAL_WHOLE_STATIC_LIBRARIES + = libraries + = cocos_extension_static include $ (BUILD_SHARED_LIBRARY) $ (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)