【问题标题】:Failing to build Xamarin Android project: An outdated of 'Android SDK Build-tools' is in use无法构建 Xamarin Android 项目:正在使用过时的“Android SDK Build-tools”
【发布时间】:2016-12-12 13:08:05
【问题描述】:

我正在尝试编译我的Xamarin Form 解决方案的Android 项目,但它失败并出现以下异常:

正在使用过时的“Android SDK 构建工具”,此版本的 Android 支持库不支持。您必须从“Android SDK 管理器”的“工具”部分卸载任何早于 23.0.0 的“Android SDK 构建工具”版本 您还需要安装“Android SDK Build-tools”版本 23.0.0 或更高版本。发票.Android

这发生在我更新了一些使用 TelerikSyncFusion 的组件之后。

我在here 尝试了所有建议的解决方案,包括清洁解决方案和更新build tools,但都没有任何效果。

我正在使用Android SDK Manager 24.4.1build-tools 23.0.3,这显然是最新版本。

我附上了所有已安装组件的图片,如果您需要更多信息,请告诉我。

这是我的packages.config

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Xamarin.Android.Support.Animated.Vector.Drawable" version="23.3.0" targetFramework="monoandroid44" />
  <package id="Xamarin.Android.Support.Design" version="23.3.0" targetFramework="monoandroid44" />
  <package id="Xamarin.Android.Support.v4" version="23.3.0" targetFramework="monoandroid44" />
  <package id="Xamarin.Android.Support.v7.AppCompat" version="23.3.0" targetFramework="monoandroid44" />
  <package id="Xamarin.Android.Support.v7.CardView" version="23.3.0" targetFramework="monoandroid44" />
  <package id="Xamarin.Android.Support.v7.MediaRouter" version="23.3.0" targetFramework="monoandroid44" />
  <package id="Xamarin.Android.Support.v7.RecyclerView" version="23.3.0" targetFramework="monoandroid44" />
  <package id="Xamarin.Android.Support.Vector.Drawable" version="23.3.0" targetFramework="monoandroid44" />
  <package id="Xamarin.Forms" version="2.3.0.49" targetFramework="monoandroid44" />
</packages>

这是完整的build output

