首先要有 Eclipse 和 ADT、CDT、Android SDK、Android NDK。新建一个文件MoonWar_Apk.cmd,将以下代码拷贝其中,双击之即可。

  1. set EngineHome=E:\cocos2d-x-2.2
  2. set SamplesApp=MoonWarriors
  3. set AndroidDir=%EngineHome%\samples\Javascript\%SamplesApp%\proj.android
  4. set SamplesDir=%EngineHome%\samples\Javascript\Shared\games\%SamplesApp%
  5. set BindingDir=%EngineHome%\scripting\javascript\bindings\js
  6.  
  7. echo %EngineHome%
  8. echo %SamplesApp%
  9. echo %AndroidDir%
  10. echo %SamplesDir%
  11. echo %BindingDir%
  12.  
  13. cd /d %AndroidDir%
  14. if exist assets rmdir /s /q assets
  15. mkdir assets
  16. cd assets
  17. mkdir res
  18. mkdir src
  19.  
  20. xcopy /s /y %SamplesDir%\res res
  21. xcopy /s /y %SamplesDir%\src src
  22. copy /y %SamplesDir%\*.js .
  23. copy /y %BindingDir%\*.js .

把项目导入Eclipse中,编译并引用类库:

文件、新建、项目、Android、Android Project from Exsiting Code、Browse,选择E:\cocos2d-x-2.2\samples\Javascript\MoonWarriors\proj.android。在eclipse项目、清理、清理下面所选项目,MoonWarriors。发现src目录出现了红叉,查看Problems:

无法解析导入 org.cocos2dx.lib 第26行
Cocos2dxActivity 无法解析为类型 第30行
Cocos2dxActivity 无法解析为类型 第33行

b)右键点击项目、属性、Android、Library,看到 Reference 引用的是 java Project。这是其中一种引入外部运行库的方法,另一种方法是拷贝java Project里的src,两者等效。要想编辑、编译的时候可以使用外部引用的库,我们现在需要编译cocos2dx的java开发库。
解决办法:在eclipse中,引入外部库,文件、新建、项目、Android、Android Project from Exsiting Code、Browse,E:\cocos2d-x-2.2\cocos2dx\platform\android\java

可参照之前文章的引用方式引用类库。

编译后运行项目,如果需要导出APK包,选择 文件、导出、Android、Export Android Application,点击下一步,完成导出。

Cocos2D-HTML5 Android项目编译的更多相关文章

  1. 使用ant优化android项目编译速度,提高工作效率

    1.Android项目编译周期长,编译项目命令取消困难 2.在进行Android项目的编译的同时,Eclipse锁定工作区不能进行修改操作 3.在只进行资源文件的修改时,Eclipse对资源文件的修改 ...

  2. Android项目编译和使用C语言动态库(so库)

    编译SO库 1.新建工程,建立jni目录用于放置c语言相关文件 2.编写Android.mk文件 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) ...

  3. Android 项目编译过程

    Android 工程构建的持续集成,需要搭建一套编译和打包自动化流程,比如建立每日构建系统.自动生成发布文件等等.这些都需要我们对Android工程的编译和打包有一个比较深入的理解,例如知道它的每一步 ...

  4. Android项目结构分析

    andriod项目目录结构如下图: 1. src目录 该目录一个普通的保存java源文件的目录,其和普通java工程中的src目录是一样的. 2. gen目录 此目录用于存放所有由ADT插件自动生成的 ...

  5. [原]详解如何将cocos2dx项目编译到Android平台上的(方式一:Cywin+NDK)

    链接地址:http://m.blog.csdn.net/blog/yhc13429826359/29357815 2014-6-8阅读578 评论0 前言:cocos2dx作为一个开源的移动2D游戏框 ...

  6. Visual Studio Xamarin编译Android项目出错的解决办法

    安装完Xamarin后,编译Android项目时,你会发现好长时间进度都不动,当你取消编译后,会发现其实是出错了,就是因在Android项目在第一次编译时要去google网站上下一个andorid s ...

  7. Ant 命令行编译Android项目

    首先把android sdk下的tools目录加到系统path环境变量里, 要么就得直接指定android.bat的绝对路径 对于一个新项目, 可以用这个命令创建需要的ant编译环境(可以看到andr ...

  8. Ant自动编译打包&发布 android项目

    Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我们自动编译打包了. ...

  9. eclipse新建android项目,编译出错解决方法

    1.新建android项目 2.在libs中,将android-support-v4.jar添加到生成目录 3.如果项目引用了ActionBar等,需要引用V7的话,添加外部Jar包,路径为eclip ...

随机推荐

  1. 如何实现 MySQL 的读写分离?MySQL 主从复制原理的是啥?如何解决 MySQL 主从同步的延时问题?

    如何实现 MySQL 的读写分离? 其实很简单,就是基于主从复制架构,简单来说,就搞一个主库,挂多个从库,然后我们就单单只是写主库,然后主库会自动把数据给同步到从库上去. MySQL 主从复制原理的是 ...

  2. 内核启动后,lcd显示logo失败

    针对-s5pv210,但对其他平台也使用 lcd显示logo失败,若显示成功默认的logo是一只企鹅,但是串口打印“Start display and show logo”,但是LCD屏没有显示    ...

  3. window下安装git与git使用

    有的eclipse已经自带了Git了,就不用安装了.如果,想重新安装,可以先卸载GIT,卸载 不同eclipse卸载不一样: 1.在Eclipse中依次点击菜单"Help"-> ...

  4. 【转】JavaScript里Function函数实现可变参数

    转载:  http://www.oschina.net/question/54100_15938 使用javascript类库函数时,经常会遇到一个函数,可以使用不同个数的参数的情况 比如:exp(v ...

  5. 使用nexus 搭建本地 maven 服务器

    1.下载安装nexus oos https://www.sonatype.com/download-oss-sonatype ,选择2.x 版本. 2. 配置maven <server> ...

  6. OJ 26217 :Work Scheduling(贪心+优先队列)

    约翰有太多的工作要做.为了让农场高效运转,他必须靠他的工作赚钱,每项工作花一个单位时间. 他的工作日从0时刻开始,有10^8个单位时间.在任一时刻,他都可以选择编号1~N的N(1 <= N &l ...

  7. Go语言基础之19--web编程基础

    一.web编程基础 1.1 web工作方式 1.2 HTTP协议详解 a.http 请求包体 GET /domains/example/ HTTP/1.1 //请求行: 请求方法 请求URI HTTP ...

  8. OpenCV属性页配置问题~

    详细的OpenCV属性页的安装流程,参考这个网站:http://m.bubuko.com/infodetail-793518.html 运行例子时候,如果遇到这个问题,可能配置环境时候出现问题了. 此 ...

  9. Linux学习grep,sed,awk工具的使用

    1.grep:根据模式搜索文本并将符合模式的文本显示出来(pattern模式:由文本字符和正则表达式元字符所匹配出来的条件) 注:alias grep='grep --color' -c:打印符合要求 ...

  10. apply,call,bind

    /*apply和call都是为了改变某个函数运行时的上下文而存在的(就是为了改变函数内部this的指向): 如果使用apply或call方法,那么this指向他们的第一个参数,apply的第二个参数是 ...