Android4.0上合并apk和odex

这个实际已经有人写过了。我只是将我的操作过程记录下来,也方便他人碰到问题时不知道如何处理。

http://blog.csdn.net/evilcode/archive/2010/12/16/6079756.aspx

基本上按上此文件操作就可以了。需要说明的是,smali和baksmali请从此处下载最新版吧。

http://code.google.com/p/smali/downloads/list

否则会以下错:

分解odex时出错:
C:\Program Files (x86)\Java\jre6\bin>java -jar baksmali-1.2.2.jar -x NewsReader.odex

UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.RuntimeException: bad magic value: 64 65 79 0a 30 33 36 00
        at org.jf.dexlib.DexFile.<init>(DexFile.java:382)
        at org.jf.baksmali.main.main(main.java:249)

 

另外,分析odex时,请将手机ROM中的framework中的文件全复制出来,将要分解的文件放置到同一目录,这样可以避免如下错误:

Error occured while loading boot class path files. Aborting.
org.jf.dexlib.Util.ExceptionWithContext: Cannot locate boot class path file core.odex
at org.jf.dexlib.Code.Analysis.ClassPath.loadBootClassPath(ClassPath.java:237)
at org.jf.dexlib.Code.Analysis.ClassPath.initClassPath(ClassPath.java:145)
at org.jf.dexlib.Code.Analysis.ClassPath.InitializeClassPathFromOdex(ClassPath.java:110)
at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:96)
at org.jf.baksmali.main.main(main.java:278)

 

分析完成后就是打包成dex了,这个教程中有说的。

接下来就是将dex放入apk文件中,最后,别忘了签名。

OK,的geniewidget.apk就这样成功了,也可以用了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值