cocos2d-x菜鸟实习生学习篇 win32项目移植到安卓
一、首先要要知道你到底要下载什么!!!1. eclipse下载32位的(官网有)Eclipse c++版本下载 file=/technology/epp/downloads/release/indigo/SR2/eclipse-cpp-indigo-SR2-incubation-win32.zip3. Android SDK直接用32位的(没有区分32还是64)不用安装,下载后直接解压到合适目录即可,android SDK采用了Java语言,所以需要先安装JDK 5.0及以上版本。直接下载jdk安装文件安装更为方便。Sdk 里有eclipse,编码工具这个版本太低了,大家可以自己去百度下载20以上的)4. Android NDK 直接用32位的(没有区分32还是64),有这个东西才能让安卓支持c/c++5.CygWin,这个我懒得去官网下载安装,直接用了一个百度一下找的(Cygwin Easy 2007.03.21(ISO)),解压后,直接把cygwin目录剪切到C盘根目录了,这个大家可以不理我,自己搞定CygWin的安装百度就有, 这种方式下载会久了点。但是靠谱(这个先别急着下,后面会教你到底应该怎么去安装这货)二、eclipse安装及其设置:下载完后不用安装,解压后直接可以使用。打开eclipse ,1、如果eclipse还不支持安卓,那就要下载安卓组件。点击help,-soft update(好像是这个),然后,在Work with栏填入https://dl-ssl.google.com/android/eclipse/等待eclipse搜索完成后,会在主视窗中列出ADT插件下载项目,全部选择,点击Next按钮。如果之前已经有下载好的ADK,可以选择ADD,然后在弹出的窗口选择Archive,把你ADT的存放路径输进去。再次点选Next按钮后出现软件许可窗口,需要勾选同意,然后点击Finish按钮eclipse会开始下载安装ADT插件。完成后重新启动eclipse,可以在File->New->Project菜单下找到Android Project证明ADT更新成功2、如果eclipse还不支持c++(我的版本默认就是c++的),那就要下载CDT插件:CDT可以从http://www.eclipse.org/cdt/downloads.php下载到,对应eclipse3.7.1的CDT插件版本为CDT8.0.1。 下载完成后,启动eclipse,选择Help-> SoftwareUpdates,点击ADD按钮选择archive,选择下载好的CDT插件zip文件(cdt-master-8.0.1.zip)然后OK确认,勾选全部安装项目,点击next按钮eclipse会开始安装。同样,在安装过程中有一次同意软件协议选项的勾选。完成后eclipse会要求重启软件,OK即可。重启eclipse后选择New->Projec会发现eclipse已经支持C/C++项目。3、关联NDK使用NDK的目的为将C/C++编写的代码生成能在arm上运行的*.so文件。由android的java代码来调用。AndroidNDK可以从http://developer.android.com/sdk/ndk/index.html进行下载,截止2012-1-19最新版本为r7菜单-窗口-preference-android-ndk,然后把ndk的根目录路径输进去4、下载android sdkAndroid SDK可以从 http://developer.android.com/sdk/index.html下载到,截止到2012-1-19最新版本为r16,请选择对应windows操作系统位数进行下载。下载完成后解压到任意路径即可,解压后路径内不包含任何SDK,还需要运行 SDK Manager.exe(在下载的sdk目录下)进行SDK包下载。 笔者没有下载最新的SDK,是通过r10版本的SDKManager进行更新的。将r10版本的 SDK Manager.exe更新至r15,即可看到新发布的SDK包。5、cygwin安装Cygwin为Linux模拟环境,因使用NDK生成本地*.so本地库需要用到交叉编译环境,而交叉编译需要在linux系统下才能完成。Cygwin可以从http://cygwin.com/install.html 下载到。(可以选择下载但不安装选项来创建“本地安装包”)安装时,在Cygwin默认安装配置没有安装gcc编译器,我们必须用到的Devel类中的四个组件包,如果嫌找起来过于麻烦,可将Devel类从Default改为Install全部安装也可以。安装过程:在官网下载一个setup.exe,然后运行他,第一步:运行setup程序,第一步图略,直接点击Next进入下一步。第二步:选择安装方式,第一次可以采用DirectConnection在线下载安装,如有现成的离线包,可以选择离线安装(Install from Local Directory)。第三步:选择安装目录,比如C:\Cygwin,注意此目录是指Cygwin最终的安装目录,不是下载文件暂存目录。第四步:设置本地包暂存路径暂存目录默认是放到setup.exe的同级目录下,下载后名字类似ftp%3a%2f%2fcygwin.mirrors.pair.com%2f这样格式。第五步:设置网络连接方式第六步:选择下载站点地址起初尝试几个看哪个速度快就用哪个地址(如果感觉不快就点取消,再次来过)。第七步:等待加载安装项载入,选择安装项我们编译NDK,在默认设置下,只需选择Devel(点击列表中Devel,将后面的Default改为Install,图中箭头所示),其它均为默认状态。第八步:等待下载完成下载完成时间决定于你选择的安装包数量及网络连接速度,比如按照本文默认的选择方式,可能需要4-5个小时,下载后压缩包约750M,下载完成后会自动安装到上文设置的安装目录。提醒:第一次下载完成后,最好把下载的包目录做个备份,下次安装同样的环境可以直接使用离线安装方式(第二步中选择本地安装)。验证Cygwin环境安装完成后,先运行Cygwin一次(Cygwin.bat),以便创建一些用户环境文件,分别输入:make -v和gcc -v.如果检测成功,会有make和gcc相关版本信息打印出来,如下图。(我有试过直接下载了一个2G的cygwin,解压后可以直接用。。。Gcc -v 或者 make-v 都有版本信息输出。)三、创建android项目1:创建android工程进到引擎目录下 找到create-android-project.bat 文件 双击执行一般都会提示没有cygwin,android-sdk,NDK(关联就是在这里关联的,该路径),所以要先安装这些东东。用UE打开create-android-project.bat,然后修改cygwin,NDK等的安装路径1. 输入android包名。 我输入的是:com.bearsoft.game.demo1. 输入android包名。 我输入的是:com.bearsoft.game.demo2. 输入项目名。 我输入的是:win32androidDemo3. 输入android版本id。 我输入的是 3. 也就是 android2.1版本。(注意,这里是根据它提示的序号输入的,如这个说明你目前只有4.2这个版本可以用,如果你想用其他安卓版本,就要去下载下载方式:在E:\android sdk\adt-bundle-windows-x86这个目录下有个sdk manage,点击后选择你所要的版本,然后下载,过程可能有点持久。4. 顺利的话现在android项目已经建好了。如果报错请接着看下面部分。如果没报错跳过这部分看后面的。 我遇到的错误是:没关系,这是CygWin没有配置好的原因,把CygWin的bin目录路径加入到环境变量的Path里就行了(我的电脑-右击-属性-高级-环境变量-path修改:;E:\cygwin\bin5、生成项目后,进入项目里的proj.android/jni,编辑android.mk,将准备好的代码文件拷贝到工程下的Classes目录;资源文件拷贝到工程下的Resource目录。打开Classes目录找到Android.mk,使用编辑工具打开,在LOCAL_SRC_FILES:= 填入要编译的cpp文件,保存后关闭。如: LOCAL_SRC_FILES:= AppDelegate.cpp \GameOverScene.cpp\ Joystick.cpp \ TerribleGameScene.cpp四、编译编译有两种办法,一个是用cygwin ,一个是用eclipse编译。首先将cygwin:1、打开cygwin,输入工程路径下的Android文件夹的完整路径,如:cdd:/makeapk/MyGame/Android。然后运行build_native.sh文件,具体输入为:./build_native.sh2. 编译过程中,可能会提示 NDK_ROOT NOT DEFINE,这说明你没有在环境变量里新建一个NDK_ROOT这个环境变量。我的电脑-右键-属性-高级-环境变量,添加这三个环境变量:里面的内容分别是:cocos2d-x 的安装根目录:E:/hzk/cocos2d-x/cocos2d-2.0-x-2.0.4,和NDK_MODULE_PATH:E:/hzk/cocos2d-x/cocos2d-2.0-x-2.0.4;E:/hzk/cocos2d-x/cocos2d-2.0-x-2.0.4/cocos2dx/platform/third_party/android/prebuilt还有NDK_ROOT :E:\android\android-ndk-r83.补充一点,每次打开cygwin并输入完整路径是很麻烦的事情,可以通过下面的方法自动执行一些命令:用记事本打开cygwi补充:移动开发 , 其他 ,
上一个:动态替换内核函数
下一个:cocos2d安装环境初步
- 更多wap疑问解答:
- 新人求助QPainter
- 为什么程序都退出了还可以收到推送?如果大多设备都可以推送那运营商怎么办?
- qt 4.7 sqlserver2000 存储过程调用
- 关于ANDROID4.0.1编译问题!
- Android FrameBuffer读屏幕30秒后mmap失败
- 联通粗定位用java程序如何来请求和接受数据
- 为什么QT运行Android平台的程序时,mouseMoveEvent事件响应的间隔时间很长??????????
- android与PC蓝牙通讯
- 指定大小的label 内容可变,如果内容超出label的宽度,将未能显示的部分显示在另一个label上
- Android调试
- android如何通过wifi连接无线打印机
- 运行程序,release目录下产生一个乱码文件夹
- 分享个某机构最新安卓资料,自己验证了
- service启动不起来,掉不了service connection
- 求助:QT5.0 没有QPrinter吗