1、如何將一個android工程作為庫工程(library project) library project是作為jar包被其它android工程使用的,首先它也是普通的android工程。然后: 1)在eclipse Package Explorer, 右鍵android工程選擇Properties 2)選擇Android,下拉右邊的滾動條到最下面,選中”Is Library“ 3)點擊Apply,點擊OK 這個android工程就成為了library工程。 注意:作為library工程可以引用外部jar包,但不能引用其它library工程,在library工程中不能使用aidl文件,不能引用raw、assets下資源 另外當試圖運行一個library工程時,eclipse將報錯: 2、主工程如何引用庫工程 當引用lib工程后,主工程就可以調用library工程的相關類和方法。android工程引用其它library工程步驟: 1)在Package Explorer, 右鍵android工程選擇Properties 2)選擇Android,下拉右邊的滾動條到最下面 3)點擊Add按鈕打開lib工程選擇對話框 4)從選擇對話框中選擇工程,點擊OK 5)點擊Apply按鈕,點擊OK按鈕 3、在主工程manifest.xml文件中聲明lib工程的組件 主工程manifest.xml中必須添加library工程的所有Activity、Service、receiver、provider,還要添加library工程的permission、uses-library等屬性,注意引用的組件要使用完全的包名,否則將報對應的NotFoundException。 4、庫工程與主工程資源沖突問題 當運行有引用library工程的android工程時,android工具將會合並library工程與主工程的所有資源。如果一個資源ID將有可能在library工程之間或library工程、主工程之間都有定義,這時候優先級別高的資源ID將覆蓋優先級別低的,使用資源時將使用有線級別最高的工程的資源。工程之間優先級別如何判定,請看下一條。 5、庫工程之間以及主工程的資源使用上的優先級問題 上圖顯示一個android工程引用了四個library工程,這四個library工程和主工程之間是有優先級之分的。android主工程的優先級別最高,四個library工程科舉上圖排序有上到下優先級別依次降低。library工程之間也可以手動排序,選擇其中一個,點擊up(提高優先級)或者down(降低優先級)。 6、庫工程和主工程使用不同的android platform version問題 主工程打包時,android sdk版本使用的是主工程。所以library工程使用的android sdk版本要不高於主工程的sdk版本。如果library工程sdk版本高於主工程,將不能通過編譯。