Chinaunix首页 | 论坛 | 博客
  • 博客访问: 407085
  • 博文数量: 120
  • 博客积分: 3125
  • 博客等级: 中校
  • 技术积分: 1100
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-29 10:59
文章分类

全部博文(120)

文章存档

2012年(28)

2011年(22)

2010年(34)

2009年(1)

2008年(35)

我的朋友

分类: LINUX

2010-09-28 15:12:59

 有时候发现别人手机里有一款 apk 挺好,想弄出来装自己手机上,可是却发现那个 apk 是残缺的,里面没有 classes.dex 文件,却有个跟 apk 同名的 odex 文件。残缺的 apk 是装不了的,只能把这个 apk 跟 odex 合并成一个完整的 apk 才能安装。
 
需要的工具:
1 . smali-1.2.2.jar 和 baksmali-1.2.2.jar
2 . 还需要这个 apk 所在的 rom 里面的一些 jar 文件,都在 /system/framework 里面: core.jar, ext. jar, framework. jar, android.policy. jar, services. Jar 。当然,这五个是最基本的,有可能还不够,这种情况下面会讲到。
 
总共分四步:
1 . 把下载好的 smali-1.2.2.jar 和 baksmali-1.2.2.jar ,还有 rom 里面抠出来的 5 个 jar ,放到工作目录,然后 apk 和 odex 也放到一起。
2 . 分解 odex 文件为 class 文件。
命令: java -jar baksmali-1.2.2.jar -x
处是你要分解的 odex 文件的名字,命令完成之后,会生成一个 out 文件夹,里面就是所有的 class 文件。如果出现问题,比如什么异常,缺少包什么的,就更到 rom 里面把出错信息里面要求的包拿出来,放到当前目录下。
3.  将 class 生成为 classes.dex 文件。
命令: java -Xmx512M -jar smali-1.2.2.jar out -o classes.dex
这一步应该不会有什么问题,然后会生成 classes.dex 文件。
4.  把 classes.dex 放入 apk 里面,把盖子盖上。
最后这一步最简单了,用解压缩软件打开 apk ,然后把千辛万苦生成的 classes.dex 塞进去,就 ok 了。这个 apk 就能用了。如果想给他重新签个名的话,去找个 Auto Sign 签名工具签署一下就行。
阅读(939) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-09-29 14:29:54

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com