本文部分参考了:http://blog.csdn.net/sttyytw/article/details/17005263
系统环境:
Win764位中文旗舰版
各组件的版本:
VS2012
Python2.7.6 x86
Cygwinx64
http://cygwin.com/setup-x86_64.exe
Cocos2d-x 3.0 http://www.cocos2d-x.org/download
JDK1.8 x64 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
AndroidSDK ADT Bundle x64 20140321 https://dl.google.com/android/adt/22.6.2/adt-bundle-windows-x86_64-20140321.zip
AndroidNDK r9d x64 https://dl.google.com/android/ndk/android-ndk-r9d-windows-x86_64.zip
Ant1.9.3 http://mirror.esocc.com/apache//ant/binaries/apache-ant-1.9.3-bin.zip
VisualGDB 4.1r10 http://visualgdb.com/download/VisualGDB-4.1r10-trial.msi
安装步骤:
1. 默认安装VS2012
2. 默认安装Python 2.7.6,修改环境变量Path
wmic ENVIRONMENT where"name='path' and username='<system>'" setVariableValue="%path%;C:\Python27"
3. 默认安装JDK 1.8,修改环境变量Path,增加环境变量JAVA_HOME、CLASSPATH
wmic ENVIRONMENT createname="JAVA_HOME",username="<system>",VariableValue="C:\ProgramFiles\Java\jdk1.8.0_05"
wmic ENVIRONMENT createname="CLASSPATH",username="<system>",VariableValue="%JAVA_HOME%\lib"
wmic ENVIRONMENT where"name='path' and username='<system>'" setVariableValue="%path%;%JAVA_HOME%\bin"
wmic ENVIRONMENT where"name='path' and username='<system>'" setVariableValue="%path%;%ANT_HOME%\bin"
4. 安装Cygwin x64
添加163的镜像源
http://mirrors.163.com/cygwin/
将Devel改为Install,如图
5. 建立文件夹C:\AndroidDev
6. 解压缩adt-bundle-windows-x86_64-20140321.zip到C:\AndroidDev,修改环境变量Path
wmic ENVIRONMENT where"name='path' and username='<system>'" setVariableValue="%path%;C:\AndroidDev\adt-bundle-windows-x86_64-20140321\sdk\platform-tools"
wmic ENVIRONMENT where "name='path'and username='<system>'" setVariableValue="%path%;C:\AndroidDev\adt-bundle-windows-x86_64-20140321\sdk\tools"
7. 解压缩android-ndk-r9d-windows-x86_64到C:\AndroidDev
8. 解压缩apache-ant-1.9.3-bin.zip到C:\,修改环境变量Path,增加环境变量ANT_HOME
wmic ENVIRONMENT create name="ANT_HOME",username="<system>",VariableValue="C:\apache-ant-1.9.3"
9. 解压缩cocos2d-x-3.0.zip到X:\
10. 打开CMD窗口,进入cocos2d-x-3.0文件夹,运行python setup.py,并输入对应路径
NDK:C:\AndroidDev\android-ndk-r9d
SDK:C:\AndroidDev\adt-bundle-windows-x86_64-20140321\sdk
ANT: C:\apache-ant-1.9.3\bin
11. 这里最好重启一下
创建项目:
使用cocos创建新项目
cocosnew GameName -p com.CompanyName.GameName -l cpp -d D:\Projects
编译项目:
1. 使用cocos编译和运行项目
cocosrun -s D:\Projects\GameName -p android
(如果只需要编译项目的话 cocos compile -s D:\Projects\GameName -p android)
2. 手动编译项目(这个方法打包出来的apk无法调试,目前还没研究出怎么调整)
A. 编译Native Code
cd D:\Projects\GameName\proj.android
python build_native.py
有时候会因为assets目录删除不同步的问题,出现失败,只要再执行一次即可
B. 生成apk
android update project -p .
android update project -p../cocos2d/cocos/2d/platform/android/java
ant debug
C. 安装到设备
cd bin
adb installGameName.apk
在设备上调试(注意不是虚拟机):
1. 安装VisualGDB,需要选择Android支持
2. 打开VS的菜单 -> ANDROID -> Setup SDK/NDKlocations,填写如下
JDK Path (32 bit) C:\Program Files\Java\jdk1.8.0_05
Android SDK Path C:\AndroidDev\adt-bundle-windows-x86_64-20140321\SDK
Android NDK Path C:\AndroidDev\android-ndk-r9d
Apache ANT Path C:\apache-ant-1.9.3
3. 打开VS菜单 -> ANDROID -> Debug a Custon APKfile
APK file to debug D:\Projects\GameName\proj.android\bin\GameName-debug.apk
Startup activity org.cocos2dx.cpp.AppActivity(这一行应该是自动识别出来的)
Shared librarydirectory D:\Projects\GameName\proj.android\obj\local
其他保持默认,可以勾选“Savethe preset as”保存设置
如果手动安装APK,可以勾选“Skip deploying the app”
如果调试的位置在刚启动程序的时候,可以勾选“Debug code that executes during App startup”
4. Debug
备注:
1. VisualGDB可能无法加载符号表,结果是无法查看变量,主要是因为NDK带的gcc和gdb版本差异有点大,而且调试符号信息也是不同版本的,具体可参考:
http://forum.sysprogs.com/viewtopic.php?f=5&t=2971
http://forum.sysprogs.com/viewtopic.php?f=5&t=2829
有2种解决方法:
A. 更换编译器为clang:
在D:\Projects\GameName\proj.android\jni\Application.mk里面添加NDK_TOOLCHAIN_VERSION := clang3.3
B. 让gcc生成更原始并且兼容性更好的调试信息:
在D:\Projects\GameName\proj.android\jni\Android.mk里面添加LOCAL_C_FLAGS += -gdwarf-3