2013-12-08 102 views
0

我正在爲應用程序的服務器後端組件工作,其中一個目標是記錄通過應用程序傳輸的所有消息(使用MQTT)。爲此,我希望將應用程序用作各種庫,以便我可以使用定義的對象來解析傳入的消息,因爲沒有任何消息會作爲標準類型傳輸。我使用IntelliJ進行Java開發,使用Android Studio進行Android開發。這可能嗎?我以前能夠將代碼作爲模塊導入,這使我可以使用內部定義的類型,但是當我去構建項目時,它也試圖構建Android代碼,並且因爲IntelliJ沒有設置Android依賴關係而失敗。我應該嘗試將Android SDK設置爲應用程序模塊中的依賴項,然後構建?或者我以錯誤的方式接近這個? (如果甚至可能的話)我明白,也有庫項目看起來像一個可能的解決方案,它只需要將所有適用的代碼重新分解到不同的項目中,我希望這不是必需的。在非Android Java項目中使用部分Android應用程序

+0

「因爲沒有消息將作爲標準類型傳輸」 - 請使用平臺無關的線上數據結構(XML,JSON,protobuf,Thrift等),以便您的前端和後端可以在未來以非JVM語言實現。 – CommonsWare

回答

1

試圖將整個Android應用程序作爲庫導入不同的代碼庫可能不會工作;您不希望非Android應用程序將所有Android代碼鏈接在一起,並且在資源和整個環境中,根本無法編譯它。

更好的方法是將所有需要跨代碼工作的代碼提取到一個普通的Java庫中,然後將其包含在多個上下文中。在Android方面,你可以將它作爲一個普通的Java庫項目包含它,或者將它編譯成一個jar包含jar。

相關問題