天天看點

第三方apk檔案編譯到系統檔案(system.img)中的方法

1  (1)源碼編譯後,把apk拷貝到out\target\product\generic\system\app中。    

(2) 執行指令make snod , 把添加的spk編到system.img 中   

缺點:執行make clean 後,再次make 完畢需要重新執行上面操作。 

2  "方法一"的改進。    

(1) 建立一個檔案夾目錄,用來存放apk檔案

          mkdir packages/apps/prebuilt_apps  

            cd packages/apps/prebuilt_apps       

      在prebuilt_apps中建立make檔案      

        vi android.mk              并寫入             

local_path := $(call my-dir)             

include $(clear_vars)            

  local_post_process_command := $(shell cp -r $(local_path)/*.apk $(target_out)/app/)              儲存退出。   

(2) 把需要編譯的apk拷貝到目錄prebuilt_apps下,執行make ,prebuilt_apps中的apk就會考被到out\target\product\generic\system\app中。    

(3) 執行make snod 。完成。     此方法執行make clean 後,再次make 完畢,隻需要make snod即可(有時make後,out\target\product\generic\system\app沒有需要添加的apk,此時再make一次即可,速度很快)。

解壓apk,如其中lib(.so)檔案,把 .so檔案copy到system\lib下,再編譯。本人在模拟器上直接加入angrybird.apk(憤怒的小鳥)編譯,編譯後無法運作。把libangrybirds.so拷貝到system\lib下,再編譯後就可以運作。觸寶輸入法apk使用此方法也可編譯運作成功。--------------------使用mkyaffs2image工具,使上面的操作更簡單!把apk及相關檔案(如.so)拷貝到system的相應路徑下,執行 mkyaffs2image -f direction/system

system.img,即可生成system.img

http://blog.csdn.net/csy288/article/details/9186023