unity-lua打包成AssetBundle后md5不一致问题


title: unity-lua打包成AssetBundle后md5不一致问题
categories: Unity3d
tags: [unity, lua, assetbundle, md5]
date: 2020-07-04 15:58:25
comments: false
mathjax: true
toc: true

unity-lua打包成AssetBundle后md5不一致问题


前篇

unity3d 项目中的 lua 脚本是打成 AssetBundle 的方式进行热更, 遇到了看上去 相同 的 lua 代码, 但是不同机子打出来的 md5 不一致, 同一机子打出来的 md5 有时 也不一样的问题.

但是美术资源打成 AssetBundle 就没有遇到这样的问题, 为啥??

一番研究之后终于找到问题所在.


真相

主要原因有两个

  1. lua 文件没有对 git 的 换行符 做限定, 导致文件的的 md5 发生变化, 但有 diff 不出来.

    解决办法: 所以要对 git 做 换行符限定, 同一成 LF 最好.

  2. 打包是将 lua 考到 Assets 目录内的临时目录时, 重新生成了新的 .meta 文件, 导致打出来 AssetBundle 的 md5 发生变化.

    解决办法: 将临时目录页上传到 git 做版本控制, 打完包也不要删除 (主要是不删除 .meta 文件)

解决完这两个问题, 就能保持 md5 一致.


你可能感兴趣的:(Unity3D)