Android 重新编译资源文件
在開發過程中,尤其是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 機器,查看修改結果.大功告成!
總結
以上是生活随笔為你收集整理的Android 重新编译资源文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android显示系统之View与Sur
- 下一篇: Android ramdisk.img