【发布时间】:2019-08-28 10:21:42
【问题描述】:
又是 Xamarin 的一天!甚至无法构建我的第一个 Hello World 项目!不足为奇吧?
所以,全新的 Xamarin.Android 空白项目。启用 ProGuard,链接到 SDK Assemblies Only 并继续构建项目。 wallah!! 有一个错误!(等等,我不应该感到惊讶,对吧?毕竟,它是 Xamarin)。这是错误:
“java.exe”以代码 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 文件(当然将
build action设置为ProGuardConfiguration并添加了必要的自定义行。
但是,同样的错误指向同一个ProGuard 标签。现在,在有人开始抨击我说我可能弄乱了 proguard 配置文件之前,这里是它的链接:
我读到这是 Xamarin 中非常常见的问题。所以,我猜,有人可能想出了一个真正有效的解决方案!。那么,关于我可能遗漏的任何修复或想法?
【问题讨论】:
-
哇!!! 2021 年问题再次发生......这次是在我添加 Firebase 分析之后......当然就像其他 Xamarin 问题一样......在这个世界上只有我,我一个人有这个问题!!!!!!太令人沮丧了!!!
-
@user1034912 我面临同样的错误。你解决了吗?
-
@MadhavShenoy 是时候放弃 Xamarin 了,主要是因为微软自己放弃了它。他们正在搬到 MAUI。
-
@ChristopherH。 Xamarin 和 MAUI 没有什么不同。 MAUI 只是 Xamarin 的演进版本。我能够解决我的问题。我在 AppCenter 中运行了一个构建并发现了问题。我有 2 个 Firebase 消息传递参考。我删除了 1 个参考,构建又开始工作了
标签: c# android xamarin xamarin.android proguard