【发布时间】:2015-01-10 11:30:19
【问题描述】:
我只是想知道,设备上安装的最新 Android SDK 是否也包含所有以前版本的代码?
因此,如果我在我的应用中以 API 级别 10 为目标,并将其安装在带有 Lollipop 的设备上,它是否会像 3 年前一样采用和使用 Gingerbread SDK?
或者是否所有版本都只有一个代码库,其中包含大量检查和开关,然后通过某种兼容模式运行,选择正确的代码并启用我所针对的 SDK 版本的方法?
我阅读了有关 android:targetSdkVersion specified in Manifest 的文章,但仍然想知道它在内部是如何工作的。
【问题讨论】:
-
不,但它们通常向后兼容到错误。
-
@user1095108 是的,但是向后兼容是如何实现的呢?你说系统不包含以前版本的代码。那么当我使用当前 SDK 中不再可用的方法时会发生什么?或者如果方法的代码改变了怎么办?系统从哪里获取原始代码?
-
SDK公开接口供开发者使用,接口向后兼容。
标签: android android-compatibility