可能是一個stup!@#問題。Android應用程序是本機還是JavaVM代碼?
我不知道爲Android開發應用程序,但我想知道,如果Android的應用程序,它們編譯時,生成的代碼是純自然本地代碼,或者是與Java虛擬機兼容的代碼。
非常感謝。
可能是一個stup!@#問題。Android應用程序是本機還是JavaVM代碼?
我不知道爲Android開發應用程序,但我想知道,如果Android的應用程序,它們編譯時,生成的代碼是純自然本地代碼,或者是與Java虛擬機兼容的代碼。
非常感謝。
Android上的大多數應用程序都是Java應用程序。它們被Java編譯器編譯爲.class文件,然後dx編譯器將.class文件編譯爲.dex文件,這些文件可由Android上的Dalvik VM(Java VM)執行。
儘管Dalvik虛擬機用於運行Java代碼,但它與計算機上的標準Java虛擬機明顯不同。標準虛擬機是一個「基於堆棧」的機器,而Dalvik VM則是「基於寄存器」。
您還可以使用NDK製作應用程序,並將它們寫入C或C++。這與Java不兼容(儘管您可以使用JNI將本機C代碼與Java代碼進行接口)。
它有自己的虛擬機,Dalvik。
至少有三種方法可以做到這一點:
更多信息:http://en.wikipedia.org/wiki/Android_software_development#Native_development_kit