Xamarin.Android错误 - '指定的可执行文件不是此操作系统平台的有效应用程序'

时间:2017-11-01 21:39:39

标签: android xamarin xamarin.android

我搜索了一个解决方案,但无济于事。我正在尝试构建一个Xamarin.Android项目,但我不断收到下面详述的错误。我在Windows 10中运行Visual Studio 2017社区版。 编译器输出:

  

严重级代码描述项目文件行抑制状态   错误" Aapt"任务意外失败。 System.AggregateException:   发生了一个或多个错误。 --->   System.ComponentModel.Win32Exception:指定的可执行文件不是   此OS平台的有效应用程序。在   System.Diagnostics.Process.StartWithCreateProcess(的ProcessStartInfo   startInfo)在System.Diagnostics.Process.Start()at   Xamarin.Android.Tasks.Aapt.RunAapt(String commandLine)at   Xamarin.Android.Tasks.Aapt.ExecuteForAbi(String cmd,String   currentResourceOutputFile)at   Xamarin.Android.Tasks.Aapt.DoExecute(ITaskItem manifestFile,   ParallelLoopState状态,Int32循环)at   System.Threading.Tasks.Parallel<> c__DisplayClass30_02.b__3(的Int32   i,ParallelLoopState状态,TLocal local)at   System.Threading.Tasks.Parallel<> c__DisplayClass17_01.b__1()   在System.Threading.Tasks.Task.InnerInvoke()at   System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)at at   System.Threading.Tasks.Task<> c__DisplayClass176_0.b__0(对象   )---内部异常堆栈跟踪结束--- at   System.Threading.Tasks.Task.ThrowIfExceptional(布尔   includeTaskCanceledExceptions)at   System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout,   取消语音取消语言)   System.Threading.Tasks.Task.Wait()at   System.Threading.Tasks.Parallel.ForWorker [TLocal](Int32 fromInclusive,   Int32 toExclusive,ParallelOptions parallelOptions,Action 1 body,   动作2 bodyWithState,Func 4 bodyWithLocal,Func 1 localInit,   行动1本地最终)在   System.Threading.Tasks.Parallel.ForEachWorker [TSource,TLocal](TSource []   array,ParallelOptions parallelOptions,Action 1 body,Action 2   bodyWithState,Action 3 bodyWithStateAndIndex,Func 4   bodyWithStateAndLocal,Func 5 bodyWithEverything,Func 1 localInit,   行动1本地最终)在   System.Threading.Tasks.Parallel.ForEachWorker [TSource,TLocal](IEnumerable 1   source,ParallelOptions parallelOptions,Action 1 body,Action 2   bodyWithState,Action 3 bodyWithStateAndIndex,Func 4   bodyWithStateAndLocal,Func 5 bodyWithEverything,Func 1 localInit,   行动1本地最终)在   System.Threading.Tasks.Parallel.ForEach [TSource,TLocal](IEnumerable1   source,Func1 localInit,Func 4 body,Action1 localFinally)at   Xamarin.Android.Tasks.Aapt.Execute()at   Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()   在   Microsoft.Build.BackEnd.TaskBuilder.d__26.MoveNext()   ---> (内部异常#0)System.ComponentModel.Win32Exception(0x80004005):指定的可执行文件不是有效的应用程序   这个OS平台。在   System.Diagnostics.Process.StartWithCreateProcess(的ProcessStartInfo   startInfo)在System.Diagnostics.Process.Start()at   Xamarin.Android.Tasks.Aapt.RunAapt(String commandLine)at   Xamarin.Android.Tasks.Aapt.ExecuteForAbi(String cmd,String   currentResourceOutputFile)at   Xamarin.Android.Tasks.Aapt.DoExecute(ITaskItem manifestFile,   ParallelLoopState状态,Int32循环)at   System.Threading.Tasks.Parallel<> c__DisplayClass30_02.b__3(的Int32   i,ParallelLoopState状态,TLocal local)at   System.Threading.Tasks.Parallel<> c__DisplayClass17_01.b__1()   在System.Threading.Tasks.Task.InnerInvoke()at   System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)at at   System.Threading.Tasks.Task<> c__DisplayClass176_0.b__0(对象   )< --- LetsLend.Android

1 个答案:

答案 0 :(得分:0)

  

" AAPT"任务失败

     

System.ComponentModel.Win32Exception:指定的可执行文件不是此OS平台的有效应用程序。

检查您是否安装了有效/未损坏的Android SDK aapt.exe / aapt

1)找到Visual Studio正在使用的Android SDK根目录位置:

  • Mac:

enter image description here

  • Windows:

enter image description here

在您的根Android SDK目录中打开一个shell cd,然后尝试手动执行aapt.exe / aapt

注意:它将位于子目录build-tools\XX.X.X内(如果您的SDK已更新,则当前XX.X.X将为27.0.0

如果aapt有效,则会输出所有用法选项,否则请打开Android SDK Manager并卸载/重新安装最新版本的构建工具

enter image description here