好久之前寫的, 現在回看, 確實非常抱歉,誤導大家了。 這種方法只是用於項目引用, export的jar包是不包括res的。
不過現在大家都用新工具Android Studio, 它的aar格式, 確實包含了res的。
======================================
我們經常會有這種需求, 自己開發一個類庫jar包, 提供給別人調用。
網上很多教程都是這么說:
創建一個Android project, 用eclipse 的export 導出, 去掉AndroidManifest.xml, res 什么的, 全都不是正解!
http://www.cyqdata.com/android/article-detail-37285
用這種方法總會有這樣那樣的問題。
還有這么說,
android jar包是不能導出resource文件的,確實需要的話, 只能放在assert目錄下面, 用AssertManager來訪問。
但是你也知道,android.jar 本身就有res啊, 為什么人家可以?
看了官方文檔, 我們才知道,不是不可以,是用的方法不對。下面來看看正確的做法是怎么樣的。
1.創建一個正常的Android project.
2. 寫好你要的代碼,res文件(layout, drawable都可以)
3.如果有 Activity, Service, Broadcast Receiver什么的要提供給人家用, 要在AndroidManifest.xml 聲明。
4. 關鍵的來了:在項目屬性properties -> Android-> Is Library 勾上!
5. 要引用這個項目時,應該在你的項目project 的properties-》android里library 點擊Add, 記住, 不是什么Build path!
6.也許你要問, 我要導出jar 怎么辦? 簡單啊, 當你保存或者Build 你的項目時, 人家已經幫你生成jar了,就在bin目錄下面!
That is all!
最后我想說, 什么教程都是浮雲, 最終還是要以官方文檔為准: