当前位置: 首页 > 工具软件 > libpomelo > 使用案例 >

libpomelo+cocos2d-x 开发环境搭建(windows平台开发android程序)

田英卓
2023-12-01

1. 从https://github.com/NewYuil/libpomelo 获得代码,放在  cocos2droot/cocos2dx/platform/third_party/android/prebuilt 下面,与其他文件夹整齐排列。目前只有这里的libpomelo是可以不修改在ndk下编译过的。但是里面bug还是挺多的。

修改里面的 deps/jansson/jansson_config.h.in => deps/jansson/jansson_config.h

这个h里面很好配置,我就不写了。

src/network.c里面有几个地方需要改 

pc__on_tcp_connect函数内:

if(status == -1){}  内的log代码全注释掉,因为req已经被free了,这里又使用。

pc__on_notify函数内:

把if(status == -1){}  内的log代码全注释掉,原因同上。

然后如果PomeloClient.connect("127.0.0.1",port)  (这里是伪代码) 如果地址写的是127.0.0.1,我发现在我的android手机上每次都会crash。

查了下死在libuv里的事件循环。由于一般不会connect到127.0.0.1,我就没有深究了。

crash的定位方法写在后面。


2.修改你的cygwin目录下的cygwin.bat,为以后开发提供path支持。

我的是:

@echo off

d:
chdir d:\cygwin\bin

set DRIVER=/cygdrive/d

set ANDROID_SDK=%DRIVER%/software/android-sdk-windows
set VIM_HOME=%DRIVER%/kin-tools/gvim/vim/vim73
set ANT_HOME=%DRIVER%/ws_eclipse/ant/apache-ant-1.9.0
set NDK_ROOT=%DRIVER%/software/android-ndk-r8d-windows
set NDK_TOOLCHAINS_0=%NDK_ROOT%/toolchains/arm-linux-androideabi-4.7/prebuilt/windows/arm-linux-androideabi/bin
set NDK_TOOLCHAINS_1=%NDK_ROOT%/toolchains/arm-linux-androideabi-4.7/prebuilt/windows/bin
set NDK_TOOLCHAINS=%NDK_TOOLCHAINS_0%;%NDK_TOOLCHAINS_1%;

set extpath=%ANDROID_HOME%/tools;%ANT_HOME%/bin;%ANDROID_SDK%/platform-tools;%ANDROID_SDK%/tools;%VIM_HOME%
set extpath=%NDK_TOOLCHAINS%;%extpath%

set path=%extpath%;%path%

set cc_root=%DRIVER%/software/cocos2d-2.1rc0-x-2.1.2/cocos2d-2.1rc0-x-2.1.2
set cc_pomelo_android=%cc_root%/cocos2dx/platform/third_party/android/prebuilt
set ws_proj=%cc_root%/projects/PomeloClientDemo/proj.android
set ws_proj_so=%ws_proj%/obj/local/armeabi/libcocos2dcpp.so

set addr2line=%NDK_TOOLCHAINS_1%/arm-linux-androideabi-addr2line
set objdump=%NDK_TOOLCHAINS_1%/arm-linux-androideabi-objdump

bash --login -i


3.  在cygwin的shell里

cd $ws_proj;

执行编译: 

./build_native.sh

运气好的话,so就编译成功了。

运气不好的话,可能是你的android项目的版本太低,至少要是android-2.3.3。否则会有线程锁相关的类没有被定义,barrier什么的那个。


4.so编译成功后,就生成apk测一下吧

cd $ws_proj;

ant debug install;  安装到默认的android设备。


5.运行前打开logcat

adb  logcat -c && adb logcat


6.运行你的程序吧

如果so里crash了。 可以使用  addr2line 或者 objjump。

本来想写一下的,网上教程已经很多了,还是算了。

转载于:https://www.cnblogs.com/kinzhang/archive/2013/04/10/3048780.html

 类似资料: