2010-08-31 62 views
4

我目前正在移植一個框架,用於在J2ME上將應用程序構建到Android。該框架由幾個編譯爲庫(jar)的項目組成。每個單獨的JAR都可以包含圖形數據(資源,J4ME屏幕等)。每個項目通常都有一個明確定義的入口點(模塊)。當有人想使用框架構建應用程序時,他只能創建一個Midlet項目並添加庫依賴項並使用導入的類。在Eclipse上創建Android模塊化應用程序

我們一直在使用相同的方法來開發Android框架。在這種情況下,我們只使用Eclipse內部的普通Java項目編譯爲jar庫。這些項目與Android Framework(android.jar)有依賴關係。在構建新應用程序時,我們在Eclipse內部創建一個Android項目並添加依賴關係。

我們的下一步是爲Android構建更多高級模塊,這些模塊還可以包含圖形信息(活動,對話框,文字,Drawables等)。到目前爲止,只需要一個Android Eclipse項目(最終應用程序),其中包含所有與圖形相關的類和資源。看起來在使用資源(文字,可繪製等)時,唯一的方法是創建一個Android應用程序,因爲資源只能通過由ADT插件(R.XXX)自動創建的整型處理程序引用。所以構建圖形模塊可能不是通過簡單的Java jar項目構建的。

Android開發人員信息解釋說,模塊化應用程序是可行的,但我還沒有找到一個簡明的教程來解釋過程,但一些提示,如如何防止出現錯誤,以當出現問題時application invokes an intent made available by other application。這在構建使用其他應用程序資源的應用程序時有效。我不需要在系統上安裝好幾個應用程序,而是從幾個組件構建的應用程序。

有沒有人有類似的要求開發經驗?任何好的教程或提示開始?

回答

1

看來,唯一可用的方式被描述爲here暗示爲the accepted answer of this other question

然而,這個解決方案還是比較新的(它只適用於最新的Android SDK,R6和SDK 2.0.X都不支持)。它有一些主要的注意事項上,我希望谷歌已經着手:

  • 沒有二進制庫鏈接。這意味着主應用程序需要訪問源(在Eclipse中意味着打開所有鏈接庫項目)。
  • 資源名稱(佈局,繪圖等)全局對待。這意味着如果您有兩個「main.xml」佈局,則只會使用最相關的(庫列表中最上面的)。
  • 缺少功能/ BUG。該文檔指出,只能在庫項目的AndroidManifest.xml中聲明庫項目的導出活動。此在當前版本中不起作用TicTacToe中的註釋示例提示這是所需的工作,但對於當前版本的Android工具,使用來自庫項目的活動必須在主應用程序項目的AndroidManifest.xml中顯式定義。