【摘錄】Android 重新編譯資源檔

來源:互聯網
上載者:User
http://blog.sina.com.cn/s/blog_6e15a6010100mm26.html

 

在開發過程中,尤其是Framework相關開發時,有時候需要重新編譯資源檔.編譯順序和注意事項如下:

1,資源檔位置:frameworks/base/core/res

2,編譯後產生的檔案:framework-res.apk 另外com.android.internal.R會更新這個R.java所在目錄為/out/target/common/R/com/android/internal.

3,編譯資源後,必須重新編譯framework.jar.

4,如果在frameworks/base/core/res執行mm是並不重新編譯,請使用toutch ### 命令

   ###代表目錄下的一個檔案.

5,資源檔要小寫.

6,如果沒有必要,不要編譯資源檔,可以用其他方式使用資源,比如將資源使用adb push 傳到某個目

   錄,程式中直接指定具體目錄.我在編譯資源過程中遇到一些奇怪的問題,比如有時候許多表徵圖會顯

   示錯誤,原因猜測跟重新編譯資源有關,可以試著重新編譯services.jar並替換看看.

 

舉一個例子:假如我想在WindowManagerService.java中使用一個圖片資源pic.png.順序如下.

1,將檔案pic.png拷貝到位置:frameworks/base/core/res/res/drawable下.

2,在frameworks/base/core/res/res/drawable目錄下執行touch pic.png.

3,進入目錄frameworks/base/core/res/ 執行mm命令, 編譯 framework-res.apk

4,執行完後com.android.internal.R 會新產生一個R.drawable.pic的引用.在程式中使用即可.

5,在目錄frameworks/base/ 下執行mm 編譯 framework.jar.

6,在WindowManagerService.java中使用com.android.internal.R.drawable.pic,使用完後儲存檔案.

7,進入目錄frameworks/base/services/java/ 執行mm 編譯  services.jar

8,替換機器上(虛擬機器或者真機)的jar apk檔案.

  adb push framework-res.apk /system/framework/

  adb push services.jar /system/framework/

  adb push framework.jar /system/framework/

  執行命令時注意framework-res.apk 的真實路徑.

9,reboot 機器,查看修改結果.大功告成!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.