2

我需要告诉别人如何通过电子邮件设置 Android SDK。我在最新设备上进行了所有测试,并且我的程序都针对我的设置正确编译,但我不知道他们拥有什么设备以及确切的 android 版本(但我确信他们可能至少有 Android 4.0,但可能有较旧的东西,例如Android 2.3)。要运行最基本的 Hello World 程序(或我在最新设备上测试的任何其他程序),在 New Android Application 对话框中,我是否必须选择与他们使用的完全相同的 Android 版本他们,还是比他们设备中的更高?
在此处输入图像描述

如果他们选择比他们设备上的更高的东西,程序还会编译和运行吗?我必须指出,无论他们拥有什么设备或他们将编译什么程序,他们都只会使用旧 API(API 1 - 3)中提供的类。那么我在这里选择的内容有什么不同吗,还是必须完全是他们设备上或更旧的设备?

我没有其他 Android 设备可供我测试它,因此我们将不胜感激您的帮助。谢谢你。

4

3 回答 3

2

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

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

您的设备不必匹配 targetSdkVersion。但是,通常您希望将 targetSdkVersion 设置为最新的 Android 版本。为确保应用程序能够在旧设备上运行,请务必使用将新功能向后移植到旧 API 级别的Android 支持库。

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

于 2013-08-22T01:48:48.750 回答
1

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

于 2013-08-22T01:31:13.467 回答
1

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

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

于 2013-08-22T01:41:40.847 回答