Android 編程下如何修改 jar 檔案的包名

來源:互聯網
上載者:User

標籤:des   android   style   blog   http   ar   io   color   使用   

首先我們要說說為什麼要修改 jar 檔案的包名,jar 包我們會非常高頻率的使用,尤其是用一些其他三方庫的時候,往往把 java 代碼打包成 jar 檔案,方便項目依賴使用。筆者在開發過程中遇到過一些問題,是由於 jar 檔案裡面的包名和項目或者運行時環境的引用檔案包名上存在衝突導致的,這時候我們修改 jar 檔案的包名是一個比較快速有效解決辦法。舉兩個例子,是筆者親身經曆的兩個情況。

  • Gson庫:這個相信很多人都在使用,但是直接匯入 gson 的 jar 包,在 HTC Desire HD 這款手機上會拋出異常(TypeNotFoundException)
  • Jackson庫:這也是個 json 解析的,我們在做蘋果推送背景時候,後台用 java 寫的,使用 java-apns 庫,依賴於 Jackson,然後運行就會拋出異常,具體原因沒有查,初步懷疑包名衝突,修改之後就解決的。

下面介紹如何修改jar檔案的包名,需要用到一個小工具,叫做 jarjar.jar

  • :http://code.google.com/p/jarjar/downloads/list

這裡我們以 gson.jar 為例,在 gson.jar 包目錄下建立一個文字檔,名字隨意,例如 rule.txt,寫入下面的內容。

rule com.google.gson.** [email protected]

上面寫的就是修改規則,我們將包名中的 gson 修改為 mygson。開啟命令列,輸入如下命令。

java -jar jarjar.jar process rule.txt gson.jar mygson.jar

命令執行完畢,同目錄下會多出一下 mygson.jar,這個就是修改包名之後的 jar 檔案,我們項目匯入這個 jar 包使用即可。

Android 編程下如何修改 jar 檔案的包名

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.