android framework 沒有什麼可以做的為

 今天在項目中遇到個非常頭疼的問題,主要是因為自己第一次做Framework,對底層編譯什麼的完全不瞭解導致的。
 
情況是這樣的,我們需要自己編譯Framework運行在Galaxy S上,其他同事都可以正常編譯一個大約為4M的framework.jar,直接adb push /system/framework下重啟手機即可。
 
但是我的電腦在第一次正常編譯之後生成的framework.jar才十幾k,第二次編譯就報make: 沒有什麼可以做的為"all_modules"的bug。
 
 
 
 
查瞭很多資料才知道Android原生編譯framework是生成framework.jar(1x.kb) 和framework.odex(8M左右)的兩個文件,模擬器中使用的就是framework.odex而不是framework.jar
 
也就說我編譯的是正常的。
 
 
 
 
而想要把odex文件打包進framework.jar中,需要在編譯之前選擇lunch模式為8(android 4.1.1_r3的源碼)。這樣就隻會生成framework.jar(大約4M)的文件。再替換真機上的framework.jar即可
 
 
 
 
 
全過程為:
 
1.下載源碼
 
2.source build/env……sh
 
3.lunch
 
4.8
 
5.make framework
 
 
 
 
之後直接make framework即可.
 
 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *