cocos2dx2.2.3+python搭建 Lua工程/开发环境,Lua生成 android项目

首先总结一下步骤

(这个比贴吧详细一点吧,因为贴吧不能修改....)


一、Cygwin安装

二、 adt-bundle安装
三、ndk安装
四、cocos2dx安装(visual studio2012安装)
五、python安装
六、ant安装
七、以上全部的环境变量配置
八、cocos2dx的工程准备(各种文件的修改)
九、交叉编译,生成Lua工程

十、eclipse导入android项目

十一、cygwin编译打包apk

———————————————————————————

这个项目开发环境的搭建比较复杂,途中会报很多错误,请耐心解决

第一个是PC,


第二个是android上运行,虽然分辨率什么还没有设置好...



一、Cygwin安装
默认安装在C盘,cygwin



在安装源的时候,选择 http://mirrors.sohu.com/cygwin 或 http://mirrors.163.com/cygwin ,哪个好用,就哪个




这里注意一下,不是默认全选,有个重要的文件被默认忽略了,
如果不安装的话,
安装完Cygwin后,编译时发生如下错误:
Cygwin – “ERROR: Cannot find ‘make’ program. Please install Cygwin make package or define the GNUMAKE variable to point to it.”
所以!在安装包选择时,

在search栏中搜索make,并定位到Devel选项,
默认是skip(即跳过)把它改为install,安装完后机解决了



view 切换 Full

安装工具包需要一点时间

其他也看网速,主要不是全部安装,是选择默认一部分安装,单独选择那个devel,由跳过改为 安装,下一步


二、 adt-bundle安装


其实这个是SDK开发工具包,之前安装过android studio的,自带有sdk,不需要这一步,
设置好android的环境变量即可!
因为它 集成很多功能,不需要在ec单独配置一堆了
下载地址:
Adt-bundle也同样分32位和64位的,在这里照样下载32位的版本
http://dl.google.com/android/adt/adt-bundle-windows-x86-20131030.zip。64位的地址我也加上http://dl.google.com/android/adt/adt-bundle-windows-x86_64-20131030.zip

下载完成后,解压就可以使用。这里可以解压到e:\adt-bundle


三、ndk安装


(简单理解:一个联合Cygwin 把 c++ 代码编译为 java 代码的工具,用来转为android工程)
下载地址:
32位下载地址
http://dl.google.com/android/ndk/android-ndk-r9b-windows-x86-legacy-toolchains.zip
http://dl.google.com/android/ndk/android-ndk-r9b-windows-x86.zip
64位下载地址
http://dl.google.com/android/ndk/android-ndk-r9b-windows-x86_64-legacy-toolchains.zip
http://dl.google.com/android/ndk/android-ndk-r9b-windows-x86_64.zip
然后解压就可以了,我这里解压到
E:\android-ndk-r9b


四、cocos2dx安装


这里下载的版本是cocos2d-x-2.2.3。同时还有一个免费的编辑器CocoStudio,它提供了UI和动画,资源编辑功能。可以不用mac下面那个收费的软件了。
(安装玩cocos2dx2.2.3,可以去下载visual studio2012,因为只有vs才能打开 cocos的lua工程项目)
今天突然http://www.cocos2d-x.org/怎么都下载不了,没办法,只好到https://github.com/cocos2d/cocos2d-x/这里下载了。找到对应的2.2版本。

Cocos2dx下载地址:(正常的cocos2dx 有500M左右)


https://codeload.github.com/cocos2d/cocos2d-x/zip/cocos2d-x-2.2
Cocostudio下载地址:
http://d001.download.appget.cn/CocoStudio/DownLoad/v1.0.0.1/CocoStudio_Full_V1.0.0.1.exe

然后cocostudio默认安装就可以了,我这里把cocos2dx解压到e:/cocos2dx


五、python安装


