11

我知道这方面有很多问题,我也阅读了这个页面。但是,我仍然对确切的选择感到困惑。

如果我有一部运行Android 2.3.6的手机

我知道Minimum Required SDK应该是我的应用支持的最低版本的 Android。因此,例如,我将选择Android 2.2或小于该值,例如Android 1.5


令人困惑的部分Target SDKCompile with

Android 2.3.6我在下面安装了这些:( SDK管理器中没有可用的)

Android 4.2.2 (API 17)
Android 3.0 (API 11)
Android 2.3.3 (API 10)
Android 2.2 (API 8)

是否Target SDK应该设置为最大值Android 4.2.2,无论我的手机使用什么;哪个是Android 2.3.6

选择Android 4.2.2会覆盖下面的所有手机吗?那正确吗?

或者

它是否应该设置为与我的手机相同/最接近的值。这里可用的是Android 2.3.3? 但不能超过我的手机Android 2.3.6


Compile with必须设置为最大值Android 4.2.2还是什么?

4

2 回答 2

6

目标 SDK 是否应该设置为 Android 4.2.2 的最大值,无论我的手机使用什么;哪个是安卓 2.3.6?

这取决于您,但始终建议使用最新的 sdk 作为目标。

它只是说应用程序将在 min 和 target sdk 之间工作,但仅针对目标 sdk 进行了测试,因此如果有任何兼容的设置系统必须处理它。

选择Android 4.2.2会覆盖下面的所有手机吗?那正确吗?

您的应用始终涵盖从 Min-SDK 到 Max-SDK。如果 Min-SDK 为 1 且未设置 Max-SDk,则您的应用支持所有 API。

它是否应该设置为与我的手机相同/最接近的值。这里可用的是Android 2.3.3?但不超过我的手机Android 2.3.6

必须是最新的 SDK

Compile with 是否必须设置为最大 Android 4.2.2 或什么?

它只是您选择使用哪个 SDK 编译您的应用程序。但最好使用 Target-SDK,后者又是最新的。

于 2013-06-24T05:50:55.920 回答
0

我一直将 my 设置Compile with为与Target SDK.

Target 应该是您已经测试并构建了您的应用程序以处理的内容。随着 Android 的发展,API 行为可能会发生变化,例如默认 AsyncTask 的串行/并行/串行性质(请参阅:同时运行多个 AsyncTask——不可能?http://commonsware.com/blog/2012/04/20 /asynctask-threading-regression-confirmed.html),这取决于您的应用程序的目标 API 和设备 API。那时我们发现它的有趣时光。

此外,各种 API 也会贬值,因此使用最新的 API 会迫使您仅使用当前维护的内容。

于 2013-06-24T05:52:48.167 回答