jar包中資源問題總結

來源:互聯網
上載者:User

之前提出來一個問題,參見

http://topic.csdn.net/u/20110630/14/ad71749c-631b-4fef-950d-92d5d6983628.html

分析結果如下:

1、jar被包含進其他項目後,最終產生的apk檔案中包含jar中的資源(目錄結構也是一樣的),這個可以通過zip開啟jar和apk查看。

2、jar中的資源應該也是被jvm管理起來的,但是由於其實際id與原始jar項目中產生的id不一致,導致使用原始jar項目中的資源id不能訪問到實際資源。只能通過getClass().getClassLoader().getResourceAsStream()的方式進行訪問。


對於使用jar方式進行組件開發,有以下需要注意:

1. jar包中一般只包含代碼不包含資源。

2. 如果要在jar中包含資源,則資源檔不應該放在預設的res目錄下(因為匯入其他項目後可能出現重名衝突),應該在package目錄下建立專用的資來源目錄,如此通過pakcage的不重名來確保匯入後資源不衝突。同時,jar中代碼不能直接使用R類中資源id進行訪問,應該通過getClass().getClassLoader().getResourceAsStream()進行載入。

3. 字付串資源可以定義成常量的方式來使用。

聯繫我們

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