3、在設置Libraies項,選擇剛纔的位置添加jar包。
要發佈到論壇或者github,或者在另一個項目中引用他,打成jar包可以節約很多的時間
下面達內爲大家講解一下如何將自己創建的項目打包成jar包, 如何將android項目打包成jar包
在到dos窗口中運行 切入到項目的bin\classes文件下面
cd 文件目錄
1:如果你項目需要引入資料文件(如圖片啊,txt文件等),先將你的這些資源文件放到項目下的asset文件中,然後再放你這個asset文件複製到你這個項目的classes文件下,
2:打開你的本地磁盤,找到你的項目的workspace文件夾,並找到你這個項目對應的文件名,進入這個項目的bin文件夾裏,我們在可以找到這個classes文件
3:如果你項目還引用了其它第三方的jar,需把這個第三方jar包也時打入你這項目jar包,你則需把第三方 jar包解壓,並把解壓出來的文件複製到classes/com文件下面,我有這com文件是因爲我的項目包名最外層是叫:com,你自己的則剛你自己的項目而定,與你項目的那文件並列存在,
4:然後在dos窗口中運行:jar -cvf jarname.jar *,這樣我們就可以看到在bin文件夾中生成一個jarname.jar的文件,這個文件就是我們達內培訓項目打包後的文件
(3)將項目打包成Library項目
研究如何將資源以及activity文件大包成jar文件供項目調用,走了不少彎路,也嘗試了各種不同方式,都不太理想,最終還是從android的官方文檔中找到了完美的解決,這裏做一個總結。
這篇博文內容是結合android 開發文檔的翻譯以及個人在開發過程中的具體情況的一個總結第一步,把普通的android project設置成庫項目庫項目也是一個標準的android項目,因此你先創建一個普通的android項目。 這個項目可以起任何的名稱,任何的包名,設置其他需要設置的字段等,
接着把項目設置成庫項目,步驟如下
- 在Package Explorer中, 鼠標右鍵項目文件夾,點擊 Properties.
- 在Properties 窗口, 選擇"Android" ,Library屬性顯示在右下邊.
- 把"is Library" 單選框選擇上,再點擊 Apply.
-
點擊 OK 關閉Properties 窗口.
當然,java項目也可以讓其變成一個庫項目,非常簡單,執行上面的四步。其他程序項目就可以引用庫項目了。
創建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 窗口.
有時候我們要引用多個庫
如果你想增加多個庫項目的引用,使用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.