2013-04-25 111 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

相关问题