【AssetBundle代码分享】Creator2.3.3实现Native环境加载RemoteSubpackage

使用方法:

首先在编辑器里设置subpackage

构建Android或IOS,此处以Android为例

构建完成后进入build/subpackages目

重命名

压缩为zip

zip上传到服务器

删除subpackages文件夹

构建,或用AndroidStudio构建

注意!
多个子包的话目录都要重命名为res,压缩后文件名随意,和代码中下载地址对应就好
代码中jsb.fileutils.unzip是将AssetsManager的decompress方法挪到FileUtils.cpp并绑定的,网上有教程
代码中MainScene配置的下载地址不保证永久有效
测试包在工程test目录下,有效时间和上一条一致

代码中LoadUtil实现了加载计数,只在所有加载都进行释放后才会真正release
代码中DownloadUtil实现了下载保存

代码GIT

你好 你这个跟热跟新有什么区别呢。 优点不是很明显呢

我这目前是用于加载关卡,关卡比较多,地图,怪物也不一样,就在每个关卡第一次进的时候下载

代码中jsb.fileutils.unzip是将AssetsManager的decompress方法挪到FileUtils.cpp并绑定的,网上有教程
哪里能看到教程 能分享下教程吗

这个Git的Custom分支下有相关修改

用你的项目 我测试了下 ,直接构建,然后直接删除subpackages 文件夹 ,然后build 打包, 服务器还是用的你的那个网址,下载成功了没有实例化出来

你好 是那里出问题了吗

有具体报错日志吗?

这是所有的日志,点击下载之后到了100% ,都没反应了,然后我有看了下你apk 的大小

15M, 应该是没有去掉子包资源,我去掉子包资源 就5M

你的apk 好像是把子包打进去了 才显示出来的

我测了下
(因为改了别的,包比之前大)
全包打出来30.2MB 删掉子包后24.5MB,安装下载正常.
而且我这引擎编译出的so库压缩前已经十几MB了。5M的包是不是没有so?

这个视频才5M 左右,你怎么会生成30.2M , 我也不知道删除了subpackage 子包生成的包就5M.那个15M的应该正常的

SO文件大

可以打个debug包看一下报错,这个逻辑应该没问题,我们线上项目用这个分别加载十几个子包

问下这个unzip 我修改了 是不是还需要js 绑定 ,

这两个文件都修改了,好像是解压出了问题

也不知道为啥我的包那么小 还能运行

就到这个界面就不能运行了,直接用你的代码打包,什么都没修改

还需要修改jsb_cocos2dx_auto 添加绑定