在cocos的交叉编译中,我们或多或少的都需要对android.mk进行一些修改,那么android.mk到底是个用来做什么的文件呢?

首先来看一下在我们创建项目后,android.mk里边到底有些什么。

下边就是创建项目后,android.mkde 的原内容

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := cocos2dcpp_sharedLOCAL_MODULE_FILENAME := libcocos2dcppLOCAL_SRC_FILES := hellocpp/main.cpp \../../Classes/AppDelegate.cpp \../../Classes/HelloWorldScene.cppLOCAL_C_INCLUDES := $(LOCAL_PATH)/../../ClassesLOCAL_WHOLE_STATIC_LIBRARIES += cocos2dx_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static
LOCAL_WHOLE_STATIC_LIBRARIES += chipmunk_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_staticinclude $(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)

好吧,里边的大部分内容,虽然不明白,但是下边这些,你肯定认识:

LOCAL_SRC_FILES := hellocpp/main.cpp \../../Classes/AppDelegate.cpp \../../Classes/HelloWorldScene.cpp

这不就是classes下的helloworld和appdelegate么~ 那这两个文件又是做什么的呢?appdelegate当然是我们在vs中调试运行的入口了。

说到这里,我们再来想一想,android.mk是做什么的。

Android.mk就是用来向编译系统描述源代码所在地的一个文件。

当我们在vs中,编写、调试完毕后,我们的代码当然不可能只有appdelegate和helloworld了。

下边就是一种对android.mk的简单修改,从而可以使我们的项目可以正常编译。

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := cocos2dcpp_sharedLOCAL_MODULE_FILENAME := libcocos2dcppLOCAL_SRC_FILES := hellocpp/main.cpp \../../Classes/AppDelegate.cpp \../../Classes/EnemyBig.cpp \../../Classes/EnemyMid.cpp \../../Classes/EnemySmall.cpp \../../Classes/LayerBullet.cpp \../../Classes/LayerEnemy.cpp \../../Classes/LayerGame.cpp \../../Classes/LayerGround.cpp \../../Classes/LayerMenu.cpp \../../Classes/LayerProp.cpp \../../Classes/LayerUI.cpp \../../Classes/PlayerPlane.cpp \../../Classes/SceneGame.cpp \../../Classes/SceneMenu.cpp \../../Classes/SceneOver.cpp LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../ClassesLOCAL_WHOLE_STATIC_LIBRARIES += cocos2dx_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static
LOCAL_WHOLE_STATIC_LIBRARIES += chipmunk_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_staticinclude $(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)

看到和原文件有哪些不同了么?

这种方式需要做些简单的操作如下图所示,我们需要把自己的代码,从proj.win32中,移动到Classes中,

然后在android.mk中把自己编写的cpp的路径写入到android.mk,helloworld.cpp哪一行删除即可。


对android.mk修改完毕后,打开cygwin进行交叉编译。看到如下图的内容时,恭喜你,成功了


下边是编译成功的截图

然后就可以导入eclipse了

导入后还有其他问题,详解见另一篇多图文章

小弟才疏学浅,也恳请各位路过的大神多指点,小弟定加努力

