android SDK中的目标SDK选项是否必须与测试设备Android版本相同? (Android SDK基础)

时间:2013-08-22 01:25:32

标签: android eclipse android-sdk-2.3

我需要告诉别人如何通过电子邮件设置Android SDK。我在最新设备上进行了所有测试,我的程序都正确编译为我的设置,但我不知道他们有什么设备和哪个确切的Android版本(但我相信他们可能至少有Android 4.0,但可能有更古老的东西,比如Android 2.3。要运行最基本的Hello World程序(或我在我的最新设备上测试的任何其他程序),在New Android Application对话框中,我是否必须选择与他们一起使用的完全相同的Android版本它们,或者它可能比它们的设备更高的东西?
enter image description here

如果程序选择的内容高于其设备上的内容,程序是否仍然可以编译运行?我必须指出,无论他们拥有什么设备或者他们将编译什么程序,他们只会使用旧API(API 1 - 3)中提供的类。那么我在这里选择的内容是否有所不同,或者它必须与他们的设备上的内容有关还是更老?

我没有其他Android设备供我测试,所以非常感谢您的帮助。谢谢。

3 个答案:

答案 0 :(得分:2)

android:minSdkVersion - 指定应用程序能够运行的最低API级别。

android:targetSdkVersion - 指定应用程序运行的API级别。

您的设备无需与targetSdkVersion匹配。但是,通常您希望将targetSdkVersion设置为最新的Android版本。为确保应用程序可在旧设备上运行,请务必使用Android Support Library向较旧的API级别提供较新功能。

您可以阅读有关uses-sdk的更多信息,详细了解要定位的API级别。

答案 1 :(得分:1)

您应该为所有代码正常工作所需的API设置所需的最低SDK。某些API方法在更高版本之前不可用,而某些API方法在当前版本中已被弃用(尽管已弃用的方法仍应按预期工作)。我所知道的设备都不需要API 1-3。大多数设备都有8或更高。目标SDK是您编程时所针对的代码,因此如果新API已经可用并且您在代码中使用它们,那么您将不会收到编译时错误,指出方法/类不存在。您还应该知道,如果您定位更高的API然后将在设备上运行,您可能会遇到不存在的方法/类的运行时错误。

答案 2 :(得分:1)

要运行您的应用,您的设备必须等于或高于最低SDK

您的目标SDK是针对其编译应用程序的SDK。请记住,使用更高的SDK可以让您在应用中使用更新的API功能并成功编译,然后在旧设备上遇到运行时错误。这可以使用if else语句来管理,以便在使用更新的类之前测试API