把第三方或自己開發的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一次即可,速度很快)。
-----------------------
感謝11樓提供的關于編譯成功但無法運行問題的解決方法。
解壓apk,如其中lib(.so)文件,把 .so文件copy到system\lib下,再編譯。
本人在模擬器上直接加入angrybird.apk(憤怒的小鳥)編譯,編譯后無法運行。把libangrybirds.so拷貝到system\lib下,再編譯后就可以運行。
觸寶輸入法apk使用此方法也可編譯運行成功
?