在与Crashlytics

问题描述:

统一的Android项目启用Multidex我有一个非常类似的问题,因为这里讨论:Using Fabric with Multidex with an exported Unity project在与Crashlytics

两个面料和Multidex(对于较旧的Android版本)需要增加应用程序子类AndroidManifest.xml文件的应用程序标签。但是我不能在没有错误的情况下同时包含这两个类,并且我无法访问这两个类中的任何一个来修改它们并更改继承层次结构。

(I need both of these together.) 
<application ... android:name="android.support.multidex.MultiDexApplication"> 
<application ... android:name="io.fabric.unity.android.FabricApplication"> 

我们的构建采用摇篮(相当于团结新支持的),如果打开的任何途径。

我该如何解决这个问题?我愿意反编译和重建罐子,但到目前为止,我所有努力去反编译fabric-init.jar(包含Application子类)都失败了。

+1

我觉得这是一个dup。它看起来像你有“太多的字段引用*的问题,并希望启用Multidex出于这个原因。另一个解决方案是使用ProGuard从[this]中的其他答案建议(https://stackoverflow.com/q/ 42582850/3785314)问题如果ProGuard没有足够的减少它,那么继续使用Multidex解决方案 – Programmer

+0

我们正在调整我们所能做的一切,并且正在切换到Multidex。我的问题不仅仅是“如何启用multidex”,它是“如何在Unity Android项目中启用multidex,该项目也使用Crashlytics或Fabric”。问题是,这两者都会导致与另一个的实现冲突。 – vargonian

+0

好吧我只是确保您已经尝试使用ProGuard。 – Programmer

您可以使用自定义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与描述如何让它在点击几下。