问题
I have exported my Unity project to be able to use multidex. Problem is I have to set the android:name in the project's androidmanifest to "android.support.multidex.MultiDexApplication" when I already have this "io.fabric.unity.android.FabricApplication" set for fabric.
I have tried initializing Fabric manually but then I get this error : AndroidJavaException: io.fabric.unity.android.FabricInitializationException: Fabric did not find a valid application context.
I have found that someone had a similar problem but it didn't got solved: https://twittercommunity.com/t/unity-android-plugin-conflicts/79947?source_topic_id=83751
Thanks in advance for your help!
回答1:
Add next lines to your Application
method:
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);
}
Also, one more solution you can check here, I created a small GitHub repo with description how to make it in few clicks.
回答2:
Was having the same problem.
Ended up creating a new android studio project. Imported Fabric-(some version).jar and Fabric-init.jar which I got from the android plugins folder inside the Unity project.
Decompiled the Fabric-init.jar and modified the FabricApplication.java class in order to extend from MultiDexApplication instead of Application.
Built the project and extracted the new FabricApplication.class from the build folder in the Android Studio project/app.
Replaced the FabricApplication.class inside the Fabric-init.jar of the Unity project with the new one.
Left "io.fabric.unity.android.FabricApplication" as the application name in the manifest.
Tested in android 4.4 and it worked. Not ideal though because I'll have to do it with every plugin update, but considering I'm a noob with this gradle thing (and Android projects in general), I'm beyond happy that at least it worked.
If anyone comes up with a better approach, please let us know!
来源:https://stackoverflow.com/questions/42971043/using-fabric-with-multidex-with-an-exported-unity-project