AssetsManager 更新 android 获取不到版本号?

用quick 自带的 player 运行,更新正常,第一次更新还自动生成 UserDefault.xml 文件,并把最新版本号写入此文件。

问题 ↓

编译到android,真机测试,更新不了了,不知道是没有创建UserDefault.xml文件呢?还是。。。
反正获取不到版本号,也下载不了资源

android 的权限都开通了

xcode 提示 can not create file cocos2dx-update-temp-package.zip errorCreateFile错误

xode 测试也遇到同样的问题

解决方法

我的错误提示是
can not create file /Users/apple/Library/Application Support/iPhone Simulator/6.1/Applications/27F20F8A-8E4B-4310-890F-A51733AF2F86/Documents/res/cocos2dx-update-temp-package.zip 不能创建这个缓存文件

我在
Documents目录下手动创建 res 目录,测试 下载成功,解压也成功

又一个问题

解压到res文件夹下,如何解压到项目里的 Resources / res 文件夹下呢?程序是调用这个文件夹下的代码以及资源图片的啊?如图所示

那个目录是不可写的。你更新资源后,代码里要先去查找新资源所在的目录才行。

我的办法

在更新资源时在Documents目录下(android是 data/data/…/files/)动态创建文件夹,如下
self.path = device.writablePath
self:createDownPath(self.path …“res/”)
self:createDownPath(self.path…“scripts/”)

–创建文件夹
function UpdateScene:createDownPath( path )
if not self:checkDirOK(path) then
print(“更新目录创建失败,直接开始游戏”)
self:noUpdateStart()
return
else
print(“更新目录存在或创建成功”)
end
end

function UpdateScene:checkDirOK( path )
require “lfs”
local oldpath = lfs.currentdir()
if lfs.chdir(path) then
lfs.chdir(oldpath)
return true
end
if lfs.mkdir(path) then
return true
end
end
注:参考帖子 http://cn.cocos2d-x.org/tutorial/show?id=1017

然后在Main.lua 中,写入如下代码调用更新资源

local writablePath = CCFileUtils:sharedFileUtils():getWritablePath()
CCFileUtils:sharedFileUtils():addSearchPath(writablePath … “res/”)
CCFileUtils:sharedFileUtils():addSearchPath(writablePath … “scripts/”)
CCFileUtils:sharedFileUtils():addSearchPath(“res/”)
CCFileUtils:sharedFileUtils():addSearchPath(“scripts/”)
CCLuaLoadChunksFromZIP(“framework_precompiled.zip”)

require(“app.MyApp”).new():run()

请教下我这样逻辑是对的嘛? 测试是可以更新的 以及 加载更新的资源,感觉有两处代码文件(Resources目录下一处代码,Documents目录动态更新的一处代码),我就是是先加载更新的资源
(之前在社区里看到一篇帖子【热更新 终结版】,对于我们这些初学者来说超级复杂)

非常感谢 阳光七月 帮助

这样资源更新应该没问题,但代码更新可能不会生效,特别是在代码打包的情况下。