合并apk和odex 为完整的apk安装文件
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无法正常编译。
合并apk和odex 为完整的apk安装文件的更多相关文章
- 合并apk和odex
Android的ROM中有很多odex文件,相对于APK中的dex文件而言这个odex有什么作用呢? 如果你仔细观察会发现文件名时一一对应的,同时那些对应的apk文件中没有dex文件.这样做可以使其厂 ...
- Android APK反编译得到Java源代码和资源文件
在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习的态度,不过好像通过这种方式也可以去汉化一些外国软件. 一.反编译Apk得到Java源代码 首先要下载两个工具:dex2jar和JD- ...
- 如何给你的Android 安装文件(APK)瘦身
如何给你的Android 安装文件(APK)瘦身 本文翻译自:Putting Your APKs on Diet 原作者:Cyril Mottier Android的apk文件越来 ...
- 怎样给你的Android 安装文件(APK)减肥
转自: http://greenrobot.me/devpost/putting-your-apks-on-diet/ Android的apk文件越来越大了这已经是一个不争的事实. 在Android ...
- mtk预装apk 方案公司内置预装apk
mtk预装apk 方案公司内置预装apk 韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha == MTK 预知第三方的APK 流程_yua ...
- 怎样给你的Android 安装文件(APK)瘦身
本文源地址:怎样给你的Android 安装文件(APK)瘦身 Android的apk文件越来越大了这已经是一个不争的事实. 在Android 还是最初版本号的时候,一个app的apk文件大小也还仅仅有 ...
- 电脑和手机上常用apk或Pc软件的重要目录或文件或文件夹路径
常用apk或Pc软件的重要目录或文件或文件夹路径 01.hosts文件位置在哪里 C:\Windows\System32\drivers\etc 02.Windows7的锁屏壁纸目录在哪 C:\Win ...
- c#语音报时(含完整的声音资源文件).rar
private void btnBaoshi_Click(object sender, EventArgs e) { try { System.Threading.Thread thread = ne ...
- 完整的struts.xml文件骨架
完整的struts.xml文件骨架可以直接拿来用,修改一下就可以啦. <?xml version="1.0" encoding="UTF-8"?> ...
随机推荐
- C# 泛型 default()方法
在泛型类和泛型方法中产生的一个问题是,在预先未知以下情况时,如何将默认值分配给参数化类型 T: T 是引用类型还是值类型. 如果 T 为值类型,则它是数值还是结构. 给定参数化类型 T 的一个变量 t ...
- UI-1-UI入门
课程要点: 创建一个iOS工程 AppDelegate类 UIKit框架以及UIWindow 在window上添加第一个试图UIView NSTimer(定时器) 创建一个iOS工程 PS:接下来简单 ...
- “Missing artifact....."的解决办法
在使用Maven开发时,总会碰到一些问题,例如"Missing artifact org.apache.commons:commons-csv:jar:1.0-SNAPSHOT", ...
- Java bean 是个什么概念?
Java语言欠缺属性.事件.多重继承功能.所以,如果要在Java程序中实现一些面向对象编程的常见需求,只能手写大量胶水代码.Java Bean正是编写这套胶水代码的惯用模式或约定.这些约定包括getX ...
- JS判断不同的浏览器,不同的浏览器版本
JS判断不同的浏览器,不同的浏览器版本
- EasyUI DataGrid 相同连续列合并
扩展方法:$.extend($.fn.datagrid.methods, { autoMergeCells: function(jq, fields) { return jq.each(functio ...
- ORA-06519: 检测到活动的自治事务处理,已经回退
写了一个函数,由于在定义时加入了 create or replace function F_计算结果(In_参数 varchar2) return number is --使用自治事务PRAGMA A ...
- 第一百九十五节,jQuery EasyUI,Resizable(调整大小)组件
jQuery EasyUI,Resizable(调整大小)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 Resizeable(调整大小)组 ...
- Python 之 ImportError: No module named ***
假设想使用非当前模块中的代码,须要使用Import.这个大家都知道. 假设你要使用的模块(py文件)和当前模块在同一文件夹.仅仅要import对应的文件名称就好,比方在a.py中使用b.py: imp ...
- 关于OCR,一些想法
OCR一般分为两种: 1,根据给定的字符特征集合,提取未知字符的特征进行匹配识别:(典型例子:GOCR) 2,不知道字符特征,但给出提取特征的规则,通过机器学习training来获取某个字符集的特征集 ...