dalvikvm如何理解android应用程序的起点

时间:2014-09-16 08:43:11

标签: dalvik dex

我可以通过将java类转换为dex文件在dalvikvm中成功运行一个简单的java程序。但是当我尝试通过将其类文件转换为dex来运行android应用程序时,它表示找不到静态main(String args [])。

Android应用程序不包含静态main()方法。

那么dalvikvm在哪里开始执行android应用程序或者它如何在android应用程序中找到静态main()方法???

1 个答案:

答案 0 :(得分:1)

Android会根据您的应用附带的AndroidManifest.xml确定您应用的入口点。具体来说,Android确定将哪个意图发送到应用程序(以使其启动),并将实例化相应的Activity并调用其onCreate方法。这个创建过程由一个名为app_process的包装器进程监督,该进程直接调用dalvik并设置应用程序执行环境。

在大多数情况下,Dalvik本身就像普通的Java JVM一样;因此,与正常Java一样,使用Dalvik运行jardex仍然需要main方法。