您的位置:首页 > 移动开发

通过mk文件编译android4.0.3系统app源码后覆盖安装失败解决办法(android odex文件)

2012-10-29 22:48 721 查看
目前学习android framework层的开发,更改系统自带的apk源码,通过mmm指令编译后产生的apk和odex文件,然后将其覆盖的开发板上,重启后发现无限报错
这就让人郁闷了啊,仅仅是在源码中加入了一句话,怎么会造成这么大的问题呢?

         让我怀疑自己修改代码造成的问题,于是还原后重新编译,再次放入开发板后还是无限报错,这就奇怪了。

         于是开始琢磨,这odex文件是干嘛的呢?百度后才发现,这odex可以让产商防止一定的反盗版,自从android4.0.3后通过mk编译后的apk文件会有两个,那就是apk和odex文件,那么如何解决这个问题呢? 便是将apk和odex文件和二为一了,

解决问题:

        1,到需要编译的apk源码路径下(别说不知道,就是与src,res同级的目录)打开android.mk文件

        2,在其中加入一行   LOCAL_DEX_PREOPT := false (android4.0.3后默认产生odex文件,这里设置为不产生),保存

        3,再次通过mmm 命令编译后产生的apk文件(只有apk文件)

        4,通过adb push 指令将apk覆盖到系统的app目录下。后重启

注意:这里有一点需要注意,若是原来的system/app目录下有该apk文件对应的odex,那么请记住,一定要删除!

 

 

原文地址:http://blog.csdn.net/javashu2012/article/details/7787818
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