(py是用来作为dos命令,创建lua 工程的)
因为,cocos2dx创建工程,需要python,所以这里还需要下载python,去他的官网http://www.python.org/下载就可以了
下载地址:
http://www.python.org/ftp/python/2.7.5/python-2.7.5.msi 这个下载32位版本就可以了。然后默认安装。我这里安装到了C:\Python27


六、ant安装


(生成apk,有很多中方法,ec编译后可以生成,as编译后可以生成,借助第三方的工具也可以过签名生成)
这个是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。这里在生成apk的时候,也用到了。所以也要下载安装。
http://mirrors.cnnic.cn/apache//ant/binaries/apache-ant-1.9.2-bin.zip
解压到 c:\ant就可以了


到这里,所以需要的软件,都已经下载,并安装了。


七、以上全部的环境变量配置


(android 的环境变量,大家可能不一样,as 和 ec的 sdk 配置有差异,
用as sdk的,用ec写的时候,单独配置给ec的就可以了)


ANT_HOME=C:\ant
PYTHON_HOME=C:\Python27
JAVA_HOME=E:\Java\jdk1.8.0_91
NDK_ROOT=E:\android-ndk-r9b
ANDROID_SDK=E:\adt-bundle\sdk


然后编辑环境变量path,追加
%JAVA_HOME%\bin;
%ANT_HOME%\bin;
%PYTHON_HOME%;
%NDK_ROOT%;
%ANDROID_SDK%\tools;
%ANDROID_SDK%\platform-tools;


java的别忘了 claspath 啊
这样,就可以在CMD窗口执行相关的命令了。


八、cocos2dx的工程准备(各种文件的修改)


第一步:增加android_update.bat

D:\cocos2d-x-2.2.1\template\multi-platform-cpp\proj.android
新建一个bat,内容:(因为我的sdk 是6.0的,对应23,大家自行决定)
android update project -p . -t android-23


第二步:修改build_native.sh
该文件在D:\cocos2d-x-2.2.1\template\multi-platform-cpp\proj.android目录中,因为在执行build_native.sh的时候,会出现的权限的问题,所以在这个脚本中,增加了权限设置,来解决这个问题。
在第67行后面,也就是复制资源的后面增加下面一行


chmod 666 -R "$APP_ANDROID_ROOT"/assets



第三步,创建工程复制批处理


在cocos2dx的2.2中,已经少了一些批处理来创建工程,现在全部改用python来创建工程
现在到D:\cocos2d-x-2.2.1\tools\project-creator下,
创建一个批处理 demo.bat,内容如下

python create_project.py -project %~n0% -package com.android.zdhsoft -language lua
xcopy ..\..\cocos2dx\platform\android\java\src\* ..\..\projects\%~n0%\proj.android\src 




上面批处理的
第一行的意思是,建一个工程为%~n0%的工程,包名是com.android.zdhsoft,
使用的语言是cpp。%~n0%在批处理表示的是批处理的文件名,在demo.bat中,
%~n0%的值是demo。使用该批处理的好处是,如果建议某一个工程,
只有把批处理复制一个,然后重新命名就可以了。如命名为sample.bat,执行后,就可以行到一个sample的cocos2dx工程。
创建的工程在D:\cocos2d-x-2.2.1\projects目录中。
第二行的意思,复制编译andiroid工程需要的java文件。否则编译的时候,会提示找不到对应的类。


第四部分:交叉编译


1、新建一个工程:MyFirst 或者 luaTest(名字自定义)
2、到D:\cocos2d-x-2.2.1\tools\project-creator目录下,复制demo.bat,并改名为 MyFirst.bat
3、双击生成工程文件( 请用pyhon2.7,  3.0以上无法生成project!)
(如果没有创建项目,请用dos命令进入目录,运行这个吧bat,看看报错信息!)
4、到D:\cocos2d-x-2.2.1\projects\MyFirst\proj.android目录下
双击android_update.bat,自动创建 local.properties文件;
(android_update.bat如果没有,好像不大所谓)


