cocos2dx CCFileUtils::sharedFileUtils() 静态调用
来源:互联网 发布:下载淘宝网app 编辑:程序博客网 时间:2024/05/21 09:45
如题
CCFileUtils::sharedFileUtils()
静态调用,也就是在cpp文件的函数外面调用
Android平台会无故崩溃,跟踪调试发现在CCFileUtilsAndroid.cpp的42行过不去即
CCFileUtils* CCFileUtils::sharedFileUtils(){ if (s_sharedFileUtils == NULL) { s_sharedFileUtils = new CCFileUtilsAndroid(); s_sharedFileUtils->init(); std::string resourcePath = getApkPath(); s_pZipFile = new ZipFile(resourcePath, "assets/"); } return s_sharedFileUtils;}
std::string resourcePath = getApkPath();
这行 然后查看getApkPath()函数,里面也就返回string g_apkPath 的c_str()
最后没查出别的有用信息,不过此时g_apkPath应该是null,因为g_apkPath是依靠java那边回调才设置的值
JNIEXPORT void JNICALL Java_org_cocos2dx_lib_Cocos2dxHelper_nativeSetApkPath(JNIEnv* env, jobject thiz, jstring apkPath) { g_apkPath = JniHelper::jstring2string(apkPath); }
而静态调用了CCFileUtils::sharedFileUtils(),发生在静态区
而java加载libgame.so的方法如下
static {System.loadLibrary("game");}可想而知getApkPath的调用就会在nativeSetApkPath之前
所以CCFileUtils::sharedFileUtils()就不要在全局区调用了(也就是静态调用)
但是ios平台,是没有问题
ps:遇到问题就先记录,以免以后再次遇到,耗费时间去找问题
0 0
- cocos2dx CCFileUtils::sharedFileUtils() 静态调用
- CCFileUtils::sharedFileUtils()->getWriteablePath() 实际路径
- CCFileUtils::sharedFileUtils()->setResourceDirectory(dir) 方法的更新
- cocos2d-x 多线程 获取可写路径失败CCFileUtils::sharedFileUtils()->getWritablePath()
- cocos2d::CCFileUtils::sharedFileUtils()->getFileData(szFile, "r", &bufferSize) 不同平台返回值不一样
- cocos2dx-2.x CCFileUtils文件管理类分析(1)
- cocos2dx-2.x CCFileUtils文件管理类分析(2)
- cocos2dx-2.x CCFileUtils文件管理类分析(3)
- cocos2dx-2.x CCFileUtils文件管理类分析(4)
- cocos2dx如何使用CCFileUtils进行文件查找的
- cocos2dx-2.x CCFileUtils文件管理类分析
- JniHelper调用java静态和非静态方法总结(即cocos2dx中调用android平台下显示第三方广告)
- JniHelper调用java静态和非静态方法总结(即cocos2dx中调用android平台下显示第三方广告)
- JniHelper调用java静态和非静态方法总结(即cocos2dx中调用android平台下显示第三方广告)
- JniHelper调用java静态和非静态方法总结(即cocos2dx中调用android平台下显示第三方广告)
- 关于cocos2dx如何绑定c++的静态方法和类给lua调用
- android调用cocos2dx例子
- cocos2dx C++调用java
- mongodb命令批量插入json文件数据
- 云管理平台简介
- Spring AOP
- 谈图像处理
- iOS 到处 ipa包的时候 会有四个选项分别代表什么
- cocos2dx CCFileUtils::sharedFileUtils() 静态调用
- 线程池
- Phalcon使用PHPExecl导出导入Execl文件
- 深度学习(多变量线性回归)
- 数据结构——19 判断是否是二叉排序树
- Android第三方支付
- FragmentPagerAdapter与FragmentStatePagerAdapter区别
- 用宏 求 x y z,找出最大值最小值
- 初始化