cocos lua android平台热更后lua脚本未生效

新人第一次接触热更,能成功热更下服务器的资源,并且能在MAC和iOS平台上运行刚更新下的图片资源及lua代码。
但是在android平台上的表现是:图片资源能获取到,但新的lua文件不能运行。请教下各位看有没有什么好的方法可以排查到原因。

程序运行的顺序是:UpdateScene.lua 跳转到 LoginScene.lua(被热更的文件)

我贴几个关键代码吧,需要我提供什么说,只求解决思路~~~

UpdateScene.lua中的更新代码是:

function UpdatePanel:startUpdate()
    local writablePath = cc.FileUtils:getInstance():getWritablePath()
    local storagePath = writablePath .. "newVersion"

    -- 创建AssetsManagerEx对象
    local assetsManagerEx = cc.AssetsManagerEx:create("src/version/project.manifest", storagePath)
    assetsManagerEx:retain()

    -- 设置下载消息listener
    local function handleAssetsManagerEx(event)
        if (cc.EventAssetsManagerEx.EventCode.ALREADY_UP_TO_DATE == event:getEventCode()) then
            self:updateStateText("当前是最新版本,即将进入游戏")
            self:goLogin()
        end

        if (cc.EventAssetsManagerEx.EventCode.NEW_VERSION_FOUND == event:getEventCode()) then
            self:updateStateText("发现新版本,开始升级")
        end


        if (cc.EventAssetsManagerEx.EventCode.UPDATE_PROGRESSION == event:getEventCode()) then
        	self:updateProcessBar(event:getPercent())
        end


        if (cc.EventAssetsManagerEx.EventCode.UPDATE_FINISHED == event:getEventCode()) then
            self:updateStateText("更新完毕,即将进入游戏")
            unloadAllFile()--清除package.loaded中的lua文件
            self:goLogin()--跳转到LoginScene.lua场景
        end

        if (cc.EventAssetsManagerEx.EventCode.ERROR_NO_LOCAL_MANIFEST == event:getEventCode()) then
            self:updateStateText("发生错误:本地找不到manifest文件,建议重新最新游戏客户端或重试更新")
            self:showRetryBtn()
        end

        if (cc.EventAssetsManagerEx.EventCode.ERROR_DOWNLOAD_MANIFEST == event:getEventCode()) then
            self:updateStateText("发生错误:下载manifest文件失败,请联系搓搓游戏或重试更新")
            self:showRetryBtn()
        end

        if (cc.EventAssetsManagerEx.EventCode.ERROR_PARSE_MANIFEST == event:getEventCode()) then
            self:updateStateText("发生错误:解析manifest文件失败,请联系搓搓游戏或重试更新")
            self:showRetryBtn()
        end

        if (cc.EventAssetsManagerEx.EventCode.ERROR_UPDATING == event:getEventCode()) then
            self:updateStateText("发生错误:更新失败,请联系搓搓游戏或重试更新")
            self:showRetryBtn()
        end
    end


    local dispatcher = cc.Director:getInstance():getEventDispatcher()
    local eventListenerAssetsManagerEx = cc.EventListenerAssetsManagerEx:create(assetsManagerEx, handleAssetsManagerEx)
    dispatcher:addEventListenerWithFixedPriority(eventListenerAssetsManagerEx, 1)


    -- 检查版本并升级
    assetsManagerEx:update()

    self:showProcessPanel()
    self:updateStateText("正在检查更新")

end
--添加搜索路径(这个函数在main.lua中执行)
function refreshSearchPath()
    local writablePath = cc.FileUtils:getInstance():getWritablePath()
    local storagePath = writablePath .. "newVersion"
    if not (cc.FileUtils:getInstance():isDirectoryExist(storagePath)) then         
        cc.FileUtils:getInstance():createDirectory(storagePath)    
    end

    local targetPlatform = cc.Application:getInstance():getTargetPlatform()

    --将下载目录的src和res作为优先级最高的搜索目录,这样才能保证下载的能覆盖原来的代码
    --MAC和IOS平台用此方法增加searchPath
    if cc.PLATFORM_OS_MAC == targetPlatform or cc.PLATFORM_OS_IOS == targetPlatform then
    	local searchPaths = cc.FileUtils:getInstance():getSearchPaths() 
	    table.insert(searchPaths, 1, storagePath.."/assets")
	    table.insert(searchPaths, 2, storagePath.."/assets/src")
	    table.insert(searchPaths, 3, storagePath.."/assets/res")

	    cc.FileUtils:getInstance():setSearchPaths(searchPaths)

    else
        --Android用setSearchPaths会黑屏,所以用这部分代码增加searchPath
    	local assDir = storagePath.."/assets"
        cc.FileUtils:getInstance():addSearchPath(assDir,true)

        local srcDir = storagePath.."/assets/src/"
        cc.FileUtils:getInstance():addSearchPath(srcDir,true)

        local resDir = storagePath.."/assets/res/"
        cc.FileUtils:getInstance():addSearchPath(resDir,true)
    end

end
------------------------- 自定义require,方便热更的时候全部卸载 -------------------------
--(这个类在main.lua第一行require)
local _require = require
local loaded_files = {}

require = function(name)
	--print("自定义require:"..name)
	if not loaded_files[name] then
		loaded_files[name] = _require(name)
	end

	return loaded_files[name]
end

unloadAllFile = function()
	for name, _ in pairs(loaded_files) do
		if string.sub(name,1,string.len("app."))=="app." or 
				string.sub(name,1,string.len("sandglass."))=="sandglass." or 
				name == "version" or 
				name == "version_list" or 
				name == "version_server" or
				name == "version_list_server" then

			package.loaded[name] = nil
		end
	end

	for name, _ in pairs(loaded_files) do
		logUtil:write(name)
	end

	loaded_files = {}
end
-------------------------------------------------------------------------------------