我将构建目标从7更改为16,唯一的原因是我想使用最新的SDK进行编译。我仍然希望定位从7开始的版本。
我的项目在2台设备上编译并运行没有问题。但我不确定这是否安全。我不想在某些设备上发生崩溃,因为有些东西我不知道。
升级构建目标是否有意义,没有任何特殊原因?
编辑:只是为了说清楚 - 我不是为了定位更新版本或支持新功能(我已经在使用兼容性库)。它只是,因为,可能有更新的构建目标内部已经改进 - 如性能等?
答案 0 :(得分:2)
如果您不使用新SDK版本的任何功能, 有意义更新此要求'仅用于升级'。 在设备上运行应用程序时,它将使用 版本,因此它已经使用了最新的内部。
Android库向后兼容(意味着它与旧版本兼容)。支持库提供向前兼容性(意味着它添加了与最新的android库版本匹配的功能),支持库随应用程序一起提供(在APK中),因此在需要时可用。应用程序首先尝试使用android库(因此它总是使用该设备的最新内部),如果没有功能,它会尝试支持库。
如果您需要一些新功能,那么您应该升级到那个 SDK版本。并且(最终)添加代码以检查正在运行的版本,并为具有较低SDK版本的设备提供替代方案。
要在运行时查找SDK版本,要提供替代方案,请使用android.os.Build.VERSION
。