工具的下载和安装就不多说啦~
首先是环境变量配置(\cocos2d-x-3.2\setup.py做的事情):
JDK -- CLASSPATH(.;\lib;\lib\tools.jar) + JAVABIN(\jre\bin;\bin)
PYTHON -- \Python27
ANDROID_SDK_ROOT -- \sdk
ANT_ROOT -- \apache-ant-m.s.b\bin
COCOS_CONSOLE_ROOT -- \tools\cocos2d-console\bin
NDK_ROOT -- \android-ndk-r?
然后是使用COCOS_CONSOLE_ROOT的cocos脚本命令建议工程(模板):
>>cocos -h
>>cocos new -h
>>cocos new 工程名 -l cpp -p com.hualingson.test -d 工程根目录
马上用vs打开\proj.win32\?.sln,不做任何修改,生成项目,无误,则工程建立成功。
再就是使用build_native.py构建本地库:
proj.android>>python build_native.py
接着把proj.android导入eclipse(ADT),生成apk(项目根目录\bin\debug\android\?.apk)。
或者:[项目根目录>>cocos compile -p android],生成apk(项目根目录\proj.android\bin\?.apk)。
遇到的问题——
【build_native.py执行报错:Android NDK: Invalid APP_STL value:c++_static】
修改proj.android\jni\Application.mk,将以下几句:
APP_STL := c++_static
NDK_TOOLCHAIN_VERSION=clang
APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -std=c++11 -fsigned-char
APP_LDFLAGS := -latomic
改成:
APP_STL := gnustl_static
#add -Wno-literal-suffix to avoid warning:
#invalid suffix on literal; C++11 requires a space between literal and identifier [-Wliteral-suffix]
#in NDK_ROOT/arch-arm/usr/include/sys/cdefs_elf.h:35:28: when using ndk-r9
APP_CPPFLAGS := -frtti -DCOCOS2D_DEBUG=1 -std=c++11 -Wno-literal-suffix -fsigned-char
【proj.android导入eclipse后报:org.cocos2dx.Cocos2dxActivity引入错误】
几种方法,总之都是将包正确引入工程。
1、Java Build Path中Source下的X/libcocos2d链接路径(\cocos2d\cocos\2d\platform\android\java\src)修改为:\cocos2d\cocos\platform\android\java\src;
2、将\cocos2d\cocos\platform\android\java\src目录下内容拷贝到工程的src目录下。
题外:\templates\cpp-template-default\proj.android\build_native.py中可以增加2所述的拷贝,这样在以后创建工程时使用的就是修改过的build_native.py,进行。