我从2021年底开始开发一款移动游戏,持续添加内容至今。去年,我的游戏运作正常,最近一次发布是在2022年3月17日。近期,Google Play要求我更新游戏以符合安全政策,因此我尝试推送一些新变化,但遇到了很多问题。考虑到我使用了大量的遗留包和API,于是我尝试修复这些问题,最后放弃并迁移到6000.3.19f1,并更新了所有内容。没有什么显著地变差(这也是为什么我还没恢复到2022.3的备份),但大多数旧问题仍然存在。

当尝试构建到Android时,我会收到这些信息:

  • 在marshalling ...AndroidPlayer\SDK\build-tools\36.0.0\package.xml时出现异常。可能是SDK是只读的
  • 我的最低API级别是34,目标是“最高安装的”,即37。
  • 模块中发现重复类 [class],在kotlin-stdlib-1.8.22.jar和kotlin-stdlib-jdk8-1.6.21.jar中发现
  • 我通过完全移除我的In-App Purchases包来解决这个问题,成功构建。显然,IAPv5需要Kotlin 1.8,而我的项目中还有其他东西需要Kotlin 1.6。

以下是所有安装的包:

  • 2D Sprite 1.0.0
  • 2D Tilemap Editor 1.0.0
  • Al Navigation 2.0.13
  • Analytics 6.3.0
  • Analytics Library 3.8.2
  • Android Logcat 1.4.7
  • Custom NUnit 2.0.5
  • In-App Purchasing 5.4.0
  • JetBrains Rider Editor 3.0.40
  • Multiplayer Center 1.0.1
  • Newtonsoft Json 3.2.2
  • Post Processing 3.5.4
  • Services Core 1.18.0
  • Test Framework 1.6.0
  • Timeline 1.8.12
  • uGUI 2.0.0
  • Unity Version Control 2.12.4
  • Visual Studio Code Editor 1.2.5
  • Visual Studio Editor 2.0.27
  • XR Legacy Input Helpers 2.1.13

除了这些,我的项目中资产非常少,但第三方的Script Dependency Visualizer和iOS Builder;我觉得这些都不会导致构建问题,因为它们的内容不会实际地出现在Android构建中。

我真的不知道如何追踪这个问题。如何才能识别出什么东西要求Kotlin 1.6?