【友盟+】开发者社区

cocos2dx集成问题集中问答贴

友盟游戏统计 发表于 2016-1-4 11:23:56 |

友盟游戏统计
友盟游戏统计 发表于 2014-9-2 11:05:07 | 显示全部楼层 |阅读模式
本帖最后由 友盟游戏统计 于 2015-1-23 15:20 编辑

各位亲在集成cocos2dx sdk时如果遇到什么难以解决的问题,可以在这个帖子中进行讨论。

ps:以目前的经验来看,90%的错误都是因为没有仔细按照文档要求集成造成的。所以请各位集成之前务必仔细阅读文档。



上一篇:HOME键退出后,为什么会杀掉后台游戏进程?
下一篇:关卡数据被清空了?


nbsfzy
nbsfzy 发表于 2014-9-3 11:43:21 | 显示全部楼层
cocos2dx3.2 集成后编译出错:报错如下

[armeabi] StaticLibrary  : liblua.a
[armeabi] StaticLibrary  : libnetwork.a
[armeabi] StaticLibrary  : libcocosbuilder.a
[armeabi] StaticLibrary  : libcocostudio.a
[armeabi] StaticLibrary  : libspine.a
[armeabi] StaticLibrary  : libui.a
[armeabi] StaticLibrary  : libextension.a
[armeabi] StaticLibrary  : libcocos2d.a
[armeabi] StaticLibrary  : libcocosdenshion.a
[armeabi] StaticLibrary  : libbox2d.a
[armeabi] StaticLibrary  : libchipmunk.a
[armeabi] StaticLibrary  : libcocos2dandroid.a
[armeabi] StaticLibrary  : libcpufeatures.a
[armeabi] SharedLibrary  : libcocos2dlua.so
jni/../../Classes/AppDelegate.cpp:29: error: undefined reference to 'tolua_luatoc_sdk_open(lua_State*)'
/Users/zhangziqi/work/android-ndk-r9d/sources/cxx-stl/gnu-libstdc++/4.6/include/iostream:75: error: undefined reference to 'std::ios_base::Init::Init()'
jni/../../MobClickCpp/MobClickCpp.cpp:138: error: undefined reference to 'std::ios_base::Init::~Init()'
jni/../../MobClickCpp/MobClickAnalyticsDataFactory.cpp:38: error: undefined reference to 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
jni/../../MobClickCpp/MobClickAnalyticsDataFactory.cpp:38: error: undefined reference to 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
jni/../../MobClickCpp/MobClickAnalyticsDataFactory.cpp:30: error: undefined reference to 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&)'
jni/../../MobClickCpp/MobClickAnalyticsDataFactory.cpp:33: error: undefined reference to 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
jni/../../MobClickCpp/MobClickAnalyticsDataFactory.cpp:21: error: undefined reference to 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&)'
jni/../../MobClickCpp/MobClickAnalyticsDataFactory.cpp:21: error: undefined reference to 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
jni/../../MobClickCpp/MobClickAnalyticsDataFactory.cpp:72: error: undefined reference to 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&)'
jni/../../MobClickCpp/MobClickAnalyticsDataFactory.cpp:122: error: undefined reference to 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'
jni/../../MobClickCpp/MobClickAnalyticsDataFactory.cpp:125: error: undefined reference to 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'
jni/../../MobClickCpp/MobClickAnalyticsDataFactory.cpp:131: error: undefined reference to 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)'



友盟游戏统计
友盟游戏统计 发表于 2014-9-3 13:50:21 | 显示全部楼层
感谢 nbsfzy 同学。各位遇到同样问题的开发者请注意:

使用cocos2dx sdk,请务必保证编译选项为: APP_STL := gnustl_static


友盟游戏统计
友盟游戏统计 发表于 2014-9-12 14:49:06 | 显示全部楼层
本帖最后由 友盟游戏统计 于 2014-9-12 15:18 编辑

在VS中编译遇到如下错误的解决方法
cocosvs.jpg

