“java.exe”退出代码 2 Xamarin.Android 项目

所以我有我的Xamarin.Android项目,其中包含几个库。当我尝试构建时,我收到一个错误,显示“java.exe”退出,代码为2。

经过几个小时的谷歌研究,我发现我可以启用Multidex。根据Jon Doublas的博客文章,我做了提到的步骤。http://www.jon-douglas.com/2016/09/05/xamarin-android-multidex/

根据博客文章Android API Level >21处理Multidex本身。好吧,我的经验是它没有。我正在API级别25上进行构建,并一次又一次地使用相同的信息获得相同的错误。本文中的步骤没有帮助。似乎Xamarin.Android不支持Multidex。

似乎您必须自己处理Multidex,但我还没有找到任何有效的解决方案。有没有人找到一个有效的解决方案?

我正在使用Xamarin 4.6和Visual Studio 2017。


答案 1

在我的项目中搜索了大约20个小时后找到了答案。因此,以下是解决代码2退出的“java.exe”问题的步骤

1) 更改 MainDexClasses.bat如链接中所述:

http://www.jon-douglas.com/2016/09/05/xamarin-android-multidex/

2)确保您已在Android应用程序中启用了选项!如果设置为(在我的情况下,即使我启用了,也不要查看该文件Multidex.csprjMultidextrueMultidex)

3) 在文件中添加以下部分AndroidManifest

<application android:name="android.support.multidex.MultiDexApplication"></application>

这将告诉您的Android项目实际使用给定的Multidex-Option。

经过清理和构建后,我能够按原样运行我的应用程序。


答案 2

找到这个问题并@Daniel_97s答案后,我只能通过将multiddex添加到项目中而不更改MainDexClasses来解决此错误.bat:

  1. 选中项目选项中的选项:

Check the option in Project Options:

  1. 添加到安卓清单:MultiDexApplication

    <application android:name="android.support.multidex.MultiDexApplication"></application>
    

注意 我在Visual Studio for Mac上收到此错误代码2,在Windows上,同一应用程序已成功构建。(为什么?


推荐