2012-07-07 72 views
0

這是一個愚蠢的問題,但我真的不明白爲什麼。代碼最終編譯成字節碼,並且應該能夠在所有Dalvik虛擬機中運行。當api發生變化時,Dalvik VM所理解的字節碼應該或多或少一樣。爲什麼舊的android手機不能運行新的API應用程序?

+0

您的設備未附帶新的API。所以它不會支持新增功能。 – 2012-07-07 10:26:38

回答

6

因爲你的應用不捆綁Android框架。框架代碼駐留在設備上。

這就是爲什麼要在較舊的Android版本中使用某些較新的API,您必須在您的APK中包含support library

android.jar文件包含在編譯代碼的編譯路徑中,但不包括導出到APK。如果要將其導出,那麼設備上的每個應用都必須綁定Android框架,這會導致不必要的膨脹,對安全性的影響沒有任何說法。

+0

然後,每個android項目導入的android.jar裏面有什麼? – Bear 2012-07-07 10:18:15

+0

@熊編輯我的答案。 – 2012-07-07 10:24:31

相關問題