在项目的 proj.androID\jni 目录下的 AndroID.mk 文件中,需要对 LOCAL_SRC_fileS 进行赋值,将项目中用到的cpp文件都写入,自动生成的内容一般都是这样:
LOCAL_SRC_fileS := hellocpp/main.cpp \ ../../Classes/AppDelegate.cpp \ ../../Classes/HelloWorldScene.cpp
如果想要添加新增cpp文件,常理来说就是依样画瓢“../../Classes/XXX.cpp”但是对程序员来说需要手动一个一个添加简直是不科学!因此有网上的牛人就找到了新的方法:
使用通配符(wildcard)的方式就可以解决
写法如下:
SRC_fileS := hellocpp/main.cppSRC_fileS += $(wildcard $(LOCAL_PATH)/../../Classes/*.cpp) SRC_fileS += $(wildcard $(LOCAL_PATH)/../../Classes/*/*.cpp)LOCAL_SRC_fileS := $(SRC_fileS:$(LOCAL_PATH)/%=%)
上面的写法会搜索Classes目录和子目录中的所有的cpp文件,改变一下写法就能一劳永逸!
以上写法参考:
http://blog.163.com/long_wtf/blog/static/18555327020149144495734/
在项目 proj.androID-studio中,由于jni文件夹放到了proj.androID-studio\app中,因此要在上面的模板上多加一层回退 /.. 。
因此最后的模板如下:
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)$(call import-add-path,$(LOCAL_PATH)/../../../cocos2d)$(call import-add-path,$(LOCAL_PATH)/../../../cocos2d/external)$(call import-add-path,$(LOCAL_PATH)/../../../cocos2d/cocos)LOCAL_MODulE := cocos2dcpp_sharedLOCAL_MODulE_filename := libcocos2dcppSRC_fileS := hellocpp/main.cppSRC_fileS += $(wildcard $(LOCAL_PATH)/../../../Classes/*.cpp)SRC_fileS += $(wildcard $(LOCAL_PATH)/../../../Classes/*/*.cpp)LOCAL_SRC_fileS := $(SRC_fileS:$(LOCAL_PATH)/%=%)LOCAL_CFLAGS := -DUSE_file32API -DGL_GLEXT_PROTOTYPES=1LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../Classes# _COCOS_header_ANDROID_BEGIN# _COCOS_header_ANDROID_ENDLOCAL_STATIC_liBRARIES := cocos2dx_static# _COCOS_liB_ANDROID_BEGIN# _COCOS_liB_ANDROID_ENDinclude $(BUILD_SHARED_liBRARY)$(call import-module,.)# _COCOS_liB_import_ANDROID_BEGIN# _COCOS_liB_import_ANDROID_END
编译时,输入命令为 cocos run -p androID –androID-studio 就能在proj.androID-studio目录编译生成所有cpp的 .so 库使用
这里推荐使用androID-studio作为开发工具,方便多渠道打包,具体需要配置build.gradle和Manifest,build.gradle的配置请参考上一篇
cocos2dx工程部署到android-studio中,build.gradle的写法。
以上是内存溢出为你收集整理的cocos2dx中Android.mk的万能模板全部内容,希望文章能够帮你解决cocos2dx中Android.mk的万能模板所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)