cocos2dx中Android.mk的万能模板

·Eclipse工程

在项目 proj.android\jni 目录下的 Android.mk 文件中,需要对 LOCAL_SRC_FILES 进行赋值,将项目中用到的cpp文件都写入,用模板创建的项目此段内容如下

1 LOCAL_SRC_FILES := hellocpp/main.cpp 2                    ../../Classes/AppDelegate.cpp 3                    ../../Classes/HelloWorldScene.cpp

这样写很麻烦,每增加一个cpp就要添加一行。使用通配符(wildcard)的方式就可以解决

1 SRC_FILES := hellocpp/main.cpp
2 SRC_FILES += $(wildcard $(LOCAL_PATH)/../../Classes/*.cpp)
3 SRC_FILES += $(wildcard $(LOCAL_PATH)/../../Classes/*/*.cpp)
4 SRC_FILES += $(wildcard $(LOCAL_PATH)/../../Classes/*/*/*.cpp)
5 LOCAL_SRC_FILES := $(SRC_FILES:$(LOCAL_PATH)/%=%)

上面相当于搜索Classes目录下的3目录中所有的cpp文件

以上写法参考了 http://blog.163.com/long_wtf/blog/static/18555327020149144495734/

然后在工程目录文件夹里面,按住Shift+鼠标右键,选择弹出的菜单“在此处弹出命令行窗口”,输入

cocos run -p android        即可编译运行出android项目,如果代码没有错误并且android设备已经处于连接状态,则会直接编译完并运行程序在设备上。

----------------------------------------------------------------------------------------------------------------------------------------------

·Android-studio工程

在项目 proj.android-studio中,由于jni文件夹放到了proj.android-studio\app中,因此要在上面的模板上多加一层回退  /.. 

因此最后的模板如下:

 1 LOCAL_PATH := $(call my-dir)
 2
 3 include $(CLEAR_VARS)
 4
 5 $(call import-add-path,$(LOCAL_PATH)/../../../cocos2d)
 6 $(call import-add-path,$(LOCAL_PATH)/../../../cocos2d/external)
 7 $(call import-add-path,$(LOCAL_PATH)/../../../cocos2d/cocos)
 8
 9 LOCAL_MODULE := cocos2dcpp_shared
10
11 LOCAL_MODULE_FILENAME := libcocos2dcpp
12
13 SRC_FILES := hellocpp/main.cpp
14 SRC_FILES += $(wildcard $(LOCAL_PATH)/../../../Classes/*.cpp)
15 SRC_FILES += $(wildcard $(LOCAL_PATH)/../../../Classes/*/*.cpp)
16 LOCAL_SRC_FILES :=  $(SRC_FILES:$(LOCAL_PATH)/%=%)
17
18 LOCAL_CFLAGS := -DUSE_FILE32API -DGL_GLEXT_PROTOTYPES=1
19
20 LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../Classes
21
22 # _COCOS_HEADER_ANDROID_BEGIN
23 # _COCOS_HEADER_ANDROID_END
24
25
26 LOCAL_STATIC_LIBRARIES := cocos2dx_static
27
28 # _COCOS_LIB_ANDROID_BEGIN
29 # _COCOS_LIB_ANDROID_END
30
31 include $(BUILD_SHARED_LIBRARY)
32
33 $(call import-module,.)
34
35 # _COCOS_LIB_IMPORT_ANDROID_BEGIN
36 # _COCOS_LIB_IMPORT_ANDROID_END

编译时,输入命令为  cocos run -p android --android-studio 。

 

时间: 2024-10-08 13:50:35

cocos2dx中Android.mk的万能模板的相关文章

Cocos2d-x 中Android.mk自动生成.cpp与.c类路径

今天,同事发现了一个可以自动生成Android.mk的脚本.这里贴上留着以后使用.之前在网上找的脚本只能识别以.cpp结尾的类,经过修改后也可以识别.c结尾的类. LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := cocos2dcpp_shared LOCAL_MODULE_FILENAME := libcocos2dcpp #traverse all the directory and subdirectory

Cocos2d-x中android.mk文件中cpp文件的自动生成

1.这段代码下载自子龙山人,虽然没看懂,应该是通用版的.https://gist.github.com/andyque/6060595 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := game_shared LOCAL_MODULE_FILENAME := libgame #traverse all the directory and subdirectory define walk $(wildcard $(

【转载】cocos2dx 中 Android NDK 加载动态库的问题

原文地址:http://blog.csdn.net/sozell/article/details/10551309 cocos2dx 中 Android NDK 加载动态库的问题 闲聊 最近在接入各个平台的SDK,遇到了不少问题,也从中了解了不少知识,之前一直觉得没啥好写的,毕竟做了4个月的游戏开发,也没有碰上什么真正的大问题,cocos2dx的引擎包得也很好,能让人把大部分时间都关注在游戏逻辑.效果的处理上,当然,之前的libevent还是小坑一下,但是和后来遇到的相比,也算不上什么了. 我最

Cocos2d-x 关于Android.mk 自动读入CPP

***************************************转载请注明出处:http://blog.csdn.net/lttree******************************************** 制作过cocos2d-x游戏的开发这都知道, 当所有东东都做完后, 最后一步,生成APK, 以前是用NDK等等一系列,很复杂东东来做, 3.0以后,可以直接在命令行 cocos compile 来制作. 简单了很多很多. 但是,依旧有东东需要手动, 比如Andr

NDk中android.mk文件的简单介绍

先贴一个样例,然后解释一下: 1 LOCAL_PATH:= $(call my-dir) 2 include $(CLEAR_VARS) 3 LOCAL_MODULE := mydjvuapi 4 SRC_FILE_OF_MINE := 5 classify.cpp 6 cuts.cpp \ 7 INCLUDES_FILE_OF_MINE:= \ 8 $(LOCAL_PATH)/../myjpeginterface 9 $(LOCAL_PATH)/../mytiffinterface10 STA

cocos2dx中android下动态更新.so文件

作者:HU 转载请注明,原文链接:http://www.cnblogs.com/xioapingguo/p/4037595.html  因为没用lua脚本写游戏,所以每次发布出去后,发现在bug,需要更新APK重新安装,严重影响体验,增加玩家流失率.如果使用直接更新.so文件的话,就可以解决这个问题. 1.下载.so文件,使用游戏本身的资源更新方法,下载下来,到文件的file/res目录 .so文件zip压缩一下会小很多,解压方法参考http://www.cnblogs.com/xioaping

cocos2dx mac android.mk

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_s

Android开发实践:Android.mk模板

关于Android NDK开发的文章已经比较多了,我的博客中也分享了很多NDK开发相关经验和技巧,今天简单写了一个 Android.mk 的示例模板,供初学者参考. 本模板主要给大家示例 Android NDK 开发中的如下几个问题: 1. 如何自动添加需要编译的源文件列表 2. 如何添加第三方静态库.动态库的依赖 3. 如何构造一个完整的NDK工程框架 假设我们的项目依赖 libmath.a, libjson.a, libffmpeg.so 这几个第三方库文件,项目包含如下几个模块:algor

Android NDK编程浅入深出之--Android.mk

    Android.mk Android.mk是一个向Android NDK构建系统描述NDK项目的GUN Makefile片段.它是每一个NDK项目的必备组件.构建系统希望它出现在jni子目录中.下面是hello-jni项目中Android.mk文件的内容. # Copyright (C) 2009 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License