Android項目導出爲jar包後調用外部資源的問題

將一個項目導出爲jar包很簡單,步驟:右鍵點擊目標項目 –> 選擇Export… –> 選擇Java –> 選中Jar file –> 點擊Next按鈕 –> 將勾選全部去掉只保留src –> 下面有個框框可以選擇導出路徑 –> Finish。
* 如果項目中沒有使用到資源(如圖片、佈局文件)直接導出即可。
* 如果有資源文件那麼直接導出也不會報錯。但是在使用的時候會報一些id找不到之類的錯誤。
本文將介紹幾種項目導出爲jar包後仍能調用資源的方式:

第一種、通過反射動態獲取資源id

參考另一篇文章:http://blog.csdn.net/u014165119/article/details/46302695
把原來的R.id.×××R.layout.×××等資源id獲取方式改爲MResource.getViewIdByName(Context context, String name)MResource.getLayoutIdByName(Context context, String name)等方式,之後正常導出jar包。使用jar包時把資源一起拷貝到新項目對應的位置即可。

第二種、使用library庫的方式(1)

只需要把要封裝jar包的項目改爲library,並在要使用jar包的項目中引用此項目,並把library中的AndroidManifest.xml文件中的內容添加到使用library的項目的AndroidManifest.xml文件中。
將普通Android項目變成library:右鍵點擊要變的項目 –> 選擇Properties –> 在彈出框的左上角選擇Android –> 勾選Is Library單選框 –> OK。
引用library:右鍵點擊要變的項目 –> 選擇Properties –> 在彈出框的左上角選擇Android –> 點擊Add…按鈕 –> 在彈出框中選中要使用的library –> OK。
注意:這種方式使用起來比較簡單,但是會暴露源碼,如果要給其他公司使用就不行了。

第三種、使用library庫的方式(2)

步驟:
1. 把要封裝jar包的項目設置爲library庫(Is Library)。
2. 將項目Clean一次。步驟:工具欄點擊Project –> 選擇Clean… –> 選中項目 –> OK。
3. 使用Export導出jar包(只導出src目錄下的源碼)。
4. 將導出的jar文件複製到項目的libs文件夾下,並刪除src下的源碼。
5. 在使用library的項目中引用library
6. 把library中的AndroidManifest.xml文件中的內容添加到使用library的項目的AndroidManifest.xml文件中。

這種方式是library和jar包結合使用,既隱藏了源碼,又簡單方便。

注意:使用第二、第三中方式時,佈局文件等資源的名字在library庫和引用library庫的項目中不能有相同的。

第四種 Android Studio AAR文件

Android Studio 打包及引用AAR
Eclipse 中使用AAR

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章