收藏
回答

打包运行提示module="a" function="V" error

游戏引擎 AppID 操作系统 微信版本 基础库版本
unity wxd8e75fa7cc2dc3e3 Android 6.5.3 2.0.0

unity 打包小游戏后,用开发者工具打开提示以下这个错误:

LinkError: WebAssembly.instantiate(): Impor #47 module="a" function="V" error: function import requires a callable(env: Windows,mg,2.01.2510270; lib: 3.2.5)

用wasm解析工具解出了对应的.wat文件,并在其中找到了相关信息是  (import "a" "V" (func $JS_Sound_GetAudioContextSampleRate (;47;) (type 19)))

请问这个是什么问题,经常会出现,我已关闭了游戏中和音频相关的全部代码也不行。之前还可以打包,每次优化一些三方包之后,就容易出现这个问题。

回答关注问题邀请回答
收藏

2 个回答

  • 安迪
    安迪
    01-30

    这个问题已经解决了,新建了一个空项目,把代码再放回去,固定小游戏导出的版本为0.1.29,添加缺失的包,可以正常打包并用开发者工具打开和上传了,真机运行也没问题。怀疑主要出问题在导出的时候不能选择latest和tuanjie的版本,使用的是团结引擎的1.6版本,升级到1.8之后新建空项目再把旧资源复制过来打包是没问题的,也可能之前引擎和删除过多的杂乱的包导致的,也可能是有一些其它项目的残留导致的。没有细查了,总之这样能解决问题就可以了,以后再有问题不去细查是什么问题了,搞了一晚上也查不到问题。用新版引擎建新项目还是靠谱些。

    01-30
    有用
    回复
  • zhanglinhao
    zhanglinhao
    01-28

    Unity 打包时的 WASM 模块,依赖浏览器 / 微信小游戏环境提供的音频相关 JS 桥接函数,但该函数缺失 / 未正确注入即便你关闭了游戏内音频代码,三方包、Unity 引擎底层仍残留音频相关 WASM 导入依赖,优化三方包后破坏了原有桥接映射,导致报错

    01-28
    有用
    回复 1
    • 安迪
      安迪
      01-30
      感谢回复
      01-30
      回复
登录 后发表内容