【问题标题】:facebook Unity sdk. Can I reduce the number of methods in it [duplicate]脸书 Unity SDK。我可以减少其中的方法数量吗[重复]
【发布时间】:2017-05-23 15:44:12
【问题描述】:

由于这个问题“方法引用过多:76221;最大值为 65536”,我无法构建当前的 Unity Android 游戏

我正在使用以下 SDK

Facebook(登录并结交朋友)

GameSparks(后端)

Firebase 消息传递(用于推送通知)

Appodeal(用于广告)

在联系 appodeals 支持后,他们向我指出了一个不同的 appodeal sdk 包,当我使用那个时我仍然无法构建,但数量已从 76221 下降到 71455。

我想知道我是否也可以减少 facebook SDK 并且可能低于 65536 标记。

我使用 facebook SDK 所做的只是...

初始化

登录

获取访问令牌

获取头像的url

【问题讨论】:

  • 为什么要问同样的问题 3 次?
  • 您阅读问题了吗?他们不一样!!!
  • 一个是关于从unity导出到android studio。这是为了通过减少 facebooks Unity sdk 中的方法数量来避免这样做。即使整个导出过程成功了,因为它的工作流被杀死几乎毫无意义,因为必须定期构建设备以测试手机游戏中的许多功能
  • "这个问题在这里已经有了答案:"这是完全错误的。这几天太令人沮丧了
  • 哦,真的吗??好吧,我现在有一个解决核心问题的方法,方法是正是。这些海量的 sdk 不仅仅是一个大文件。它们由多个库组成,我能够删除我没有使用的部分 appodeals SDK。展示你所知道的。

标签: android facebook unity3d


【解决方案1】:

您应该通过不包含整个软件包而仅包含您真正需要的部分来成功解决您的问题。例如,如果您在 firebase 上所做的只是消息传递,则只包括核心和消息传递:

compile 'com.google.firebase:firebase-core:10.2.4'
compile 'com.google.firebase:firebase-messaging:10.2.4'

【讨论】:

    【解决方案2】:

    您可能尚未探索过的一个解决方案是将项目导出到 Android Studio,然后尝试剥离内容。您还可以针对更高的 minSDK(我认为高于 Lollipop)。不幸的是,我没有更可靠的具体“答案”来解决这个问题,但我可以为您提供更多关于问题性质的详细信息。

    在 Dalvik 运行时运行的应用程序会导出到 Dalvik 可执行文件 (DEX) 中。 Dalvik 规范只允许 65,536 个方法引用,因此是您的问题。新的 ART 运行时支持 multidex,即多个 DEX 文件。

    您可以在这里阅读更多内容:https://developer.android.com/studio/build/multidex.html

    有一个关于此的 Unity 论坛帖子。你可以在这里阅读更多:https://forum.unity3d.com/threads/multidex-support-on-android.325429/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-25
      • 1970-01-01
      • 1970-01-01
      • 2021-10-15
      相关资源
      最近更新 更多