c# –Xamarin Java.exe退出,代码为1(Proguard Issue)

c# –Xamarin Java.exe退出,代码为1(Proguard Issue),第1张

概述与Xamarin的另一天!甚至无法建立我的第一个HelloWorld项目!不奇怪,是吗?所以,新的Xamarin.Android空白项目.启用ProGuard,仅链接到SDKAssemblies并继续构建项目.还有哈拉!有一个错误!(等等,我不应该感到惊讶,对吧?毕竟,这是Xamarin).这是错误:“java.exe”exitedwithcode1双击

与Xamarin的另一天!甚至无法建立我的第一个Hello World项目!不奇怪,是吗?

所以,新的Xamarin.Android空白项目.启用ProGuard,仅链接到SDK AssemblIEs并继续构建项目.还有哈拉!有一个错误!(等等,我不应该感到惊讶,对吧?毕竟,这是Xamarin).这是错误:

“java.exe” exited with code 1

双击该异常将打开Xamarin.AndroID.Common.Targets文件并指向ProGuard标记,如下所示:

<ProguardCondition="'$(AndroIDEnableProguard)' == 'True' and '$(_ProguardProjectConfiguration)' != ''"ProguardJarPath="$(ProguardJarPath)"AndroIDSdkDirectory="$(_AndroIDSdkDirectory)"JavaToolPath="$(JavaToolPath)"ProguardToolPath="$(ProguardToolPath)"ToolExe="$(ProguardToolExe)"UseProguard="$(UseProguard)"JavaPlatformJarPath="$(JavaPlatformJarPath)"ClassesOutputDirectory="$(IntermediateOutputPath)androID\bin\classes"AcwMapfile="$(_AcwMapfile)"ProguardCommonXamarinConfiguration="$(IntermediateOutputPath)proguard\proguard_xamarin.cfg"ProguardGeneratedReferenceConfiguration="$(_ProguardProjectConfiguration)"ProguardGeneratedApplicationConfiguration="$(IntermediateOutputPath)proguard\proguard_project_primary.cfg"ProguardConfigurationfiles="$(ProguardConfigfiles)"JavalibrarIEsToEmbed="@(_Jarstoproguard);@(_InstantRunJavaReference)"ExternalJavalibrarIEs="@(AndroIDExternalJavalibrary)"DoNotPackageJavalibrarIEs="@(_ResolvedDoNotPackageAttributes)"ProguardJarOutput="$(IntermediateOutputPath)proguard\__proguard_output__.jar"EnableLogging="$(ProguardEnableLogging)"DumpOutput="$(IntermediateOutputPath)proguard\dump.txt"PrintSeedsOutput="$(IntermediateOutputPath)proguard\seeds.txt"PrintUsageOutput="$(IntermediateOutputPath)proguard\usage.txt"PrintMapPingOutput="$(IntermediateOutputPath)proguard\mapPing.txt"ProguardinputJarFilter="$(_AndroIDProguardinputJarFilter)"/>

所以,我最好的猜测是它可能是与ProGuard相关的问题.所以,搜索谷歌并应用我发现到目前为止的所有修复:

>更新了AndroID SDK
>将Java堆大小设置为1G(甚至5G)
>启用Multi-Dex
>更新了ProGuard
>在解决方案中创建了一个新的proguard.cfg文件(当然将构建 *** 作设置为ProGuardConfiguration并添加了必要的自定义行.

但是,同样的错误指向相同的ProGuard标签.现在在任何人开始抨击我说我可能搞乱了proguard配置文件之前,这里是它的链接:

> ProGuard.cfg
> Build Output From Visual Studio 2017

我已经读到这是Xamarin中一个非常常见的问题.所以,我想,有人可能想出一个真正有效的解决方案!那么,关于我可能缺少的任何修正或想法?

解决方法:

>确保您添加的proguard文件不是Unicode文本文件(U FEFF字节顺序标记(BOM)),因为proguard将失败…
>启用诊断. MSBuild的级别日志记录并获取完整的错误消息.
> Proguard正在被谷歌的R8取代

如果您使用的是最新版本的Xamarin,请参考此博客文章作为开头:

> Android’s D8 dexer and R8 shrinker

有关各种D8 / R8项目配置的详细信息,请参见Xamarin.AndroID回购:

> This is the D8 and R8 integration specification for Xamarin.Android.

总结

以上是内存溢出为你收集整理的c# – Xamarin Java.exe退出,代码为1(Proguard Issue)全部内容,希望文章能够帮你解决c# – Xamarin Java.exe退出,代码为1(Proguard Issue)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1099622.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存