2010-08-01 54 views
4

在我的情況下,我想寫一個完全對稱(不是客戶端 - 服務器)的應用程序,在兩臺PC上具有相同的功能,一個是「標準」Windows或Linux機箱,另一個是Android平板電腦。我可以在Android上運行「標準」,非Android的Java應用嗎?

我可以在兩者上運行相同的程序,還是需要將它包裝在Android包中以供刪除等等?

這兩臺PC將通過TCP/IP進行通信,有點對等,但我懷疑作爲一個通用問題,這可能會引起很多人的興趣。

回答

10

那麼你不能在Android上運行獨立的Java應用程序。 Android應用程序編譯爲dalvik字節碼,實際上只是用java編寫的,但不能在java vm上運行(Android沒有Java虛擬機)。但是,您可以創建一個可供桌面和Android應用程序使用的jar庫,並應提供與平臺無關的代碼的重用。

+1

您還需要它爲您的用戶界面,權限,因此它可以像普通的Android應用程序一樣分發/安裝等。 – CommonsWare 2010-08-01 07:03:26

0

可以在Android設備上運行命令行Java程序。一個簡單的「你好,世界」程序的例子是described here

但是,如前所述,您不能使用UI框架的Android框架,除非您擁有固定電話,否則您將無法將其安裝到/ data或訪問「受保護」功能,如與互聯網。

+0

請注意,即使在發佈的鏈接中,您仍然未在Android上運行Java應用程序不是JVM),你正在將java編譯成dalvik可執行文件以在dalvik vm上運行。 – 2010-08-05 06:46:57

+0

當然你是對的。我應該說,「你可以運行用Java編程語言編寫的命令行程序」,這不是一回事。 – fadden 2010-08-05 19:30:28

相關問題