from:http://bbs.hiapk.com/thread-1151284-1-1.html

文件夹;<ignore_js_op> 
文件夹拖放到odex.cmd,出现下面的窗口后,按任意键结束,此时会在tools\123文件夹生成classes.dex;
<ignore_js_op> 
3.用好压工具打开123.apk,不要解压缩,将得到的classes.dex拖进去;
<ignore_js_op> 
4.保险期间,将加入了classes.dex的123.apk重新签名;

5.把上一步的123.apk放到 签名 文件夹下面,双击Sign.bat,等待片刻会生成123-signed.apk,这个就是可以安装的apk文件了,拿去安装使用吧!<ignore_js_op>

***************************分割线*********************************************

所有步骤就是这些了,教程终于完成了,自己实践的步骤,下面你懂得……
所用到的tools和签名工具在坛子都有,搜索一下,应该能找到,要不改天补上…… 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
现在2.2和2.3系统已经很多了,想合并2.2或2.3系统的文件的TX也有,原来上传的工具之支持2.1的文件,现在更新其中的smali和baksmali为1.2.6版,能够支持2.2和2.3了,附件加压后把文件名的“-1.2.6”删去,即文件名为smali和baksmali后替换原来tools文件夹内的文件就可以了,其他文件不用替换,操作过程依旧!

可能出现的问题:

1:

为了将ROM中system/app下的CertInstaller.odex反编译为CertInstaller.dex,输入命令:

“java -jar baksmali.jar -x CertInstaller.odex”

出现如下错误:

org.jf.util.ExceptionWithContext: Cannot locate boot class path file /system/framework/core.odex
        at org.jf.dexlib2.analysis.ClassPath.loadClassPathEntry(ClassPath.java:2
17)
        at org.jf.dexlib2.analysis.ClassPath.fromClassPath(ClassPath.java:161)
        at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:59)
        at org.jf.baksmali.main.main(main.java:274)

提示的意思是缺少“core.odex”,于是将core.odex放到当前目录,重新输入命令,还是出现同样的错误!

解决方法:在当前文件夹下新建system文件夹,并在system文件夹下建立framework文件夹,然后将

常用的一些odex放入framework文件夹下,如core.odex, ext.odex, framework.odex, android.policy.odex, services.odex(在相应ROM中system/framework/下提取,或从相应源码中out/.../system/framework/获得),

再输入命令:

java -jar baksmali.jar -d ./system/framework -x CardManager.odex

按照它的提示缺哪个就将相应的odex放入framework文件夹,直到命令成功运行不报错误,成功后会在

当前文件夹下会生成一个out文件夹

最后输入命令:

java -Xmx512M -jar smali.jar out -o classes.dex

即可生成classses.dex文件

2:NullPointExcpetion的问题

smali和baksmali的版本不对,请到

3:

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)
继续换版本,换成了1.2.6问题解决

总结一下:1.3.3可能是为4.0+准备的,所以很多的2.3.6的odex无法正常编译。

tools

smali_baksmali_1.2.6

smali_baksmali_2.0.3

签名

合并apk和odex 为完整的apk安装文件的更多相关文章

  1. 合并apk和odex

    Android的ROM中有很多odex文件,相对于APK中的dex文件而言这个odex有什么作用呢? 如果你仔细观察会发现文件名时一一对应的,同时那些对应的apk文件中没有dex文件.这样做可以使其厂 ...

  2. Android APK反编译得到Java源代码和资源文件

    在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习的态度,不过好像通过这种方式也可以去汉化一些外国软件. 一.反编译Apk得到Java源代码 首先要下载两个工具:dex2jar和JD- ...

  3. 如何给你的Android 安装文件(APK)瘦身

    如何给你的Android 安装文件(APK)瘦身 本文翻译自:Putting Your APKs on Diet           原作者:Cyril Mottier Android的apk文件越来 ...

  4. 怎样给你的Android 安装文件(APK)减肥

    转自: http://greenrobot.me/devpost/putting-your-apks-on-diet/ Android的apk文件越来越大了这已经是一个不争的事实. 在Android ...

  5. mtk预装apk 方案公司内置预装apk

    mtk预装apk 方案公司内置预装apk 韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha == MTK 预知第三方的APK 流程_yua ...

  6. 怎样给你的Android 安装文件(APK)瘦身

    本文源地址:怎样给你的Android 安装文件(APK)瘦身 Android的apk文件越来越大了这已经是一个不争的事实. 在Android 还是最初版本号的时候,一个app的apk文件大小也还仅仅有 ...

  7. 电脑和手机上常用apk或Pc软件的重要目录或文件或文件夹路径

    常用apk或Pc软件的重要目录或文件或文件夹路径 01.hosts文件位置在哪里 C:\Windows\System32\drivers\etc 02.Windows7的锁屏壁纸目录在哪 C:\Win ...

  8. c#语音报时(含完整的声音资源文件).rar

    private void btnBaoshi_Click(object sender, EventArgs e) { try { System.Threading.Thread thread = ne ...

  9. 完整的struts.xml文件骨架

    完整的struts.xml文件骨架可以直接拿来用,修改一下就可以啦. <?xml version="1.0" encoding="UTF-8"?> ...

随机推荐

  1. nginx反向代理批量实现https协议访问

    我们进入大多数HTTPS网站ie浏览器都会给出相关提醒了,但我配置了一台HTTPS代理机器发现css与js都加载不了,这个有朋友说是https页面,如果加载http协议的内容,会被认为页面不安全,所以 ...

  2. 李洪强iOS开发之OC[004] - OC和C的差异的学习

  3. java - day14 - InnerClass

    内部类使用 package com.InnerClass; public class Mama { String name; Baby baby; Mama(String name){ this.na ...

  4. Idea 2017的激活方式

    https://blog.csdn.net/wangyuanjun008/article/details/79233491

  5. spring 第一篇(1-2):管理你的beans

    在基于spring的应用中,你的应用对象存活在spring container(容器中).容器创建,将它们装配到一起.还有配置和管理它们完整的生命周期(从生到死) 下一章节,你会看到如何配置Sprin ...

  6. 【转】【Mac系统】之ADB命令总结

    参考文章: 张明云:<Android ADB命令大全(通过ADB命令查看wifi密码.MAC地址.设备信息.操作文件.查看文件.日志信息.卸载.启动和安装APK等)> Yjnull:< ...

  7. java 定时器

    import java.io.IOException; import java.util.Timer; public class TimerTest { public static void main ...

  8. jfinal 使用类里的方法

    package demo; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; imp ...

  9. 第一百七十四节,jQuery,Ajax进阶

    jQuery,Ajax进阶 学习要点: 1.加载请求 2.错误处理 3.请求全局事件 4.JSON 和 JSONP 5.jqXHR 对象 在 Ajax 课程中,我们了解了最基本的异步处理方式.本章,我 ...

  10. [浪风分享] -- 系列百度云管家 V2.1.0 单文件版-分享必用的神器

    废话不多说,神器送上 百度云管家 V2.1.0 更新时间:2013年05月22日更新内容:1.支持云端文件管理:删除.重命名.新建文件夹.移动2.支持缩略图浏览模式3.支持三种文件排序方式:按修改时间 ...