怎么把android的apk 应用程序打包到userdata.img镜像当中去?

 有一些apk 文件比较重要的,想直接打包到系统中,开机就能使用。网上百度了一下,只有说如何把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

------------------------------------------------------------

原文地址:http://www.eoeandroid.com/thread-58113-1-1.html

 

 

俺的师弟说用 make userdataimage-nodeps 这个,这几种方法我都试试。嘿嘿。

 

等下来报告结果。

晕,不行的这样。呵呵,压根没更新userdata.img


 

执行make userdataimage-nodeps 后两分钟左右,终端就显示下面的信息,生成了out/target/product/generic/userdata.img

Target userdata fs image: out/target/product/generic/userdata.img

 

我马上烧写到我的S5PV210 试试。菜鸟啊,菜鸟中前进。



out/host/linux-x86/bin/mkyaffs2image -f  out/target/product/smdkv210/data out/target/product/smdkv210/userdata.img

——这个就可以了,不过的确存在愤怒的小鸟打包进去不能运行的问题,有些apk 文件打包进去就能运行。看来还是一些库的打包没处理好。


原来是是这个android 系统被改的不成样子,用上述命令就可以顺利生成我们最新的userdata.img 了。


android系统存在问题,导致下面的命令都无效。




Android比较重要的三个img文件:


make systemimage    - system.img
make userdataimage  - userdata.img
make ramdisk         - ramdisk.img


PS:make snod - 快速打包system.img
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值