【问题标题】:Xamarin forms build success but deploy failedXamarin 表单构建成功但部署失败
【发布时间】:2018-03-15 01:09:03
【问题描述】:

每当我尝试将 Xamarin.Froms 应用部署到任何设备或模拟器时,都会收到此警告。部署也失败了,没有任何错误。我无法运行我的应用程序。谁能帮帮我吗?

Xamarin.Forms.Platform.dll (vv8.0) 的 $(TargetFrameworkVersion) 大于您的项目 (v7.1) 的 $(TargetFrameworkVersion)。 您需要增加 $(TargetFrameworkVersion) 为您的 项目。 App2.Android C:\Users\subas\source\repos\App2\App2\App2.Android\App2.Android.csproj

【问题讨论】:

    标签: xamarin xamarin.forms


    【解决方案1】:

    编辑/更新

    目前 JDK9 和 Android SDK 工具彼此不兼容 - 因此 Xamarin.Android 不适用于 JDK9。

    运行以下命令查看你安装的java版本:

    java -version
    

    如果它报告类似于 java version "9.0.4" 的内容,则说明您使用的是 JDK9。

    具体来说,apksigner 存在问题。它没有使用 JDK 期望的 -classpath 开关。

    最简单的修复方法是安装 JDK8 并确保您的 PATH 指向它。

    documentation 提供了一个可靠的概述。

    原创

    听起来项目中的目标 Android 框架需要更新以指向最新版本的 Android。

    首先 - 确保您安装了最新的 Android SDK。这是一些documentation

    获得最新版本后 - 以下是如何确保您以最新版本为目标 - 取决于您使用的 IDE:

    Visual Studio Mac

    1. 在解决方案资源管理器中,右键单击 Android 项目并选择选项。
    2. Build -> General 节点下 - 从 Target Framework 中选择 “使用最新安装的平台”下拉菜单。
    3. 保存所有内容,关闭解决方案,重新启动 VS-Mac

    Visual Studio

    1. 在解决方案资源管理器中右键单击 Android 项目并选择属性
    2. Application 节点下,从 Compile Using Android Version 下拉菜单中选择 Use Latest Platform
    3. 保存所有内容,关闭解决方案,重新启动 Visual Studio

    【讨论】:

    • 嗨@Matt,您的回答消除了警告,但我仍然无法部署应用程序。我在构建输出中收到以下消息。 Unexpected install output: Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Failed to collect certificates from /data/app/vmdl596958863.tmp/base.apk: Attempt to get length of null array]
    • @Subash 尝试清理您的解决方案(然后仔细检查 /bin 和 /obj 文件夹是否为空 - 如果没有删除所有内容) - 然后再次尝试运行,确保选择了调试配置。
    • 我做了,但也没有用。
    • 你安装的JDK是什么版本的?
    • 根据@MattSoucoup 的原始答案,JDK 9 不兼容。也就是说,我使用的是 JDK 8 并且有同样的证书错误。我已经尝试了很多事情(包括清理和删除这些文件夹)并且没有运气。即使是一个空白的新项目。虽然我看到有几个人说删除 JDK 9 解决了他们的问题,所以我想你值得一试。
    猜你喜欢
    • 1970-01-01
    • 2022-10-05
    • 2020-12-29
    • 1970-01-01
    • 1970-01-01
    • 2017-06-22
    • 1970-01-01
    • 1970-01-01
    • 2018-04-08
    相关资源
    最近更新 更多