目前友盟的cocos2dx sdk只支持Android及iOS平台。如果想在VS中进行编译,请开发者添加条件编译。
示例代码如下:
[C++] 纯文本查看 复制代码
#if (CC_TARGET_PLATFORM!=CC_PLATFORM_WIN32)

MOBCLICKCPP_START_WITH_APPKEY_AND_CHANNEL("你的appkey", "你的渠道id");

#endif



笑一
笑一 发表于 2014-10-15 19:18:23 | 显示全部楼层

1. 这2个页面上下载的'无IDFA的SDK', 有什么区别联系?
http://dev.umeng.com/game/game-cocos2d-n/sdk-download-n
http://dev.umeng.com/game/game-cocos2d/sdk-download

2.页面 http://dev.umeng.com/game 上, '游戏统计分析SDK' 和 '游戏统计分析插件', 有什么区别联系?


求指点...

点评

1.是新版与旧版的关系。请使用新的2.0版本 2.游戏统计分析SDK包括Android和ios这个两个sdk。'游戏统计分析插件'包含cocos2dx和unity3d这两个支持跨平台的sdk。根据自己的需求,在4个中选择1个进行使用。   发表于 2014-11-4 14:14

掌霆科技
掌霆科技 发表于 2014-10-22 14:12:51 | 显示全部楼层
    [javac] D:\Projects\SGTD_pub_v1\proj.android_MM_MTA\src\org\cocos2dx\cpp\AppActivity.java:675: 错误: 找不到符号
    [javac]             MobClickCppHelper.init(this);//请务必添加在super.onCreate(savedInstanceState);
    [javac]             ^
    [javac]   符号:   变量 MobClickCppHelper
    [javac]   位置: 类 AppActivity
    [javac] 1 个错误


最后说MobClickCppHelper 找不到定义,是不是前面需要import什么

掌霆科技
掌霆科技 发表于 2014-10-22 14:18:40 | 显示全部楼层
掌霆科技 发表于 2014-10-22 14:12
[javac] D:\Projects\SGTD_pub_v1\proj.android_MM_MTA\src\org\cocos2dx\cpp\AppActivity.java:675:  ...

果然啊。开发手册里没提到要加这么一句
import com.umeng.mobclickcpp.MobClickCppHelper;

wayne
wayne 发表于 2014-12-3 21:33:51 | 显示全部楼层
不知道是不是我使用的方式不对,后台统计数据中设备使用的网络显示为unknown,也无法检测出屏幕分辨率,另外无法检测错误信息,检测错误信息后台的页面显示SDK版本过低,可是我下载的插件是最新的。其他的都可以检测到。

友盟游戏统计
友盟游戏统计 发表于 2014-12-4 15:23:10 | 显示全部楼层
wayne 发表于 2014-12-3 21:33
不知道是不是我使用的方式不对,后台统计数据中设备使用的网络显示为unknown,也无法检测出屏幕分辨率,另 ...

目前cocos2dx的sdk是无法捕获的错误信息的。
网络统计的逻辑是这样的:根据你发来的日志里面的联网方式字段,和我们的联网方式mapping表做匹配。有可能那次发送的字段没有和我们的mapping表没有匹配上导致的

你说的无法检测出屏幕分辨率,具体是指什么呢?

点评

哦,我的意思是无法检测出设备类型,但是现在已经可以了。请问cocos2dx的sdk以后会加入捕获错误信息的功能吗?  详情 回复 发表于 2014-12-9 11:32

Xin
Xin 发表于 2014-12-9 11:14:22 | 显示全部楼层
本帖最后由 Xin 于 2014-12-9 14:28 编辑

在游戏开始时进行统计并传入一个渠道,按照不同的包总共分成5个渠道,但是在友盟后台查看的时候只有四个,是不是现在友盟只能支持四个渠道?

wayne
wayne 发表于 2014-12-9 11:32:34 | 显示全部楼层
友盟游戏统计 发表于 2014-12-4 15:23
目前cocos2dx的sdk是无法捕获的错误信息的。
网络统计的逻辑是这样的:根据你发来的日志里面的联网方式字 ...

