1

我将构建目标从 7 更改为 16,唯一的原因是我想使用最新的 SDK 进行编译。我仍然想定位从 7 开始的版本。

我的项目在 2 台设备上编译并运行没有问题。但我不确定这是否安全。我不想承认它在某些设备上崩溃,因为有些事情我不知道。

在没有任何具体原因的情况下升级构建目标是否有意义?

编辑:只是为了说清楚-我不是为了更新版本或支持新功能(我已经在使用兼容性库)。这只是因为,也许随着更新的构建目标,内部结构得到了改进——比如性能等?

4

1 回答 1

2

如果您使用新 SDK 版本的任何功能,则更新此要求“仅用于升级”是没有意义的。在设备上运行您的应用程序时,它将使用版本,因此它已经使用了最新的内部结构。

android 库是向后兼容的(意味着它与旧版本兼容)。支持库提供前向兼容性(意味着它添加了功能以匹配最新的 android 库版本),支持库随应用程序提供(在 APK 中),因此在需要时可用。应用程序首先尝试使用 android 库(因此它始终使用该设备的最新内部组件),如果功能不存在,它会尝试支持库。


如果您需要一些新功能,那么您应该升级到SDK 版本。并且(最终)添加代码以检查运行版本并为具有较低 SDK 版本的设备提供替代方案。

要在运行时找出 SDK 版本以提供替代方案,请使用android.os.Build.VERSION.

于 2013-01-15T14:30:47.980 回答