C#Xamarin Android Multi-Dex应用程序,带有一个自定义应用程序类,可在pre-Lollipop上运行
我遇到了65K的限制并启用了Multidex,之后我就不再在棒棒糖前的设备上安装了。经过数小时的调试和搜索,我找到了一个解决方案 我根据已接受的答案更改了应用程序的子类,到目前为止一切正常 我最近发现,每当应用程序遇到未经处理的异常时,我都会在类中提供一些代码处理作为解决方法。因此,当我调试时,我看到它从未进入C#Xamarin Android Multi-Dex应用程序,带有一个自定义应用程序类,可在pre-Lollipop上运行,c#,android,C#,Android,我遇到了65K的限制并启用了Multidex,之后我就不再在棒棒糖前的设备上安装了。经过数小时的调试和搜索,我找到了一个解决方案 我根据已接受的答案更改了应用程序的子类,到目前为止一切正常 我最近发现,每当应用程序遇到未经处理的异常时,我都会在类中提供一些代码处理作为解决方法。因此,当我调试时,我看到它从未进入Oncreate(),我的变通方法对我的应用程序没有影响 经过一些研究,我发现Java中的android.support.multidex.multidex应用程序类可以解决我的问题。但是
Oncreate()
,我的变通方法对我的应用程序没有影响
经过一些研究,我发现Java中的android.support.multidex.multidex应用程序类可以解决我的问题。但是我在我的SDK管理器中找不到类似的东西,现在我可以用任何其他方式安装它了
Xamarin是否支持此功能
还有别的办法解决这个问题吗?还是我的方向正确?您提到的解决方案已经过时了。现在,您不需要创建自定义的multidex应用程序类来使multidex在Xamarin中工作。
另外,android.support.multidex.MultiDexApplication
在Xamarin中不可用。以下是在项目中启用多索引的步骤
在Android项目属性中,选中启用多索引
创建自定义的multidex。将
文件保留在Android项目中,并将构建操作设置为MultiDexMainDexList
自动生成的multidex.keep文件()上存在来自Xamarin的错误。因此,您需要在新创建的multidex.keep
文件中添加一些.class文件
mono/MonoPackageManager.class
mono/MonoRuntimeProvider.class
mono/MonoPackageManager_Resources.class
mono/android/app/NotifyTimeZoneChanges.class
mono/android/app/ApplicationRegistration.class
将应用程序中需要的其他类添加到multidex.keep
文件中
mono/MonoPackageManager.class
mono/MonoRuntimeProvider.class
mono/MonoPackageManager_Resources.class
mono/android/app/NotifyTimeZoneChanges.class
mono/android/app/ApplicationRegistration.class
您可能需要执行以下操作:
- Clean project
- Close Visual Studio
- Delete all bin and obj folder
- Open back your solution
- Clean and build again
欢迎来到StackOverflow。请拿着这本书四处看看,通读一遍,然后阅读,并提供一个答案。如果周围的人能够轻松地阅读和理解您的意思,或者问题是什么,他们可能会更愿意提供帮助:)谢谢,我找到了multidex.keep文件,但它是空的。应该是这样吗?你在哪里找到multidex.keep文件的?它应该是您自己创建的文件。您好,我在obj/(Debug | Release)/multidex.keep下找到了它,它就在您提供的链接中。我是xamarin.Android新手,我真的不知道multidex.keep文件是什么。您应该将multidex.keep文件添加到您的Android项目中,如步骤2所述。然后将步骤3中提到的项目列表放入multidex.keep文件中。