【问题标题】:How to selectively use the Google Play Services packages?如何有选择地使用 Google Play 服务包?
【发布时间】:2018-09-12 19:35:23
【问题描述】:

我在 Unity android 游戏中使用以下插件:

1) Admob

2) Google Play 游戏

3) Unity IAP

我在尝试构建时收到“无法将类转换为 dex 格式”错误。

写入输出时遇到问题:一个 dex 中无法容纳的字段引用过多 文件:65681;最大值为 65536。

我想减少字段引用,而不是实现multidex。 有人可以解释如何有选择地使用 Google Play 服务包吗? 在我的 Assets\Plugins\Android\libs 文件夹中,我有以下文件:

play-services-ads-15.0.1.aar

play-services-ads-base-15.0.1.aar

play-services-ads-identifier-15.0.1.aar

play-services-ads-lite-15.0.1.aar

play-services-auth-16.0.0.aar

play-services-auth-api-phone-15.0.1.aar

play-services-auth-base-15.1.0.aar

play-services-base-15.0.1.aar

play-services-basement-15.0.1.aar

play-services-drive-15.0.1.aar

play-services-games-15.0.1.aar

play-services-gass-15.0.1.aar

play-services-tasks-15.0.1.aar

我正在我的游戏中实施广告、排行榜、成就和 IAP。 如果上面提到的列表中有任何 .aar 包是实现广告、排行榜、成就或 IAP 不需要的,请告诉我,以便我删除它。

【问题讨论】:

  • 我对描述做了很大的改动。

标签: android unity3d plugins build dex-limit


【解决方案1】:

您可以尝试按照本指南使您的应用程序成为允许您绕过该最大值的多路复用应用程序:

https://developer.android.com/studio/build/multidex

【讨论】:

  • 感谢您的回复。我已经经历过了。我只是想知道我是否错误地包含了任何可以删除的包。
  • @Aravind 我们怎么能知道这一点,而无需检查您的每一行代码?此外,您没有正确执行此操作,否则您不会收到 multidex 错误。
  • @GabeSechan 我对这个问题做了很大的改变。这就是我想问的。真的很抱歉一开始没有正确询问。
  • @Aravind 你可以打开proguard。除此之外,答案是multidex。而且我不知道你为什么要避免它 - 这是 21 岁之前的痛苦,但 21 岁之后几乎是自动的。
猜你喜欢
  • 1970-01-01
  • 2017-11-05
  • 1970-01-01
  • 2016-10-30
  • 2016-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多