oynix

于无声处听惊雷,于无色处见繁花

解决:aapt2 LoadedArsc.cpp:682] Unknown chunk type '200'问题

今天本地打包测试时,突然报错提示了这个问题,为什么说是突然呢,因为同样的代码在远程打包机上一切正常。

日常会遇到这样一类问题,特点是在网上查不到什么可行的解决方案,最终一番折腾下来,发现是因为一个极为低级的错误导致的,所以网上很难查到。

这次,我的第一反应便是如此,这一定是个很低级的错误导致的。但是谷歌上一查发现,有不少人遇到过同样的问题,有的说增加jvm最大内存限制解决了,有的说升级AGP版本解决了,有的说减少打包配置里noCompress文件数量解决了。

众说纷纭,但是一番折腾下来问题依然在。

转念一想,换个思路,对比一下打包机导出的项目和本地导出项目有没有什么差别。对比下来,发现原来是targetSdkVersion不同,导出时选择的是设备最高版本,打包机装的最新的SDK Platform版本是33,而我的本地已经装到了34,就这么一点细微差别,修改之后,顺利出包。

总结下来,还是个常谈的版本互相兼容问题,某些依赖库或是工具升级到某个版本后,配套的可能需要升级一连串的东西。

下面是我验证过可行的版本搭配:

  • Unity Editor: 2020.3.41f1
  • Android Gradle Plugin: 4.2.1
  • Gradle: 6.7.1
  • minSdkVersion: 21
  • targetSdkVersion: 33
  • buildToolsVersion: 30.0.1
  • Ndk Version: r19(19.0.5232133)
  • Java: OpenJDK 1.8.0_352
------------- (完) -------------
  • 本文作者: oynix
  • 本文链接: https://oynix.com/2024/06/fa7099f2a585/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

欢迎关注我的其它发布渠道