layabox之layadcc使用记录(android)

最近在将微信小游戏的包打成android的过程中,踩了一些坑。在此记录一下。

layabox的android打包过程可以分为如下3部分。

1,打包

2,打layadcc

3,将资源部署到服务器并且测试。

 

1,打包

此处为使用脚本构建工程。参照的文档为:https://ldc2.layabox.com/doc/?language=zh&nav=zh-ts-6-3-0

这里需要注意的一点,就是这个--url参数应该是什么。

这个--url参数,作为线上包的话,应该指向一个由游戏工程打出来的一个web release。

--url就是指向这个web工程项目路径下的index.js文件的url。

比如你部署到了www.mygame.com/game下。

那这个url就是https://www.mygame.com/game/index.js

这个js,作为安卓的启动页,是必须的。

 

2,打layadcc。

这个layadcc,可以说是一种加密了的资源。可以分为两部分

具体流程参照:https://ldc2.layabox.com/doc/?language=zh&nav=zh-ts-6-2-0

1,被加密的资源。

2,对这些资源的描述文件。有filetable.bin,allfiles.txt,assetsid.txt,filetable.txt

其中,被加密的资源,是用于打到包里去的。而描述文件,在打包的时候,和以后的更新都会用到。

layabox运行时候的逻辑是这样的。

首先,去加载本地的描述文件。然后再根据打包时提供的地址,去下载该文件夹里的update中的最新描述文件。

并且将最新的描述文件缓存。

当用到某个资源的时候,会对比描述文件,如果发现本地的文件不是最新,则会去打包时设置的web部署路径下去下载最新的文件。

这里发现了没?打包的时候,用的是dcc文件,但是在更新的时候,用的是源文件!!!!!!!

而且layadcc有这样一个特性,就是只有打包时,本地的那个描述文件里的文件才会缓存,除此之外,其他的新文件,都是不缓存的!!!

所以要怎么打包呢?请看3.

 

3,那这种机制的情况下,要如何打包才比较好呢?

官方的建议如下:

1,首先把所有的资源打成web 的release。然后将这个release打成dcc。这一步,要的是完整项目的dcc描述文件。

2,使用编辑器的排除功能,打一个精简版的web release。其实就是希望玩家一进去有的资源。

3,将这个精简版的资源,打到android的包里去。

4,将第一步完整版的描述文件,覆盖精简版的描述文件。

 

这样,就默认了打包时候的这些项目文件,都会缓存。而且这些文件,当线上有新版本的时候,就会去下载最新的并且缓存。

 

这些过程比较繁琐,我写了一些bat。供参考。

链接: https://pan.baidu.com/s/1crrYQ_sStPiZ7iLwFqSEdg 提取码: h4ki 复制这段内容后打开百度网盘手机App,操作更方便哦

 

posted @ 2021-06-07 19:20  bigasa  阅读(1429)  评论(0编辑  收藏  举报