研究如何將資源以及activity檔案大包成jar檔案供項目調用,走了不少彎路,也嘗試了各種不同方式,都不太理想,最終還是從android的官方文檔中找到了完美的解決,這裡做一個總結。
最近剛剛發布了一款小應用《詩詞大全》,有興趣的朋友請實用提出您的寶貴意見,謝謝
這篇博文內容是結合android 開發文檔的翻譯以及個人在開發過程中的具體情況的一個總結
第一步,把普通的android project設定成庫項目
庫項目也是一個標準的android項目,因此你先建立一個普通的android項目。 這個項目可以起任何的名稱,任何的報名,設定其他需要設定的欄位等,1所示。
接著把項目設定成庫項目,步驟如下
- 在Package Explorer中, 滑鼠右鍵專案檔夾,點擊 Properties.
- 在Properties 視窗, 選擇"Android" ,Library屬性顯示在右下邊.
- 把"is Library" 單選框選擇上,再點擊 Apply.
- 點擊 OK 關閉Properties 視窗.
這時,這個項目就變成庫項目了。
當然,java項目也可以讓其變成一個庫項目,非常簡單,執行上面的四步。其他程式項目就可以引用庫項目了。
圖 1.使一個項目為庫項目
建立manifest檔案
一個庫項目的manifest檔案也和標準的android應用程式一樣,聲明所有共用的組件。
比如APIDemo中的TicTacToeLib 這個例子,庫項目聲明了Activity GameActivity
:
<manifest> ... <application> ... <activity android:name="GameActivity" /> ... </application></manifest>
第二步 引用庫項目
如果你開發的應用程式想要包括庫項目中的代碼和資源,非常簡單,引用步驟如下
- 在Package Explorer中, 滑鼠右鍵專案檔夾,點擊 Properties.
- 在Properties 視窗, 選擇"Android" ,Library屬性顯示在右下邊.
- 點擊Add ,開啟了Project Selection對話方塊.
- 從可用庫項目列表選擇一個項目,然後點擊 OK.
- 對話方塊關閉之後點擊 Apply (在Properties視窗).
- 點擊 OK 關閉Properties 視窗.
完成以上六步,Eclipse 會重建項目,把庫項目中的內容包含進去。 2所示
圖 2.讓項目引用一個庫項目
如果你想增加多個庫項目的引用,使用up和down可以設定他們的相對的優先順序和合并順序。工具在合并引用的庫的時候順序是從低優先順序(列表的下面)到高優先順序(列表的上面)。 如果不只一個庫定義了相同的資源ID,這個工具選擇資源時會選擇高優先順序的資源。應用程式自身擁有最高的優先順序,自身的資源zThe application itself has highest priority and its resources are always used in preference to identical resource IDs defined in libraries.
在menifest檔案中聲明庫中的組件
在manifest檔案中必須增加對在當前程式中用到的庫項目中的所有的組件。比如,你必須聲明任何用到的 <activity>, <service>, <receiver>, <provider>等,<permission>, <uses-library>,和其他類似的元素。
聲明庫項目中的組件時,必須使用包含包名的類全名。
在TicTacToeMain例子中,聲明庫Activity GameActivity :
<manifest> ... <application> ... <activity android:name="com.example.android.tictactoe.library.GameActivity" /> ... </application></manifest>
需要瞭解更多關於androidManifest的資訊請參閱 AndroidManifest.xml.