在API22上保留目标并在Android 6平台设备上运行应用程序,我看到DefaultHttpClient仍在工作,即使新平台不支持它。
怎么可能,它是否在兼容模式下工作?
答案 0 :(得分:0)
它不受支持并不意味着它已被删除。在代码中,您经常会看到“已弃用”的功能。这些是不受支持的功能,但故意没有被删除。
在这种情况下,您使用Android API22库中的功能。为了保留以前API的向后兼容功能,几乎从未完全从实际的Android环境中删除。
在使用API级别22编译某些内容时,APK实际上将包含该库的部分内容。在这种情况下,这意味着API22中的DefaultHttpClient实际上包含在您的应用中。它不使用手机上的(不)版本。您的应用中包含哪些部分决定于:
android {
compileSdkVersion 23
buildToolsVersion "23.0.0"
defaultConfig {
minSdkVersion 17
targetSdkVersion 23
}
}
API级别23中缺少但在级别17中可用的所有内容都将包含在您的应用中。