cocos2dx交叉编译之Android.mk修改相关推荐

  1. 【Android 安装包优化】使用 lib7zr.so 动态库处理压缩文件 ( 修改 7zr 交叉编译脚本 Android.mk | 交叉编译 lib7zr.so 动态库 )

    文章目录 一.修改 7zr 交叉编译脚本 Android.mk 二.完整的 7zr 交叉编译脚本 Android.mk 三.交叉编译 lib7zr.so 动态库 四.参考资料 一.修改 7zr 交叉编 ...

  2. 自制工具:Cocos2d-x Android.mk文件自动修改器

    做cocos2d-x的项目,一般是用电脑进行开发,然后移植到手机平台上.移植到安卓手机需要用eclipse等工具重新编译打包成apk文件.而用eclipse打包的话,要把项目的cpp文件一条条加入到A ...

  3. android.mk 冒号,android学习-ndk-build(androidstudio编译cocos2d-x库的cpp为so文件的解释)

    本文不作为ndk初学使用,只是对cpp等c++文件编译成so文件的过程中,参数含义,及ndk配置的解释.使用的技术比较旧. androidStudio使用gradle调用ndk-build工具编译c+ ...

  4. 【Android 安装包优化】WebP 应用 ( libwebp 源码下载 | Android.mk 和 Application.mk 构建脚本修改 | libwebp 函数库编译 )

    文章目录 一. libwebp 源码下载 二. libwebp 源码编译脚本修改 三. libwebp 函数库编译 四.参考资料 一. libwebp 源码下载 Google 提供了一系列的 WebP ...

  5. 02_JNI中Java代码调用C代码,Android中使用log库打印日志,javah命令的使用,Android.mk文件的编写,交叉编译

     1  编写以下案例(下面的三个按钮都调用了底层的C语言): 项目案例的代码结构如下: 2 编写DataProvider的代码: package com.example.ndkpassdata; ...

  6. Cocos2d-x的Android.mk自动生成

    为什么80%的码农都做不了架构师?>>>    编译至Android平台时,若手动修改需编译的源文件及头文件目录,那会比较麻烦.还有就是若直接在Android.mk里面写自动搜索的话 ...

  7. 小羊驼和你一起学习cocos2d-x之六(lua、android.mk)

    欢迎转载:请保留原文出处谢谢 coco2d-x (2.x)以后 的版本和1.x版本android.mk文件很大不同.不会的同学请看demo的android.mk 今天移植lua的cocos2d-x到a ...

  8. 【翻译】(5)Android.mk File

    ----------------- 英文文档见android-ndk-r5b的documentation.html 属于Android Native Development Kit (NDK)的一部分 ...

  9. 【转】Update: Android.mk 中的 LOCAL_SRC_FILES, LOCAL_C_INCLUDES

    看原文请移步:Update: Android.mk 中的 LOCAL_SRC_FILES, LOCAL_C_INCLUDES 我在先前的两篇post 编写Android.mk中的LOCAL_SRC_F ...

  10. 小羊驼和你一起学习cocos2d-x之八(tinyXml android cocos2d-x 2.x)

    http://blog.csdn.net/linyongliang 欢迎转载:请保留原文出处 谢谢 本次介绍如何在cocos2d-x上使用tinyXml库 对于tinyxml我不做多介绍,不懂朋友度娘 ...

最新文章

  1. 仿qq左滑删除listview_Java基于Swing和Netty仿QQ界面聊天小项目
  2. 两位MIT学霸,25岁退学,40岁完成800亿IPO!
  3. [字符编码]Invalid byte 1 of 1-byte UTF-8 sequence终极解决方案
  4. java run里面定义变量_Java程序员50多道最热门的多线程和并发面试题(答案解析)...
  5. ubuntu linux kvm安装,ubuntu16.04 下kvm安装
  6. wsdl2java 生成不带JAXBElement的客户端
  7. FLV格式解析及其解析器的实现
  8. msvcr71.dll丢失的解决方法,哪种解决方法更好?
  9. 招聘后台投递设置联动按钮迭代开发总结
  10. 一个月的时间让你的词汇量翻一翻
  11. 移动的 ipcam 视频无处不在
  12. the disk drive for uuid=XXXX ( /media/sda1) is not reday yet or not present
  13. 导出 服务器 excel文件,服务器数据库导出excel文件格式
  14. 程序员的转正述职报告
  15. 空间曲面构造及其方程
  16. windows桌面程序开发
  17. 跟着阿拉丁学习民生银行数据分析
  18. 《KOF97》彩蛋揭秘:九龙城看台里塞进了21位大佬?
  19. 知乎1w视频播放能赚多钱?今天来大揭秘
  20. MySQL----数据库概述

热门文章

  1. 计算机英语单词怎么读,英语单词read怎么读,read的音标是什么,read是什么意思 - 音标网...
  2. Android中补间动画相关知识
  3. JSAAS的Activiti会签开发扩展处理
  4. Dao接口返回数组_在内存只有10M的空间中申请一块5M的数组空间,会导致OOM吗?...
  5. 实数单竖线,向量双竖线,范数双竖线加下标,矩阵单竖线
  6. Spring Boot—Controller 注解
  7. Nginx负载均衡是酱紫做的
  8. 搞笑--网络小说-紫川 高考题-(附答案)
  9. bootstrap+javascript制作体重标准计算器
  10. 仿蓝色理想网站的导航菜单