第三方或自己开发的apk文件编译到系统文件(system.img)中的方法!!!!!

把第三方或自己开发的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使用此方法也可编译运行成功。--------------------使用mkyaffs2image工具,使上面的操作更简单!把apk及相关文件(如.so)拷贝到system的相应路径下,执行 mkyaffs2image -f direction/system system.img,即可生成system.img


mkyaffs2image的安装:

在Ubuntu中第一次使用mkyaffs2image命令时,会提示

mkyaffs2image:找不到命令

还需要安装mkyaffs2image

http://code.google.com/p/fatplus ... ar&can=2&q=

下载yaffs2-source.tar

解压后,进入utils文件夹,然后make

将make之后生成的mkyaffs2image文件拷贝到/usr/bin目录下

$ su
# cp mkyaffs2image /usr/bin/
# chmod 777 /usr/bin/mkyaffs2image

之后

$ mkyaffs2image
mkyaffs2image: image building tool for YAFFS2 built Jan  6 2012
usage: mkyaffs2image dir image_file [convert]
           dir        the directory tree to be converted
           image_file the output file to hold the image
           'convert'  produce a big-endian image from a little-endian machine

表明安装成功,同时也可以看到该命令的用法

mkyaffs2image dir image_file

例如,针对Android源码中的system.img文件的生成,可以使用

$ mkyaffs2image out/target/product/smdkv210/system/ out/target/product/smdkv210/system.img  (网络转载)



你可能感兴趣的:(第三方或自己开发的apk文件编译到系统文件(system.img)中的方法!!!!!)