cocos2dx搭建Android环境需要用到Android SDK、NDK、Ant和JDK;(其中只有jdk需要安装)
一、下载Android环境
搭建Android环境需要用到Android SDK、NDK、Ant和JDK;
Android SDK下载http://developer.android.com/sdk/index.html
Android NDk下载http://developer.android.com/tools/sdk/ndk/index.html
Android JDK下载http://www.Oracle.com/technetwork/Java/javase/downloads/index.html
Ant下载http://ant.apache.org/bindownload.cgi
其中JDK是需要安装的,其他的都直接解压即可。将SDK NDK 和ANT解压缩到同一个文件夹中,我解压后文件都放在了e:\Android文件夹下
SDK如果下载下来的adt文件那么把里面的SDK文件夹考出来,修改后
二、配置JDK
在JDK安装完毕之后,需要手动进行环境变量的配置
1、系统变量里新建JAVA_HOME变量,变量值为:C:\Program Files\Java\jdk1.8.0_05(根据自己的安装路径填写)
2、新建系统变量classpath变量,变量值为:
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar (注意前面的. 不要忘记了)
3、在系统变量path变量(已存在不用新建)添加变量值:
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin(注意变量值之间用“;”隔开)
环境变量的解析:
JAVA_HOME:jdk的安装路径
classpath:java加载类路径,只有类在classpath中java命令才能识别,在路径前加了个"."表示当前路径。
path:系统在任何路径下都可以识别java,javac命令。
在配置完成之后,我们打开cmd命令窗口,输入java或javac 回车,如果不是打印“java不是内部或外部命令”那就说明配置成功了。
三、配置Ant环境变量
把ant的存放路径加入系统Path变量。
四、配置cocos2dx 3.x Android 环境关联
以上已做好准备工作,打开cocos2dx目录下的 setup.py。
输入ndk的路径。
输入sdk路径
最后输入的是 ant的路径
OK,三个路径都已经配置完毕
五、打包Apk
然后就可以在项目目录下使用 cocos compile -p android方式编译APK文件了。
注意:
①在打包apk之前需要修改proj.android/jni文件夹下的Android.mk文件 添加自己新增的CPP文件,这里的新增指的是非cocos2dx生成的项目文件(自己新增的文件)。一定要把自己新增的文件或文件夹包含进apk。
②默认打包是横屏,若做的游戏是竖屏。则更改AndroidManifest.xml的参数:
android:screenOrientation="landscape"(横屏),android:screenOrientation="portrait"(竖屏)
首先我们拿官方的 cpp-tests项目来试手吧!
按住shift键+鼠标右键 选择在此处打开命令窗口。
然后就可以使用 cocos compile -p android --ap 20方式编译APK文件了(--ap 20是指定android平台)
漫长的等待吧,当然这里要提醒一点3.1版本用的是 android-20,如果E:\Android\sdk\platforms目录下没有android-20 请创建一个空的。
等待完毕之后 看下这个文件夹下的 apk吧!可以安装到手机上试一下了。
六、成功:
七、错误:
后来重装系统后我又用3.2试了,主要出现一些错误:
①bool tell()错误的把bool改为ssize_t就行
②running。。。。-D....
Error code 1
好吧,错误代码记不清了,就记得什么running完什么后有error code 1,这时要把Python升级到2.7.5就行
android NDK
NDK是一系列工具的集合。NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将.so和java应用一
起打包成apk。这些工具是对开发者的帮助巨大的。 NDK集成了交叉编译器,并提供了相应的mk文件隔离平台、CPU、API等
差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出.so。NDK可以自
动地将.so和Java应用一起打包,极大地减轻了开发人员的打包工作。NDK提供了一份稳定、功能有限的API头文件声明。Googl
e明确声明该API是稳定的,在后续所有版本中都稳定支持当前发布的API。从该版本的NDK中看出,这些API支持的功能非常有
限,包含有:C标准库(libc)、标准数学库(libm)、压缩库(libz)、Log库(liblog)