Android中如何合并兩個工程的功能

來源:互聯網
上載者:User


        今天由於某種原因,接到一個任務,需要合并兩個原先是以兩個APK包方式發行的版本,由於他們功能互補,因此希望把這兩個工程合成一個工程。仔細整理了下思路,決定將一個比較接近底層服務的apk包做成一個jar的方式進行整合!

        原來以為要自己手動匯出jar,然後再引用,後來發現eclipse本身已經內建了這個功能,只要我們在功能屬性中直接進行引用即可。Project->Properties->Android,右下角有個Library選項,我們只需要Add我們要包含的工程即可,這裡當然IDE只會提示那些作為Library的工程的名稱,因此我們還要對另一個工程做點小小的工作.就是將其設定成Library.具體做法也是剛才那個路徑Project->Properties->Android,但是這次我們要在Is Library的地方打勾,那麼這個工程就會被認為是要作為library來提供的了!         好了,基本的組合架構已經完成了,下面要進行內容的整合,由於兩個項目本來就是獨立的APK,因此都會包含有各自的資源檔和一些工程相關的檔案,這裡我們只需要對Manifest.xml中的內容進行移植即可,裡面的一些程式相關的組件聲明,我們需要將其整合到我們的目標工程裡,具體做法當然只能是copy,modify了。這個我相信你懂的:)最後作為Library裡manifest檔案裡看到的manifest就會只剩這個框框了:        <?xml version="1.0" encoding="utf-8"?>                <manifest xmlns:android="http://schemas.android.com/apk/res/android"                package="com.avtest">               <application/>       </manifest>就這樣我們的工程就完成了:)        這期間的資源整合我看了下,發現是以名稱的方式進行整合的,比如兩個工程都在Drawable目錄下有個叫做icon.png的圖片,那麼它的做法是,發現這種情況以目標工程的為主,直接忽略掉Library裡的那個資源檔。因此我們在開發Library的時候對這些資源的命名最好有一套自己的規則,以防止重名!最後碰到一個小問題是,我發現我在給最終的apk包做簽名的時候,很多.xml檔案會報not well-formed (invalid token)的錯誤,這個問題也困擾了一段時間,雖然知道應該是檔案格式的問題,但是當我把兩個工程的字元編碼都設定成UTF-8後還是不行,最後才知道,原來還要在Window->preference->workspace->text file encodeing裡進行設定。終於大功告成了!
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.