【问题标题】:Using Fabric with Multidex with an exported Unity project在导出的 Unity 项目中使用带有 Multidex 的 Fabric
【发布时间】:2017-03-23 08:45:32
【问题描述】:

我已经导出了我的 Unity 项目以便能够使用 multidex。问题是当我已经为织物设置了这个“io.fabric.unity.android.FabricApplication”时,我必须将项目的 androidmanifest 中的 android:name 设置为“android.support.multidex.MultiDexApplication”。

我曾尝试手动初始化 Fabric,但随后出现此错误: AndroidJavaException: io.fabric.unity.android.FabricInitializationException: Fabric 没有找到有效的应用程序上下文。

我发现有人遇到了类似的问题,但没有得到解决: https://twittercommunity.com/t/unity-android-plugin-conflicts/79947?source_topic_id=83751

提前感谢您的帮助!

【问题讨论】:

  • 您确定需要更改名称吗?我有类似的设置,并没有在清单中更改它,一切正常。
  • 嗨@turnipinrut,是的,Android 4.x 用户需要它,否则会导致崩溃

标签: android manifest unity5 crashlytics twitter-fabric


【解决方案1】:

Application 方法中添加下一行:

protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    // this one is needed to enable multidex in your application
    MultiDex.install(this);
}

public void onCreate() {
    super.onCreate();
    // this one is needed to init the Fabric SDK
    FabricInitializer.initializeFabric(this, FabricInitializer.Caller.Unity);
}

另外,您可以在此处查看另一个解决方案,我创建了一个小的 GitHub repo,并说明了如何通过几次点击来完成。

【讨论】:

    【解决方案2】:

    遇到同样的问题。

    最终创建了一个新的 android studio 项目。 导入了我从 Unity 项目中的 android plugins 文件夹中获得的 Fabric-(some version).jar 和 Fabric-init.jar。

    反编译 Fabric-init.jar 并修改 FabricApplication.java 类,以便从 MultiDexApplication 而不是 Application 扩展。

    构建项目并从 Android Studio 项目/应用的构建文件夹中提取新的 FabricApplication.class。

    将Unity项目的Fabric-init.jar中的FabricApplication.class替换为新的。

    将“io.fabric.unity.android.FabricApplication”作为清单中的应用程序名称。

    在 android 4.4 中测试,它工作正常。 虽然不理想,因为我必须在每次插件更新时都这样做,但考虑到我是这个 gradle 东西(以及一般的 Android 项目)的菜鸟,我很高兴至少它有效。

    如果有人提出更好的方法,请告诉我们!

    【讨论】:

    • 第一步(创建 Android Studio 项目)是否必要,或者您是否可以仅通过反编译 fabric-init.jar 并修改其中包含的 FabricApplication.java 类来完成此操作?
    • 另外,你用什么工具反编译的?作为一个 Android n00b 自己,我很难遵循确切的步骤(尤其是与 Android Studio 相关的步骤)。
    猜你喜欢
    • 2018-02-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-29
    • 2023-03-05
    • 1970-01-01
    • 2017-08-04
    • 1970-01-01
    • 2017-05-27
    相关资源
    最近更新 更多