2013-04-25 110 views
2

我有一個奇怪的問題,當我們開發一個android應用程序或其他人時,我們需要將android.jar導入到我們的項目中,我知道如果我們不導入jar進入項目,我們無法編譯項目,也無法生成apk文件,但我的問題是我們的手機是在Android系統上建立的,Android系統包含android.jar中的所有類,當我們運行我們的apk文件在Android系統上,它將使用哪些類。我的意思是一個Activity類都存在於Android系統框架和Android.jar中,這個Activity類將在應用程序運行時使用。請有人幫我解決這個問題。很感謝我不明白爲什麼我們需要導入Android sdk到項目中

+0

Android在Delvik上運行,它讀取.dex文件;你用java寫的你的應用程序是.java文件。 – StoneBird 2013-04-25 02:07:46

回答

7

Java是一種編譯語言。

這是一個兩步process--首先必須對代碼進行編譯成字節碼,然後編譯後的字節代碼已實際運行(俗稱執行

你有可能注意到編譯錯誤和運行時錯誤之間的區別。例如,編譯錯誤通常被視爲日食中的紅色下劃線和紅色x。在您的手機上運行應用程序時發生運行時錯誤。

知道我在說什麼嗎?

所以有編譯環境(Eclipse中)和運行時環境(安卓)之間的完全分離。因此,他們都需要知道Android類,並且必須導入android sdk。

+0

好的答案... – 2013-04-25 02:09:32

+0

這是一個詳細的答案。 – StoneBird 2013-04-25 02:10:49

+0

因此,如果我在android.jar中的某個類中添加方法,但該方法在android框架(運行時)中不存在,它會拋出異常,儘管我可以傳遞編譯過程。 – 2013-04-25 02:11:20

相關問題