Quick-cocos2d-x的热更新机制实现(终极版2)(更新3.3版本)

3.3运行了遇到前面有位同学遇到同样的问题

LUA ERROR: :233: bad argument #1 to ‘loadstring’ (string expected, got nil)

也就是在init

function Launcher.doFile(path)
local fileData = cc.HelperFunc:getFileData(path)
local fun = loadstring(fileData)
local ret, flist = pcall(fun)
if ret then
return flist
end

return flist

end

fileData为空 打印 print(path)为:flist

flist 在服务器可以用浏览器访问 res下也有
对这个问题很困惑

热更新在quickx中哪个sample中啊?

不是quickx 里面的sample 是我这个帖子里面可以下载的。

老大 这个 Get data from file(flist) failed, error code is 2 卡在这了 之前昙花一现过 然后一直这样想不通

LUA ERROR: :233: bad argument #1 to ‘loadstring’ (string expected, got nil)

也就是在init

function Launcher.doFile(path)
local fileData = cc.HelperFunc:getFileData(path)
local fun = loadstring(fileData)
local ret, flist = pcall(fun)
if ret then
return flist
end

return flist

end

你是在什么设备上出现的这个问题 android?第一你先查看你的path 是不是正确的
第二:看看调用 cc.HelperFunc:getFileData(path)后能不能获取fileData
第三:你看看file文件你是不是写正确了。

你好,在quick 3.3中使用 cc.FileUtils:getInstance():getDataFromFile(path) 报错

LUA ERROR: :193: attempt to call method ‘getDataFromFile’ (a nil value)

stack traceback:
:193: in function ‘readFile’
:254: in function ‘fileMd5’
:131: in function ‘_onLauncherPacakgeFinished’
:106: in function ‘_onResponse’
:80: in function <:79>

我差了一下由于getDataFromFile没有导出。我自定义导出了一下这个方法,但是会编译不过去,说是Data 对象转换不了成lua对应的数据结构。请问这该怎么修改

更新最新的git代码就可以解决这个问题了。

谢谢。方便说一下需要改哪几个地方吗,我手动改下

https://github.com/dualface/v3quick/commit/e75d0c2e03a4dc4f05c41de9e2711f8e9159db68 查看这个修改就可以了。

好的,谢谢!

使用 cc.HTTPRequest:createWithUrl 下载经过 xxtea_chunk 加密的脚本,貌似是下载的内容不全,只有前几个字节。普通的打包成zip是可以的

我下载加密资源什么的都可以啊。

好吧,我的图片加密的可以正常下载。我再好好看看吧!:2:

3.3和143楼的同学遇到同样的问题
LUA ERROR: :233: bad argument #1 to ‘loadstring’ (string expected, got nil)
function Launcher.doFile(path)
local fileData = cc.HelperFunc:getFileData(path)
local fun = loadstring(fileData)
local ret, flist = pcall(fun)
if ret then
return flist
end

return flist

end

fileData为空
print(path)为:flist

求楼主帮助哇

搜索路径是否设置正确,自己先检查下。

请问楼主 更新器脚本包下载 这个更新器脚本包 是什么东西? 不是有下载比对flist 然后去下载文件吗 楼主能说下吗

是比较flist 里面的不同点去做的下载。

是比较flist 里面的不同点去做的下载。

如果是新增的一个png,旧版本的没有这个png,也回去下载吗?

还有,每次启动都会下载flist?还是先比较版本号再做判断是否下载?

我看了代码,是先比较版本号的,就是不清楚是否每次都会下载flist

问题1:新增加的会去下载。
问题2:一般都会去下载flist文件,做比较。

感谢三刀。。。