【问题标题】:How to compile for Android 4.4 using latest version of Xamarin forms in Visual Studio 2017?如何在 Visual Studio 2017 中使用最新版本的 Xamarin 表单为 Android 4.4 编译?
【发布时间】:2017-10-23 11:27:43
【问题描述】:

我安装了带有 Xamarin 4.7.10.22 和 Android SDK for 4.4.2 (API 19) 的 Visual Studio Community Edition 2017(版本 15.4.1)

我创建一个新的跨平台应用程序 (Xamarin) 并选择

UI 技术 -> Xamarin.Forms

代码共享策略 -> 共享项目

我编译并构建了这个项目,它构建正确。 (默认情况下,该项目使用最新的平台(在我的例子中是 8.0 Oreo))

在 Visual Studio 2017 中,用户界面略有变化,现在当我右键单击 Android 项目并选择属性 -> 应用程序 -> 我只有这个选项可供选择。

"Compile using Android Version"

所以我选择 Android 4.4 (Kit Kat) 并构建项目。

我收到以下错误消息

Error: No resource found that matches the given name: attr 'android:elevation'

这很好,Android 5 中引入了海拔,所以我需要使用 4.4 的 Xamarin 表单进行重建(我认为)

这就是我卡住的地方,我如何告诉 Visual Studio 我想为 4.4 而不是 8.0 创建一个项目?

【问题讨论】:

    标签: xamarin xamarin.forms xamarin.android


    【解决方案1】:

    Xamarin.Forms 支持 API 15+,我认为您混淆了编译 Xamarin.Android 框架版本、Android 框架版本和最低版本。版本

    此外,Android 项目的目标/编译版本必须设置为使用最新安装的平台。但是,最低版本可以设置为 API 15,这样您就可以继续支持使用 Android 4.0.3 及更高版本的设备。这些值在项目选项中设置

    回复:Xamarin.Forms Getting Started

    回复:Understanding Android API Levels

    【讨论】:

    • 你说得对,我把这三个字段弄糊涂了,最后一个快速问题现在我已经正确设置了。 “调用我的‘目标 Android 版本’上不可用的函数是否会在编译时显示警告消息”?文档对此并不完全清楚。
    • @ChrisB 较新的方法使用方法属性(即ApiSince = 23)进行标记,您将在 IDE 中看到这些作为提示,但它们不会导致编译器警告/错误。您需要执行运行时检查以跳过或运行替代代码:developer.xamarin.com/guides/android/application_fundamentals/… 需要对您的应用支持的各种 API 进行设备/模拟器测试
    • 太好了,我会在测试方面做一些研究,这应该非常适合这个,非常感谢您的帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-13
    • 1970-01-01
    • 1970-01-01
    • 2017-12-03
    • 1970-01-01
    相关资源
    最近更新 更多