Android构建失败 - 格式异常

4

在从Unity 2018.1的版本转换为2018.2.0.b3后,我无法再构建Android应用程序,出现以下错误:

FormatException:输入字符串格式不正确

在切换到最新的beta版本之前,我能够轻松创建一个构建(虽然不是使用gradle,而是使用内部构建系统)。是否有人遇到过这个问题或者可以帮助我解决这个问题?

以下是我收到的完整消息:

FormatException: Input string was not in a correct format.
System.Version+VersionResult.SetFailure (System.Version+ParseFailureKind failure, System.String argument) (at <e1a80661d61443feb3dbdaac88eeb776>:0)
System.Version.TryParseComponent (System.String component, System.String componentName, System.Version+VersionResult& result, System.Int32& parsedComponent) (at <e1a80661d61443feb3dbdaac88eeb776>:0)
System.Version.TryParseVersion (System.String version, System.Version+VersionResult& result) (at <e1a80661d61443feb3dbdaac88eeb776>:0)
System.Version.Parse (System.String input) (at <e1a80661d61443feb3dbdaac88eeb776>:0)
System.Version..ctor (System.String version) (at <e1a80661d61443feb3dbdaac88eeb776>:0)
UnityEditor.Android.Utils.ParseVersion (System.String version) (at <a03b4d5bdb8646db9fef40240e67bcbf>:0)
UnityEditor.Android.AndroidComponentProperties.get_PackageRevision () (at <a03b4d5bdb8646db9fef40240e67bcbf>:0)
UnityEditor.Android.AndroidComponentProperties.GetPackageRevision (System.String directory) (at <a03b4d5bdb8646db9fef40240e67bcbf>:0)
UnityEditor.Android.AndroidSDKTools.BuildToolsVersion () (at <a03b4d5bdb8646db9fef40240e67bcbf>:0)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK+SDKBuildToolsDetector.GetVersion (UnityEditor.Android.AndroidSDKTools sdkTools, UnityEditor.Android.AndroidJavaTools javaTools) (at <a03b4d5bdb8646db9fef40240e67bcbf>:0)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK+SDKComponentDetector.Detect (UnityEditor.Android.AndroidSDKTools sdkTools, UnityEditor.Android.AndroidJavaTools javaTools, System.Version minVersion, UnityEditor.Android.PostProcessor.ProgressHandler onProgress) (at <a03b4d5bdb8646db9fef40240e67bcbf>:0)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK.EnsureSDKComponentVersion (UnityEditor.Android.AndroidJavaTools javaTools, System.Version minVersion, UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK+SDKComponentDetector detector) (at <a03b4d5bdb8646db9fef40240e67bcbf>:0)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK.EnsureSDKComponentVersion (UnityEditor.Android.AndroidJavaTools javaTools, System.Int32 minVersion, UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK+SDKComponentDetector detector) (at <a03b4d5bdb8646db9fef40240e67bcbf>:0)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <a03b4d5bdb8646db9fef40240e67bcbf>:0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <a03b4d5bdb8646db9fef40240e67bcbf>:0)
UnityEditor.Android.PostProcessAndroidPlayer.PrepareForBuild (UnityEditor.BuildOptions options, UnityEditor.BuildTarget target) (at <a03b4d5bdb8646db9fef40240e67bcbf>:0)
UnityEditor.Android.AndroidBuildPostprocessor.PrepareForBuild (UnityEditor.BuildOptions options, UnityEditor.BuildTarget target) (at <a03b4d5bdb8646db9fef40240e67bcbf>:0)
UnityEditor.PostprocessBuildPlayer.PrepareForBuild (UnityEditor.BuildOptions options, UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:106)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

那听起来像是一个应该向Unity报告的错误。 - Draco18s no longer trusts SE
提供您的代码。 - user4571931
@AndroidTeam 什么代码?我无法提供整个项目,也不知道从这条消息的哪里开始。 - Knight Who Says Ni
4个回答

0

这可能是因为您的“目标 API”设置为“自动(最高已安装)”。如果您将 Android P 安装为最高 API,则应将目标 API 设置更改为其他内容。我将我的设置为“Android 8.1(Oreo)”。


0
我通过更换设备插入的USB端口解决了这个问题。

0

在任务管理器中结束 adb.exe 进程,然后再尝试一次。


0

我正在使用Unity 2019.1.9f1版本。在遇到这个错误后,我一直在寻找正确的解决方案,有些人建议更改Unity系统文件的编码格式。但在进行系统文件编辑之前,我只是重新启动了我的macOS和Unity3D,然后问题就得到了解决。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接