微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

cocos2dx3.0以下版本打的apk包在android5.0机上运行崩溃

最近发现公司项目在android5.0上跑时会出现崩溃情况,网络上也有相关资料,具体原因可参考此贴 http://blog.k-res.net/archives/1525.html
总体来说解决方案有两种:
1.升级cocos2dx版本(高版本已经修复了该问题)
2.参考此贴 http://www.eoeandroid.com/forum.php?mod=viewthread&tid=564427 下面就说说第2种解决方案,这里以cocos2dx 2.2.6 lua版本为例子: 首先下个ndk r10d,这个不要问我怎么下; 然后查找cocos2dx框架文件修改,如下所示: 修改CCHTTPRequestAndroid.cpp如下: static jclass getClassID_(const char *className,jnienv *env) { ....... if (NULL == s_classHttp) { ret = pEnv->FindClass(className); // s_classHttp = ret; //---->这是修改前的,去掉,替换成下面这句 s_classHttp = (jclass)pEnv->NewGlobalRef(ret); //----->这是修改后的 } else { ret = (jclass)pEnv->NewLocalRef(s_classHttp); } ...... } 修改ccluaJavaBridge.cpp如下 inline map<string,string> jHashMap2StdMap(jnienv* env,jobject jhashmap) { ...... if (env == NULL) { break; } // static jclass mapClass = env->FindClass("java/util/HashMap"); //--->修改前 //修改后 jclass tmp = env->FindClass("java/util/HashMap"); static jclass mapClass = (jclass)env->NewGlobalRef(tmp); ...... if (keyset == NULL) { break; } // static jclass setClass =env->FindClass("java/util/Set"); //---->修改前 //修改后 jclass tmp2 = env->FindClass("java/util/Set"); static jclass setClass = (jclass)env->NewGlobalRef(tmp2); ...... } inline vector<string> jVector2stdVector(jnienv* env,jobject jVector) { ...... if (env == NULL) { break; } // static jclass vectorClass = env->FindClass("java/util/Vector");//--->修改前 //修改后 jclass tmp = env->FindClass("java/util/Vector"); static jclass vectorClass = (jclass)env->NewGlobalRef(tmp); ...... } inline vector<string> jArray2stdVector(jnienv* env,jobject jArray) { ...... if (env == NULL) { break; } // static jclass arrayClass = env->FindClass("java/util/ArrayList");//--->修改前 //修改后 jclass tmp = env->FindClass("java/util/ArrayList"); static jclass arrayClass = (jclass)env->NewGlobalRef(tmp); ...... } 上面工作完成后进行编译,重新打包。

原文地址:https://www.jb51.cc/cocos2dx/343539.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