哦,我的意思是无法检测出设备类型,但是现在已经可以了。请问cocos2dx的sdk以后会加入捕获错误信息的功能吗?

友盟游戏统计
友盟游戏统计 发表于 2014-12-10 10:42:43 | 显示全部楼层
wayne 发表于 2014-12-9 11:32
哦,我的意思是无法检测出设备类型,但是现在已经可以了。请问cocos2dx的sdk以后会加入捕获错误信息的功 ...

这个功能之后肯定会做,但是因为实现起来比较复杂,所以这个功能正式上线可能要春节以后了。

游戏喵
游戏喵 发表于 2014-12-16 11:30:15 | 显示全部楼层
Xin 发表于 2014-12-9 11:14
在游戏开始时进行统计并传入一个渠道,按照不同的包总共分成5个渠道,但是在友盟后台查看的时候只有四个, ...

目前可以支持很几百个渠道。

小小僵尸
小小僵尸 发表于 2015-1-20 20:18:36 | 显示全部楼层

友盟游戏统计链接报错

cocos2dx 版本: 2.2.3
友盟统计游戏组件: 官网下载的最新版本的 友盟游戏组件 cocos2dx 版本

   按照官网的集成步骤,集成后,在eclipse 中编译android 版本,游戏启动链接阶段报错,下面的报错内容:   6666999.png

我专门要了友盟的集成视频观看,发现集成没有问题,有朋友说 这个最新的版本不支持cocos2dx 3.0 以前的版本
,请问是什么原因,求解答,坐等。

急,急,急。。。


羽毛
羽毛 发表于 2015-3-17 17:41:01 | 显示全部楼层
大神我这里有点问题:这个游戏以前接过游戏统计sdk和友盟消息推送,现在想升级,于是我把原来的游戏统计相关的删除掉, 下载的最新的游戏统计sdk,cocos2d-x版本是cocos2d-2.1rc0-x-2.1.3,ndk版本是ndk-r9,我按照文档步骤添加了文件之后用ndk编译,错误提示: jni/../../Classes/AppDelegate.cpp:70:5: error: 'umeng' has not been declared
     umeng::MobClickCpp::end();  求解~!  android.mk 静态模块和路径都是包含进去了的

豪大大雞排
豪大大雞排 发表于 2015-3-20 18:30:51 | 显示全部楼层
請問一下文檔中的 [ 2.1.1 导入SDK ] 的第4點 [ 配置 ] 提到 Eclipse 導入 , 有沒有不用Eclipse單純打指令或改文件就可以的方法? 因為我目前都是命令行直接打 cocos run -p android 實機測試 , 沒有安裝 Eclipse .
謝謝回覆

xiaosongsz
xiaosongsz 发表于 2015-3-25 14:39:27 | 显示全部楼层
请问我用的是cocos2dx3.3版本 编译的时候出现下面的错误 请问是哪里没配置好吗?
[armeabi] SharedLibrary  : libcocos2dcpp.so
jni/hellocpp/main.cpp:23: error: undefined reference to 'umeng::MobClickJniHelper::setJavaVM(_JavaVM*)'
jni/../../Classes/MobClickCpp.h:305: error: undefined reference to 'umeng::MobClickCpp::mainloop(float)'
jni/../../Classes/AppDelegate.cpp:39: error: undefined reference to 'umeng::MobClickCpp::startWithAppkey(char const*, char const*)'
jni/../../Classes/AppDelegate.cpp:80: error: undefined reference to 'umeng::MobClickCpp::applicationDidEnterBackground()'
jni/../../Classes/AppDelegate.cpp:89: error: undefined reference to 'umeng::MobClickCpp::applicationWillEnterForeground()'
collect2: error: ld returned 1 exit status
make: *** [obj/local/armeabi/libcocos2dcpp.so] Error

点评

