android源碼framework下添加新資源的方法

 

 

 

 

 

 

轉載自:https://www.cnblogs.com/zl1991/p/5241891.html

編譯帶有資源的jar包,需要更改frameworks層,方法如下:  

一.增加png類型的圖片資源  

1.將appupdate模塊所有用到的png格式圖片拷貝到framework/base/core/res/res/drawable-mdpi裏。但是要確保沒有與原生的沒有重名文件。  

2.在framework/base/core/res/res/values/public.xml文件裏增加對這些圖片的聲明。(例: ,此id要保證唯一,以drawable類型的最後一個id爲基數增加)  

3.framework/base/core/res/res/ 下mm編譯  

4. \Honeycomb下 make update-api  

二.增加string資源  

1.將appupdate模塊定義的string.xml裏面的所以string拷貝到framework/base/core/res/res/values/string.xml裏。但是確保沒有重名的。  

2.在framework/base/core/res/res/values/public.xml文件裏增加對這些string的聲明。(例:此id要保證唯一,以string類型的最後一個id爲基數增加)  

3.framework/base/core/res/res/ 下mm編譯  

4. \Honeycomb下 make update-api  

三.增加layout資源  

1.將appupdate模塊的layout文件裏定義的5個xml文件拷貝到在framework/base/core/res/res/layout裏。但是要確保沒有重名文件被覆蓋。  

2.在framework/base/core/res/res/values/public.xml文件裏增加對這些layout的聲明。(例:此id要保證唯一,以layout類型的最後一個id爲基數增加)  

3.framework/base/core/res/res/ 下mm編譯  

4. \Honeycomb下 make update-api  

說明:若layout中包含xml,直接把xml拷貝到framework相應目錄下。

例如(1)button的selector。將appupdate模塊的drawable/common_btn_selector.xml文件拷貝到framework/base/core/res/res/drawable裏,確保沒有重名文件。  (2)將appupdate模塊的anim/loading.xml文件拷貝到framework/base/core/res/res/anim裏,確保沒有重名文件。  

四.增加style資源  

1.將appupdate模塊的style文件裏定義的所有style拷貝到framework/base/core/res/res/values/style.xml裏。確保沒有覆蓋原生的style.  

2.在framework/base/core/res/res/values/public.xml文件裏增加對這些style的聲明。  3.framework/base/core/res/res/ 下mm編譯  

4. \Honeycomb下 make update-api  

五.增加color資源  

1.將appupdate模塊的style文件裏定義的所有style拷貝到framework/base/core/res/res/values/color.xml裏。確保沒有覆蓋原生的color.  

2.在framework/base/core/res/res/values/public.xml文件裏增加對這些color的聲明。  3.framework/base/core/res/res/ 下mm編譯  

4. \Honeycomb下 make update-api  

六.增加資源id  

1.在framework/base/core/res/res/values/ids.xml裏定義你jar中所用的id(R.id)*)。確保沒有覆蓋原生的.  

2.在framework/base/core/res/res/values/public.xml文件裏增加對這些id的聲明。  3.framework/base/core/res/res/ 下mm編譯  

4. \Honeycomb下 make update-api  

最後,eclipse源碼中要修改以下:  

1. 把R.*.*全部替換成android.R.*.*例如R.layout.appupg_tip_dialog 要更換爲android.R.layout.appupg_tip_dialog  

2. 資源文件中對資源的調用需要添加android:如<textview p="" <="" 要改成  

3. Import *.*.*.R刪除。  linux下jar包路徑  Honeycomb\out\target\common\obj\JAVA_LIBRARIES\hisenseAppUpgrade_sdk_intermediates  

另,要想在eclipse環境下編譯修改後的應用自升級jar。  

1, 從編譯的源碼中拷貝framework.jar及framework-res.apk兩個文件,解壓縮後。從framework.jar中拷貝出android文件夾,從framework-res.apk拷貝出res文件夾,然後添加到android.jar包中。替換自升級工程的android.jar。然後把res文件夾下出現X的文件刪除即可。  應用自升級修改方法  資源修改要通過frameworks層,修改後要在源碼中編譯。

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