ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2019-10-02 13:24:09  阅读:1160  来源: 互联网

标签:android xamarin xamarin-android proguard c-2


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

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

“java.exe” exited with code 1

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

<Proguard
Condition="'$(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.

标签:android,xamarin,xamarin-android,proguard,c-2
来源: https://codeday.me/bug/20191002/1843171.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有