轉載:android:關於主工程和library project

原帖:http://blog.sina.com.cn/s/blog_a3b9b9040101lco3.html

轉載內容:

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文件,不能引用rawassets下資源

另外當試圖運行一個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工程的所有ActivityServicereceiverprovider,還要添加library工程的permissionuses-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版本高於主工程,將不能通過編譯。

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