正在恢复 NuGet 包... 要防止 NuGet 在构建期间恢复包,请打开 Visual Studio 选项对话框,单击包管理器节点并取消选中“允许 NuGet 在构建期间下载丢失的包”。 1>----- 重建所有开始:项目:发票,配置:调试任何 CPU ------ 1>C:\Users{user}\AppData\Local\Syncfusion\EssentialStudio\14.2.0.26\Xamarin\sample\Forms\Invoice\Invoice\Views\InfoView.xaml.cs(28,17,28,38):警告CS0618:“Label.Font”已过时:“请使用类本身的字体属性。在 v1.3.0' 中已废弃 1>C:\Users{user}\AppData\Local\Syncfusion\EssentialStudio\14.2.0.26\Xamarin\sample\Forms\Invoice\Invoice\Views\ItemView.xaml.cs(57,13,57,34):警告CS0618:“Label.Font”已过时:“请使用类本身的字体属性。在 v1.3.0' 中已废弃 1>C:\Users{user}\AppData\Local\Syncfusion\EssentialStudio\14.2.0.26\Xamarin\sample\Forms\Invoice\Invoice\Views\ItemView.xaml.cs(68,21,68,41):警告CS0618:“Label.Font”已过时:“请使用类本身的字体属性。在 v1.3.0' 中已废弃 1>C:\Users{user}\AppData\Local\Syncfusion\EssentialStudio\14.2.0.26\Xamarin\sample\Forms\Invoice\Invoice\Views\ItemView.xaml.cs(68,44,68,68):警告CS0618:“Label.Font”已过时:“请使用类本身的字体属性。在 v1.3.0' 中已废弃 1>C:\Users{user}\AppData\Local\Syncfusion\EssentialStudio\14.2.0.26\Xamarin\sample\Forms\Invoice\Invoice\Views\ItemView.xaml.cs(68,71,68,98):警告CS0618:“Label.Font”已过时:“请使用类本身的字体属性。在 v1.3.0' 中已废弃 1>C:\Users{user}\AppData\Local\Syncfusion\EssentialStudio\14.2.0.26\Xamarin\sample\Forms\Invoice\Invoice\Views\ItemView.xaml.cs(69,25,69,56):警告CS0618:“Label.Font”已过时:“请使用类本身的字体属性。在 v1.3.0' 中已废弃 1>C:\Users{user}\AppData\Local\Syncfusion\EssentialStudio\14.2.0.26\Xamarin\sample\Forms\Invoice\Invoice\Views\ItemView.xaml.cs(121,17,121,31):警告 CS0618: 'Label.Font' 已过时:'请使用类本身的字体属性。在 v1.3.0' 中已废弃 1>C:\Users{user}\AppData\Local\Syncfusion\EssentialStudio\14.2.0.26\Xamarin\sample\Forms\Invoice\Invoice\Views\ItemView.xaml.cs(127,17,127,33):警告 CS0618: 'Label.Font' 已过时:'请使用类本身的字体属性。在 v1.3.0' 中已废弃 1>C:\Users{user}\AppData\Local\Syncfusion\EssentialStudio\14.2.0.26\Xamarin\sample\Forms\Invoice\Invoice\Views\ItemView.xaml.cs(131,17,131,35):警告 CS0618: 'Label.Font' 已过时:'请使用类本身的字体属性。在 v1.3.0' 中已废弃 1> 发票 -> C:\Users{user}\AppData\Local\Syncfusion\EssentialStudio\14.2.0.26\Xamarin\sample\Forms\Invoice\Invoice\bin\Debug\XamarinIOInvoice.dll 2>------重建所有开始:项目:Invoice.Android,配置:调试任何CPU ------ 2>C:\Users{user}\AppData\Local\Syncfusion\EssentialStudio\14.2.0.26\Xamarin\sample\Forms\Invoice\Invoice.Android\Properties\AndroidManifest.xml:警告 XA0101:@(Content) 构建操作是不支持 2>C:\Users{}\AppData\Local\Syncfusion\EssentialStudio\14.2.0.26\Xamarin\sample\Forms\Invoice\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin.Android .Support.Vector.Drawable.targets(40,5):错误:正在使用过时的“Android SDK Build-tools”,此版本的 Android 支持库不支持。您必须从“Android SDK 管理器”的“工具”部分卸载任何早于 23.0.0 的“Android SDK 构建工具”版本 2>C:\Users{user}\AppData\Local\Syncfusion\EssentialStudio\14.2.0.26\Xamarin\sample\Forms\Invoice\packages\Xamarin.Android.Support.Vector.Drawable.23.3.0\build\Xamarin。 Android.Support.Vector.Drawable.targets(40,5): 错误:您还需要安装“Android SDK Build-tools”版本 23.0.0 或更高版本。 ==========全部重建:1成功,1失败,0跳过==========

更新

我刚刚更新到build-tools 24.0.1,但错误并没有消失!

这个问题只存在于Xamarin Form,我可以编译Android项目就好了。

【问题讨论】:

  • 最新 Android SDK Build-tools = 24.0.1, Tools = 25.1.7 (25.2.1)
  • 谢谢@SushiHangover,不过我不确定升级是否能解决我的问题。例外是大约 23,使用的版本仍然高于此。
  • 你能添加详细构建输出吗? forums.xamarin.com/discussion/27515/… (XS) 和 blogs.msdn.com/b/msbuild/archive/2005/09/29/475157.aspx (VS) 请同时包含您尝试使用的 Android 支持库版本。 (也就是你的packages.config 内容应该有帮助)
  • 进入SDK文件夹位置,手动删除旧版本
  • 我也做过!现在我只有一个build-tools 目录。和SDK Platform有关系吗?

标签: android xamarin visual-studio-2015 xamarin.forms android-build


【解决方案1】:

转到您的 SDK Build-Tools 文件夹并将该文件夹重命名为 23.0.3

我也有这个问题:An outdated of 'Android SDK Build-tools' Error on Xamarin

【讨论】:

  • 不幸的是,将Android-6.0 目录重命名为Androig-23.0.3 并没有解决我的问题。
  • 请勿将其重命名为 Android-23.0.3 ,仅使用不带“Android”的 23.0.3
  • 然后清理项目并重建它......它会工作相信我
  • 谢谢兄弟,它成功了;)
猜你喜欢
  • 1970-01-01
  • 2016-01-30
  • 1970-01-01
  • 2014-02-03
  • 1970-01-01
  • 1970-01-01
  • 2014-06-18
  • 2020-05-25
  • 2020-07-26
相关资源
最近更新 更多