我在android:minSdkVersion="15"
和android:targetSdkVersion="21"
上使用了Android Xamarin应用程序。原来,IDE(xamarin工作室,视觉工作室)和编译过程只是忽略了我是否使用了API 15之上的东西,这不是预期的行为。
例如,Path.addArc(float,float,float,float,float,float)
中有一个方法API 21
,我可以使用上面的清单设置,这给我一个运行时错误NoSuchMethodError
。
可以轻松修复Path.addArc(RectF,float,float)
中的重载API 1
,但我的问题更多的是如何获取编译时错误或运行时错误。
[UPDATE]
基本上我想保持API 15
(最小android版本)的向后兼容性,同时将API 21
作为目标Android版本。当我尝试使用API 15
之上的任何方法时,我想获得IDE支持。这意味着我需要一个警告说我使用的方法在最小的android版本中没有定义,所以请做一个运行时版本检查。
有可能吗?
答案 0 :(得分:1)
要获得编译时警告,您需要将Target Framework设置为您要支持的最小SDK。当您尝试使用更高级别的api时,这会给您带来错误。打开项目选项对话框。在此对话框中,单击Build>一般
您可以在此处阅读有关api级别https://developer.xamarin.com/guides/android/application_fundamentals/understanding_android_api_levels/#Target_Framework
的信息