cocos2dx 在android平台打开文件问题
在网上查到资料能够通过调用cocos2dx里的getFileData() 这个函数来读取文件内容,getFileData通过检測不同的平台。调用不同的接口的来打开和读取文件,在ios和windows上依旧没问题,可在android上调用读取文件时还是打不开文件。试了非常多方法都不能够。找公司还有一同事来帮忙查看。将路径改动后问题解决。
string relativePath = "scripts/test.pb"; // this is ok
string relativePath = "./scripts/test.pb"; // this can not open the file"
当时大家也不知道为啥这样能解决。当时想可能是linux不支持这种路径。回家后在linux实验,就算我加几个”./“都不影响打开文件夹。查看了cocos2d-x 底层,发现android部分是调用的ndk里的AAssetManager_open方法,仅仅能看到头文件看不到源码。然后在google上搜索了关于这个函数的相关信息,也没啥收获,就在stackoverflow提问。
果然有大神回答,而且引用了github上关于这部分的源码。看了源码才想明确。原来不是去通过这个路径打开文件。而是去一个文件管理器查找,我的文件路径里有“./“,和原路径去比較。自然是找不到,到此这个疑问消除了。
这次事情启演示样例如以下:
1、开源的优点。在遇到问题的时候仅仅须要看下源码就能够了,相对闭源的东西,遇到问题仅仅能去查看文档。假设文档写得不清楚。我觉得这种库最好不要用。一旦遇到问题欲哭无泪。
2、有时在解决这个问题的时候不要太逞强,技术人员都觉得没有解决不了的问题,但有时确实会发生:“不识庐山真面目,仅仅缘身在此山中”,自己把自己绕进去,找个局外人或许一下子就发现了。
3、在学习计算机过程。一点一滴慢慢积累,打好基础,不要求快和新。在真正遇到问题的时候,还的看经验和基础。
4、不管是书上还是名人说的不一定对。仅仅有通过计算机检验的东西。才是正确的。
參考:
1、github上关于这部分的源码
cocos2dx 在android平台打开文件问题的更多相关文章
- 关于文章“cocos2dx移植android平台-我的血泪史”需要注意事项
关于文章"cocos2dx移植android平台-我的血泪史"需要注意事项 在上次转载的这篇文章中,按照配置一步一步的下去.发现工程中在Android.mk中有一处错误.直接bui ...
- 为Cocos2d-x的Android平台加入Protobuffer支持
为Cocos2d-x的Android平台加入Protobuffer支持 分类: 工作2013-11-27 18:00 386人阅读 评论(1) 收藏 举报 cocos2d-xandroid平台交叉编译 ...
- [Cocos2d-x]解决Android平台ndk-build时不自动删除外部库
参考链接: http://blog.chinaunix.net/uid-26009923-id-3430612.html http://hi.baidu.com/hpyfei/item/52a2b21 ...
- cocos2dx 搭建 android 平台
Mac OS X下配置Cocos2d-x for Android(Eclipse)&IOS(Xcode)开发环境 前面一段时间只用Cocos2d-x在IOS平台下开发, 学习Cocos2d-x ...
- cocos2dx移植android平台-我的血泪史
版权声明:本文由( 小塔 )原创,转载请保留文章出处! 本文链接:http://www.zaojiahua.com/android-platform.html 本人这几天一直都没有跟新自己的网站内容, ...
- cocos2dx移植android平台
本人这几天一直都没有跟新自己的网站内容,问我干什么去了,当然是做这篇文章做的事了,说起这个移植来真是麻烦啊,网上试验了各种方法,都不知道谁对谁错啊.不过经过本人这三天的研究最后终于成功了,为了让大家少 ...
- cocos2dx 搭建 android 平台 -2
1.配置Cocos2d-x for Xcode. 这一块比较简单, 可以参见其他文章. 重点:install-templates-xcode.sh 2.配置普通Android开发环境 这一块包括JDK ...
- TalkingData Cocos2dx在android平台使用总结
前言:最近发现很多朋友在使用TalkingData游戏版本Cocos2dx SDK使用过程中会出现的一些问题,今天来做一下总结,希望对您有所帮助: 首先非常感谢您使用TalkingData游戏统计平台 ...
- 【Cocos2d-x】Cocos2d-x跨Android平台搭建之四:Win7 64位+ eclipse + cocos2dX
开始研究cocos2dx,mark一下这个的配置步骤 1 下载eclipse 2 下载android sdk,配置sdk路径,添加环境变量 3 安装adt 4 下载android ndk,配 ...
随机推荐
- Ubuntu中update-grub2与update-grub的区别
没有区别. Ubuntu 9.10及更高版本已安装GRUB2,但sudo update-grub仍然以标准命令为准. sudo update-grub和sudo update-grub2是等同的,所以 ...
- 阿里云 Django部署参考
Linux下安装Python3和django并配置mysql作为django默认服务器 CentOS7.3安装Python3.6 yum except KeyboardInterrupt, e: 错误 ...
- redis中基本命令
记录一下redis中的基本命令.redis中有redis-cli工具客户端,使用这个客户端来发送一些命令 一.redis-cli的使用 1.redis-cli使用之发送命令 2.redis-cli使 ...
- Javascript中的For循环
在开发的过程中,遍历是一个经常遇到的.而for循环则是Javascript工具箱里一个好用的,也常用的工具.每个人的习惯不同,for循环的写法也不尽相同. 1.不写声明变量的写法: for(var i ...
- 笔试算法题(16):二叉树深度计算 & 字符串全排列
出题:要求判断二元树的深度(最长根节点到叶节点的路径): 分析:二元递归不容易使用循环实现 解题: struct Node { int value; Node *left; Node *right; ...
- [Python3网络爬虫开发实战] 1.2.3-ChromeDriver的安装
前面我们成功安装好了Selenium库,但是它是一个自动化测试工具,需要浏览器来配合使用,本节中我们就介绍一下Chrome浏览器及ChromeDriver驱动的配置. 首先,下载Chrome浏览器,方 ...
- Linux中搭建FTP服务器
FTP工作原理 (1)FTP使用端口 [root@localhost ~]# cat /etc/services | grep ftp ftp-data 20/tcp #数据链路:端口20 ftp 2 ...
- 18Spring后置通知
Spring后置通知,和前置通知类似,直接看代码: package com.cn.spring.aop.impl; //加减乘除的接口类 public interface ArithmeticCalc ...
- day21 05 员工信息表
day21 05 员工信息表 假设有一个员工信息表,里面有每个员工的名字,id,年龄,电话,还有他们所作的工作,而有时候我们并不需要所有的信息,而想根据某些条件,寻找符合条件即可,即筛选, 比如想要筛 ...
- JS逻辑运算符&&与||的妙用
JS逻辑运算符&&与||的妙用 /* 文章写的不错 就此分享 */ &&中第一个表达式为假就不会去处理第二个表达式,直接放回结果. || 中就刚很好相反.如果第一个 ...