已经解决了 谢谢不用帮忙了  发表于 2015-3-25 15:37

呦呦呦萌
呦呦呦萌 发表于 2015-4-4 11:33:01 | 显示全部楼层
我是新手,昨天试着弄了下友盟的游戏统计分析adk,我用的是ADT v22的,按照官网的教程添加了该添加的之后出现了这样的问题
.....省略

jni/hellocpp/main.cpp:6:31: fatal error: MobClickJniHelper.h: No such file or directory
#include "MobClickJniHelper.h"
                               ^
compilation terminated.
make.exe: *** [obj/local/armeabi/objs/cocos2dcpp_shared/hellocpp/main.o] Error 1
make.exe: *** Waiting for unfinished jobs....
jni/../../Classes/AppDelegate.cpp:4:25: fatal error: MobClickCpp.h: No such file or directory
#include "MobClickCpp.h"

.....

小弟我在这方面是白痴,在网上找了很多种方法都不行,我认为应该是eclipse的路径问题,但是我不知道怎么设置T T,我试过在c++ paths and symbols那里加路径,也不行,也试过把4个.h文件放到Classes文件夹里,结果很明显就是能找到头文件了,但是无法连接到头文件的定义,因此还是不行,求大神告诉小弟怎么做T T...弄了两天,已崩溃...

问题:
如何能让eclipse直接找到/cocos2d/external/libMobClickCpp/里面的所有文件,包括.h和.a文件?

qingfeng
qingfeng 发表于 2015-4-28 14:43:37 | 显示全部楼层
小小僵尸 发表于 2015-1-20 20:18
cocos2dx 版本: 2.2.3
友盟统计游戏组件: 官网下载的最新版本的 友盟游戏组件 cocos2dx 版本

应该是你在改原本cocos的activity的时候,一些必要的方法被删除掉了,找找原来activity的java文件里面有什么方法。

bryanwong
bryanwong 发表于 2015-4-29 06:49:49 | 显示全部楼层
cocos2d-x 3.3, 3.5
友盟统计游戏组件: 官网下载的最新版本的 友盟游戏组件 cocos2dx 版本

测试设备可以成功添加,测试数据也能实时显示。
Bug:测试设备的数据完全没有被排除,跟非测试设备一样显示。比如,在游戏还没发布出去之前,新增用户、活跃用户,都有数据显示,都是测试设备。

八阿哥
八阿哥 发表于 2015-5-27 21:21:57 | 显示全部楼层
呦呦呦萌 发表于 2015-4-4 11:33
我是新手,昨天试着弄了下友盟的游戏统计分析adk,我用的是ADT v22的,按照官网的教程添加了该添加的之后出 ...

请问下楼主这个问题解决了没有,我也遇到了

primeant
primeant 发表于 2015-8-5 17:46:57 | 显示全部楼层
xiaosongsz 发表于 2015-3-25 14:39
请问我用的是cocos2dx3.3版本 编译的时候出现下面的错误 请问是哪里没配置好吗?
[armeabi] SharedLibrary  ...

请问最后知道是哪的问题。。。

