为什么旧的Android手机无法运行新的api app?

Bea*_*ear 0 compiler-construction android

这是一个愚蠢的问题,但我真的不明白为什么.代码最终被编译成字节码,应该能够在所有Dalvik VM中运行.当api改变时,Dalvik VM理解的字节码应该或多或少相同.

Dhe*_*.S. 6

因为您的应用没有捆绑Android框架.框架代码驻留在设备上.

这就是为什么在较旧的Android版本中使用某些较新的API,您必须在APK中包含支持库.

android.jar文件包含在构建路径中,您的代码可以编译但不会导出到APK.如果它要被导出,那么设备上的每个应用都必须捆绑Android框架,这会导致不必要的膨胀,没有什么可说的安全隐患.