[英]Xamarin android project "java.exe" exited with code 1
我想在发布模式下使用 android 12 目标框架构建我的 xamarin android 应用程序。 构建失败并显示以下内容
“Xamarin.Android.D8.targets(51,5):错误 MSB6006:“java.exe”以代码 1 退出。”
错误。
到目前为止我尝试过的解决方案是:
1 - 下载最新的 proguard 版本并替换 /android-sdk/tools/proguard 中的文件,并在 android 项目下创建一个 proguard 配置文件,确保文件与 UTF-8 一起保存。
2 - 通过创建一个空白示例项目并从我的原始项目中添加每个 nuget 并确保它构建,确保所有 nuget 包兼容。
3 - 删除 bin 和 object 文件并重建项目。
做一些在线研究,我发现“java.exe exited with code 1”错误类型的这个特定版本(Xamarin.Android.D8.targets(51,5))主要与proguard或不兼容有关我无法找到问题的根源,感谢任何形式的帮助。
以下是一些相关信息:
我确实将 msbuild output 级别设置为诊断,但我认为我不能共享整个 260k 行 output 文件。 链接设置为“仅 Sdk 程序集”。
6 > 完成执行任务“WriteLinesToFile”。
6 > 在项目“TestApp1.Android.csproj”中完成构建目标“_CleanRecordFileWrites”。6 > 构建失败。
6 > "C:\Users\TestUser\source\Workspaces\TestApp1\TestApp1.Android\TestApp1.Android.csproj" (Rebuild;BuiltProjectOutputGroup;BuiltProjectOutputGroupDependencies;DebugSymbolsProjectOutputGroup;DebugSymbolsProjectOutputGroupDependencies;DocumentationProjectOutputGroup;DocumentationProjectOutputGroupDependencies;SatelliteDllsProjectOutputGroup;SatelliteDllsProjectOutputGroupDependencies;SGenFilesOutputGroup;SGenFilesOutputGroupDependencies target) (1) ->
6 > (_CompileToDalvik 目标) ->
6 > C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\Xamarin.Android.D8.targets(51,5):错误 MSB6006:“java.exe”退出代码 1 .
11 Warning(s) 1 Error(s)
6>Time Elapsed 00:00:58.23 ==========全部重建:5成功,1失败,0跳过==========
在构建 output 中没有来自 proguard 的 output。
我发现了问题。 该项目是在android 11上开发的,可以毫无问题地构建,当目标框架版本更改android 12时开始出现问题,首先构建错误是:
“Xamarin.Android.Support.v4”正在使用“[程序集:Java.Interop.JavaLibraryReferenceAttribute]”,不再受支持。 使用此 NuGet package 的较新版本或通知库作者。
因此,我们确保所有 nuget 包都可以在 android 12 上运行,而不是将构建错误更改为:
也出现在 androidmanifest.xml:22:18-91 值 (android.support.v4.app.corecomponentfactory)
这只是几个 java 错误之一,所有错误都与 android.support.v4.app 库有关。 因此,在我的第一次研究中,我从 xamarin 社区中发现,有些人能够通过添加代码来解决他们的问题:
工具:节点=“替换”
到 <application> 标签下的 AndroidManifest.xml 文件。 所以我这样做是为了查看结果和错误,而不是更改为:
“java.exe”以代码 1 退出
在回到第一个“android.support.v4.app”错误并在网上对其进行更多研究后,我发现 android 工作室用户可以通过在他们的 build.gradle 文件中设置“useAndroidX = true”来解决这些类型的错误. Not having a build.gradle file in my project I've just decided delete the code I previously added to my AndroidManifest.xml and to add the "Xamarin.AndroidX.Core" Nuget package to my android project, after doing so the error changed to:
找不到 Jetbrains.Annotations
因此,在我的项目中也添加了“Xamarin.Jetbrains.Annotations”nuget package 之后,它现在构建没有错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.