2010-11-16 33 views
2

林肯定答案是否定的,但即時通訊使用新的IntelliJ EAP版本,並有一個項目,我工作了一段時間後,這是剛剛針對基於小應用程序的應用程序的JDK 1.6寫的。Android可以使用標準的內置JAR文件嗎?

但是現在我可以看到它是如何在我有興趣創建的Android應用程序中有用。

我現在是否必須重新編寫所有代碼/測試,再次瞄準android sdk,或者我可以放在我現有的JAR文件中,並只使用android作爲UI層。

它只是安卓似乎使測試更難比它的需要,我有很多現有的測試編寫和工作,如果它不是很難只寫一個快速單元測試(標準Junit @Test風格)我不會介意移植,但是我只是沒有得到整個儀器的東西,因爲我目前不需要用戶界面...

無論如何回到原點,我可以使用我現有的JDK構建的代碼在Android應用程序?

回答

2

不!

Android使用來自項目和諧的「Dalvik」VM,它使用與標準Java JVM字節碼不兼容的不同字節碼集合。

這樣做既可以優化移動平臺上的虛擬機,也可以更重要地嘗試避免與Sun和現在的Oracle之間的版權和專利糾紛。

更多信息here

但是有一個叫做「DX」,能執行在開發環境的轉換工具。

+0

想的一樣多......我只是希望在測試驅動的方法中有一種*更容易*的方式來開發android,因爲目前純單元測試幾乎是不可能的...... – Grofit 2010-11-16 10:27:44

2

好的,讓我澄清你的困惑。

Jaars在編譯過程中轉換爲dex Dalvik字節碼,因此您可以使用第三方jar庫。

但是,在你的情況下,因爲它的applet具有不同的應用程序生命週期是的,你可能不得不重新做它來讓它在android中工作。

只要測試儀器用於所有Java移動開發甚至JavaMe。它基本上意味着Junit測試在模擬器或設備中運行,但在android的情況下,您正在使用android模擬對象來測試android特定的東西。

+0

我不會使用小程序部分,我只會使用applet使用的庫(JAR)中的功能。 – Grofit 2010-11-16 10:26:26

+0

是的,但applet部分可能不會編譯,因爲它依賴於android不使用的javaSe部分。 – 2010-11-16 10:38:20

+0

對不起,我認爲即時令人困惑的事情,也可能有2個獨立的JAR文件。一個包含標準的Java代碼/對象,它的所有基本簡單的模型和邏輯。然後有另一個JAR使用這個JAR並作爲一個小程序打開。我只想要把第一個JAR放在我的知識上Android支持在代碼中使用的所有東西,它只是在JDK 1.6 JAR中......無論哪種方式,我仍然認爲答案是否定的...... – Grofit 2010-11-16 12:54:39

相關問題