Android Xamarin Targetframeworkversion
我正在尝试制作一个基本的Xamarin.forms(pcl)应用程序(在Visual studio 2017中),我希望以Lolipop(5.0.0,api级别21)为目标 所以我做了一个基本的Xamarin解决方案,并将Android属性全部调整为Android 5.0棒棒糖Android Xamarin Targetframeworkversion,android,xamarin,visual-studio-2017,Android,Xamarin,Visual Studio 2017,我正在尝试制作一个基本的Xamarin.forms(pcl)应用程序(在Visual studio 2017中),我希望以Lolipop(5.0.0,api级别21)为目标 所以我做了一个基本的Xamarin解决方案,并将Android属性全部调整为Android 5.0棒棒糖 使用Android版本“Android 5.0(棒棒糖)”编译 最低安卓目标“安卓5.0(API 21级-棒棒糖)” 目标Android版本“Android 5.0(API级别21-棒棒糖)” 不幸的是,在我的警告列
- 使用Android版本“Android 5.0(棒棒糖)”编译
- 最低安卓目标“安卓5.0(API 21级-棒棒糖)”
- 目标Android版本“Android 5.0(API级别21-棒棒糖)”
因此,我应该降级我的xamarin.forms dll以实现这一点并消除错误吗?如果我降级到什么版本,我需要降级,所以我的目标是安卓5.0棒棒糖?这些信息对我来说都很不清楚
Xamarin.Forms
是使用Android的支持库设计的,因此它可以在各种API上运行,而无需开发人员执行任何其他操作
如果您通过Xamarin.Android
(可能通过表单的依赖服务)使用本机API,那么您必须知道方法调用的API级别
这就是说,由于Xamarin.Forms
使用com.android.support.*
库,因此必须使用com.android.support:design:21.x.x
以及API 21的相关android构建工具的表单版本
现在,您可以查看包的依赖性,您将看到您的选择是Forms'is1.4
`1.4.0.6336-pre1` to `1.4.4.6449`
注意:v1.5.x
已移至Android支持库的第22版
IMHO使用Forms的1.4
将是一个严重的错误,因为它的年代久远,自2015年以来,改进和错误修复堆积如山,您的境况要好得多:
- 使用最新的表单版本
- 将
框架版本设置为最新版本(7.1)
- 将
目标Android版本设置为
Android 5.0(API级别21)
- 将
最低Android版本设置为您需要的任何版本
- 放弃编译时API检查
- 通过API-21设备和模拟器检查运行时API问题
对于go
,应放弃打字错误(即不使用)。你在寻找什么类型的运行时“安全网”?i、 e.如果错误使用API22类/方法并在API21设备上运行,则会失败,这就是仿真器和设备测试的全部内容。@Martijn请记住,在这种情况下,您会将应用程序清单中的android:targetSdkVersion设置为21,因此在API 22-26上运行时,您的应用程序仍然像API21构建的应用程序一样运行。好的,是的,它将在运行时失败,而不是在编译时。这是我一开始就想避免的。我会按照你说的方式做,并按照你告诉我的方式设置设置。@Martijn仅供参考,我做过一些项目,他们使用定制的Android硬件,并锁定到一个较旧的API(许多集成条形码设备仅使用API 19),在这些情况下,我会按照上面所述的方式进行设置,从而实现目标Android版本
(android:targetSdkVersion)设置为19,并且仅在API 19设备/模拟器上进行平台调试和测试。由于“XXXX方法不存在”异常,您将立即发现是否使用了较新的API,如ApplicationContext.DataDir
而不是ApplicationContext.ApplicationInfo.DataDir
。-)