我可以通过将java类转换为dex文件在dalvikvm中成功运行一个简单的java程序。但是当我尝试通过将其类文件转换为dex来运行android应用程序时,它表示找不到静态main(String args [])。
Android应用程序不包含静态main()方法。
那么dalvikvm在哪里开始执行android应用程序或者它如何在android应用程序中找到静态main()方法???
答案 0 :(得分:1)
Android会根据您的应用附带的AndroidManifest.xml
确定您应用的入口点。具体来说,Android确定将哪个意图发送到应用程序(以使其启动),并将实例化相应的Activity并调用其onCreate
方法。这个创建过程由一个名为app_process
的包装器进程监督,该进程直接调用dalvik并设置应用程序执行环境。
在大多数情况下,Dalvik本身就像普通的Java JVM一样;因此,与正常Java一样,使用Dalvik运行jar
或dex
仍然需要main
方法。