zengxinblue
zengxinblue 发表于 2015-9-6 10:48:33 | 显示全部楼层
错误        3        error LNK2019: 无法解析的外部符号 "public: static void __cdecl umeng::MobClickCpp::setLogEnabled(bool)" (?setLogEnabled@MobClickCpp@umeng@@SAX_N@Z),该符号在函数 "public: virtual bool __thiscall AppDelegate::applicationDidFinishLaunching(void)" (?applicationDidFinishLaunching@AppDelegate@@UAE_NXZ) 中被引用        D:\kurui\trunk\HZ_DDZ\proj.win32\AppDelegate.obj
错误        6        error LNK2019: 无法解析的外部符号 "public: static void __cdecl umeng::MobClickCpp::profileSignOff(void)" (?profileSignOff@MobClickCpp@umeng@@SAXXZ),该符号在函数 "public: static void __cdecl MsgLogonRequest::sendLogonOut(void)" (?sendLogonOut@MsgLogonRequest@@SAXXZ) 中被引用        D:\kurui\trunk\HZ_DDZ\proj.win32\MsgLogonRequest.obj
错误        22        error LNK2019: 无法解析的外部符号 "public: static void __cdecl umeng::MobClickCpp::profileSignIn(char const *,char const *)" (?profileSignIn@MobClickCpp@umeng@@SAXPBD0@Z),该符号在函数 "private: void __thiscall LoginScene::parseProfile(void)" (?parseProfile@LoginScene@@AAEXXZ) 中被引用        D:\kurui\trunk\HZ_DDZ\proj.win32\LoginScene.obj
错误        7        error LNK2019: 无法解析的外部符号 "public: static void __cdecl umeng::MobClickCpp::event(char const *,char const *)" (?event@MobClickCpp@umeng@@SAXPBD0@Z),该符号在函数 "void __cdecl cocos2d::`dynamic initializer for 'PHYSICSSHAPE_MATERIAL_DEFAULT''(void)" (??__EPHYSICSSHAPE_MATERIAL_DEFAULT@cocos2d@@YAXXZ) 中被引用        D:\kurui\trunk\HZ_DDZ\proj.win32\LoginScene.obj
错误        20        error LNK2019: 无法解析的外部符号 "public: static void __cdecl umeng::MobClickCpp::end(void)" (?end@MobClickCpp@umeng@@SAXXZ),该符号在函数 "public: void __thiscall GlobalView::onLeaveGame(class cocos2d::Ref *)" (?onLeaveGame@GlobalView@@QAEXPAVRef@cocos2d@@@Z) 中被引用        D:\kurui\trunk\HZ_DDZ\proj.win32\GlobalView.obj

问题描述: 在vs2012上开发,编译报上述错误, 但在eclipse上 是能正常编译通过,  接入的是umeng 游戏统计sdk,是严格按照sdk接入文档接入的。在线等解决方案

wayne
wayne 发表于 2015-10-12 15:18:10 | 显示全部楼层
cocos2d-x插件sdk目前无法在xcode7下面通过,因为没有bitcode编译支持,希望能尽快支持。



jerry
jerry 发表于 2015-11-23 10:49:36 | 显示全部楼层
使用游戏统计分析SDK(cocos2dx),一个星期了,只是前几天有一天有数据,后面都没数据了。
打开友盟的调试日志,提示:
umeng: (Error   Applog) couldn't connect to host

搞不懂为啥,有指导不?

大地
大地 发表于 2016-1-4 11:23:56 | 显示全部楼层
友盟统计导致游戏崩溃android 版本
操作:首次安装,短时间内进出后台崩溃,长按Home键进后台后返回,再长按home键后返回,界面暂停崩溃。
引擎版本:cocos2dx3.8版本
日志:ignal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000018

Stack frame #00  pc 000c2586  /data/data/com.shucaixxl.scxxl/lib/libmobclickcpp.so (umeng::MobClickSession::shouldRestartLastSession()+13): Routine ??

??:0

Stack frame #01  pc 000c1a6d  /data/data/com.shucaixxl.scxxl/lib/libmobclickcpp.so (umeng::MobClickSession::appForeground(umeng::CCObject*)+6): Routine ??
12下一页
您需要登录后才可以发帖 登录 | 立即注册

本版积分规则

发表主题

精彩推荐

Xcode9 beat2 编译出错
今天安装了Xcode9 beat2 版本,感觉还不错,就兴冲冲的去编译公司项目,然后发现悲了个催了 ,,编译不通
6.4.5版本sdk,新浪分享内存泄漏
新浪分享的时候,sdk内部持有了Activity造成了内存泄漏
iOS 分享word文件到微信
1. 有个需求是下载网络上的word文件,并分享到微信好友,结果分享出来的不正确。 有指教的吗。。。。

关注我们

新浪微博
微信

欢迎关注友盟官方微博微信!

在线客服
返回顶部 返回列表