【问题标题】:Xamarin – Error Fixing “The Aapt task failed unexpectedly”Xamarin – 错误修复“Aapt 任务意外失败”
【发布时间】:2015-10-28 08:20:08
【问题描述】:

我在重新构建或构建我的 droid 项目时遇到问题。我已经更新了我的 Android SDK,但问题仍然存在于我的解决方案中。请建议我如何解决此问题。

我尝试了很多谷歌上的解决方案,但问题仍然出现。

【问题讨论】:

  • 您是否尝试过重新启动 Visual Studio(或计算机本身)?
  • 是的,我已经尝试过这个过程。我已经从系统中删除了所有临时文件,但问题仍在解决中。
  • C:\Users\yourusername\AppData\Local\Android\android-sdk\build-tools 或您的自定义ANDROID_SDK_PATH/build-tools 文件夹中有文件吗?
  • 是的,我在这部分有很多文件
  • 您的资源文件中是否有重复的布局(或任何)文件?

标签: c# android xamarin


【解决方案1】:

对我来说,在项目属性的版本号属性中给出 2.1 给出了这个错误。所以改成2后,项目构建成功。

【讨论】:

  • 我对这个答案投了赞成票,因为这也是“Aapt”任务意外失败 - 输入字符串格式不正确的解决方案。谢谢你,拉克什。
  • 版本号(versionCode)必须是integer!这就解释了
【解决方案2】:

正如上面提到的 Milen Pavlov 的帖子,即:
https://forums.xamarin.com/discussion/39861/latest-update-aapt-task-failed-unexpectedly

看起来您的 Droid CS.Proj 包含同一文件的两个引用。所以,在记事本上打开它,仔细识别重复的引用并将其删除。

如果您最近有项目备份,则可以将 Droid CS.Proj 与现有 Droid CS.Proj 进行比较,以过滤新的更改,然后识别重复引用。

【讨论】:

    【解决方案3】:

    我记得几天前我在将图像添加到名称为shopping_card.png 的资源文件夹后遇到了这个问题。我将图像重命名为shoppingcard.png(删除-)并解决了问题。

    在您的情况下,我也认为资源有问题。你最近有没有添加过新资源?尝试删除它们,清理然后重建项目希望这可以解决问题。

    【讨论】:

      【解决方案4】:

      我们最终解决了这个问题,通过了根据您自己的环境可能发生(或不发生)的一些其他错误。

      有这个旧的Android错误https://code.google.com/p/android/issues/detail?id=80808

      这意味着 Google 在较旧的 Android SDK 构建工具版本中存在错误(希望他们按照上述 URL 中的说明修复了该错误)。 无论如何,错误消息可能解释了原因;这可能是因为您的主 dex 文件不包含必要的 multidex 支持类。

      问题的一个可能原因是您的 dx.jar 可能是旧的并且存在上述问题。假设您拥有相当最新的 Xamarin.Android,请尝试安装最新的“构建工具”Android SDK 组件并删除旧版本。

      或者,不要删除旧的 SDK 构建工具,而是将 AndroidSdkBuildToolsVersion 构建属性添加到某个活动中的 .csproj 文件:

      <AndroidSdkBuildToolsVersion>23.0.1</AndroidSdkBuildToolsVersion>
      

      就我而言,这引发了我使用 JDK 1.8

      解决的其他错误

      之后我遇到了以下 Xamarin 错误 (The option for multi-dex fails when the path to the Android SDK contains a space ) 可以解决将 android-sdk 定位在没有空格的路径中(例如 c:\program files(x86)\android\android-sdk 不是一个有效的位置)

      您可能还会看到由于 m2Repository 路径导致的错误,感谢以下链接中的信息https://developer.xamarin.com/guides/android/troubleshooting/resolving-library-installation-errors/

      请记住,您可能需要添加/更新/删除 Android-sdk 软件包/版本。这对我有用。

      不需要红色笔划的项目。 安装过时版本的 android Support 库 (23.2.1) 对我来说至关重要。(可以与最新版本共存)。

      【讨论】:

      【解决方案5】:

      我也遇到了同样的错误:

      aapt.exe 退出代码 -1

      这意味着您可能已经使用或导入了一些媒体或图像,并且这些图像名称包含在 XML 文件中冲突的字符(因为 Xamarin 和 Android 使用许多 XML 标记样式)。只需检查您从项目外部导入的所有项目并更正它们的名称(删除所有特殊字符,如 -+*/_ 等)...

      【讨论】:

        【解决方案6】:

        就我而言,解决方案是转到 Android 项目的属性并删除 Version NumberPackage Name 值。我不知道为什么它起作用了。如果有人可以解释,它将帮助这个问题的未来访问者。

        【讨论】:

        • 版本号中有小数点对我来说是个问题。一旦我删除了它,我就可以存档了。似乎是格式错误。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-31
        • 1970-01-01
        • 2011-10-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多