5、打开project.properties文件,将“android.library.reference.....”这行注释掉,否则在用”ant debug install”命令时会出错。


6、修改D:\cocos2d-x-2.2.1\projects\MyFirst\proj.android\jni\Application.mk文件,
使其能与ndkr9兼容,并支持x86的CPU,添加如下内容:


#To fix NDK r9
APP_CPPFLAGS += -Wno-error=format-security
#To support x86 and armxxx
APP_ABI := armeabi armeabi-v7a x86


(可以直接在D:\cocos2d-x-2.2.1\template\multi-platform-cpp\proj.android目录下,
修改相关模板文件,这样就不用每次创建新项目都要修改这些文件了)





第五步:来到C盘,你安装 Cygwin 这里,


打开那个bat ,我们将用它来生成android 工程!



先慢着呢 
我们先来到 :
D:\cocos2d-x-cocos2d-x-2.2\projects\luaTest\proj.win32
打开luaTest.sln
(如果无法打开,请安装 visual studio2012)


纠正:不是打开HelloLua.sln,如果你bat的命名是luaTest.bat,那么应该会生成luaTest.sln,如果是HelloLua.sln的,打开的工程将无法使用!


为了保险,还是用dos命令打开 .bat生成项目文件吧


例子开始:新建一个MyFirst 的工程


先用dos命令打开,如果有报错(Error,可以马上看出来,那么说明工程创建后是无法生成解决方案,无法运行的!)
这里并没有报错



那么H:\cocos2d-x-2.2.3\projects\MyFirst\proj.win32 打开MyFirst.sln
(如果是HelloLua的话,是无效的)




右键-生成解决方案,过程比较长,
这里可以生成一些资源文件,可以扩展lib包,so库这些,


(如果有报错,建议:
去csdn找找问题,能解决就解决,不能解决就换一个cocos2dx 的版本!)




然后我们可以配置Lua 的设置


第一个和第三个是一样的,设置为资源文件夹



第二个需要 生成解决方案成功才生成 exe文件,才可以配置 




设置玩lua 后,页面会多一些模块


  


然后我们可以启动项目:Ctrl + F5
一个初始化的游戏界面就出来了



然后,我们关闭visual studio,


十、eclipse导入android项目


打开 eclipse sdk,这个,以前我们有说过这个软件,用来写android,
编译速度比 as快,只是有些.....过气
嘛,先用着!

导入第一个项目,MyFirst,注意不是全部,是android这一段




这是选择android这一段



手动选择你当前有的sdk版本,更改不一定跟我一样

(有时候版本过高会报错,可以设置低一点)




可是导入后都报错了?难道是我导入方式不对吗?




再导入一份:就是cocos2dx本身的android项目,我们需要借助一些类库

选择libcocos2dx所在路径,“..\cocos2d\platform\android\java”


MyFirst右键->"Properties"->"Android"->"Library"->"Add"会自动显示刚才添加的lib,添加即可。

luaTest也是这样即可





十一、cygwin编译打包apk


回到之前的步骤,第十
打开cygwin.bat,又是一波 dos 命令操作了




先进入目录,再 sh build_native.sh
先说明了:这个不是平时的dos窗口,不知道 Ctrl+C 和Ctrl+v

当然,玩过Linux的人来说,小菜一碟




回车,开始编译,这个需要10分钟左右,看电脑的配置吧,我的ssd也需要几分钟呢

主要目的是生成 lib目录,生成一些armeabi和armeabi-v7a文件,以及so库


编译之后,C++代码的android 项目就变成了java的代码了

 由此一来,android的原生是不是也可以生成 lua工程呢?想想感觉可行呢


打包完后,再次打开ec,2个项目都不报错了,这个时候,可以运行 MyFirst项目了,
连接手机运行,可以正常运行,虽然分辨率有些....


运行的时候 proj.android\bin 就会生成一个apk了


(有错误的地方就留言 )


猜你喜欢

转载自blog.csdn.net/ssh159/article/details/77150574