系统环境:
Win7 64位中文旗舰版
各组件的版本:
VS2012
Python2.7.6 x86
安装步骤:
1.默认安装VS2012
2.默认安装Python 2.7.6,修改环境变量Path
wmic ENVIRONMENT where"name='path' and username=''" setVariableValue="%path%;C:\Python27"
3.默认安装JDK 1.8,修改环境变量Path,增加环境变量JAVA_HOME、CLASSPATH
wmic ENVIRONMENT createname="JAVA_HOME",username="",VariableValue="C:\ProgramFiles\Java\jdk1.8.0_05"
wmic ENVIRONMENT createname="CLASSPATH",username="",VariableValue="%JAVA_HOME%\lib"
wmic ENVIRONMENT where"name='path' and username=''" setVariableValue="%path%;%JAVA_HOME%\bin"
wmic ENVIRONMENT where"name='path' and username=''" setVariableValue="%path%;%ANT_HOME%\bin"
4.安装Cygwin x64
将Devel改为Install
5.建立文件夹C:\AndroidDev
6.解压缩adt-bundle-windows-x86_64-20140321.zip到C:\AndroidDev,修改环境变量Path
wmic ENVIRONMENT where"name='path' and username=''" setVariableValue="%path%;C:\AndroidDev\adt-bundle-windows-x86_64-20140321\sdk\platform-tools"
wmic ENVIRONMENT where "name='path'and username=''" 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="",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创建新项目
cocos new GameName -p com.CompanyName.GameName -l cpp -d D:\Projects
编译项目:
1.使用cocos编译和运行项目
cocos run -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 install GameName.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版本差异有点大,而且调试符号信息也是不同版本的,具体可参考:
有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_CFLAGS += -gdwarf-3