zoukankan      html  css  js  c++  java
  • 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,操作更方便哦

  • 相关阅读:
    03-es6语法 Promise 和 es8语法 async await 的了解和基本使用
    02-遍历数组的方法
    01-操作数组的方法
    position 几个属性的作用
    javascript---split 和 join 的区别
    微信sdk (1)
    php获取post参数的几种方式
    linux循环递归设置权限
    php汉字截取
    php汉字生成首字母
  • 原文地址:https://www.cnblogs.com/beatless/p/14860171.html
Copyright © 2011-2022 走看看