cocos2dx工程打包成Android APK当然少不了编辑android工程目录下的Android.mk文件,主要工作就是把Classes目录下的*.cpp文件添加进来进行编译。
下面就分Android工程在Eclipse和AndroidStudio两种情况来说明。
Eclipse
在项目的 proj.android\jni 目录下的 Android.mk 文件中,需要对 LOCAL_SRC_FILES 进行赋值,将项目中用到的cpp文件都写入,自动生成的内容一般都是这样:
@H_404_12@LOCAL_SRC_FILES := hellocpp/main.cpp \ ../../Classes/AppDelegate.cpp \ ../../Classes/HelloWorldScene.cpp如果想要添加新增cpp文件,常理来说就是依样画瓢“../../Classes/XXX.cpp”但是对程序员来说需要手动一个一个添加简直是不科学!因此有网上的牛人就找到了新的方法:
使用通配符(wildcard)的方式就可以解决
写法如下:
@H_404_12@SRC_FILES := hellocpp/main.cpp SRC_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/
Android-studio工程
在项目 proj.android-studio中,由于jni文件夹放到了proj.android-studio\app中,因此要在上面的模板上多加一层回退 /.. 。
因此最后的模板如下:
编译时,输入命令为 cocos run -p android –android-studio 就能在proj.android-studio目录编译生成所有cpp的 .so 库使用
这里推荐使用android-studio作为开发工具,方便多渠道打包,具体需要配置build.gradle和Manifest,build.gradle的配置请参考上一篇
cocos2dx工程部署到android-studio中,build.gradle的写法。