细心的网友可能发现Android的ROM中有很多odex文件,相对于 APK中的dex文件而言这个odex有什么作用呢 Android123提示大家,如果你仔细观察会发现文件名时一一对应的,同时那些对应的apk文件中没有dex文件。这样做可以使其厂商保证一定的反盗版,因为没有没有dex文件的apk是无法正常安装的,而厂商直接将odex和不完整的apk文件放到手机rom固化到/system/bin中可以让一般用户无法正常导出使用。(文/Android开发网)
很多网友可能想到的是合并odex和apk变成apk中包含dex文件的,这样合并后最终apk文件安装在/data/中,而rom存放时在 /system/bin中,所以最终导致了用户可装在Android手机中的软件会变少,占用系统空间。
一、APK生成 odex文件方法:
编译开源GIT上的build/tools /dexpreopt/dexopt-wrapper这个,使用dexopt-wrapper即可,操作步骤
将dexopt-wrapper放到/data/local目录中,使用adb shell执行linux命令行,使用cd命令进入/data/local目录,
cd /data/local
/dexopt-wrapper android123apk android123odex
二、合并odex和 少dex的apk 为完整的apk文件
需要用到的工具是smali,一个开源的java处理软件:
http://codegooglecom/p/smali/downloads/list
一下载的baksmali和 smali的jar文件到工作目录
二把ROM里面的coreodex, extodex, frameworkodex, androidpolicyodex, servicesodex这5个文件也放在同一目录(也可以放在别的目录,通过设置BOOTCLASSPATH指定,默认就是当前目录)。
例:
以teeter为例子 (HTC一些Android常常会内置),ROM里面拿出来的可能是2个文件,teeterapk + teeterodex。
1、分解odex文件:
java -jar baksmali-121jar -x teeterodex
如果没其他问题,会在工作目录生成一个out的目录,里面是分解出来的一些文件,我们在此不深究这些文件的作用。
2、把分解得到的文件变成classesdex:java -Xmx512M -jar smali-121jar out -o classesdex,这样得到了一个有用的classesdex文件
3、用WinZip或者WinRAR打开teeterapk文件,把这个classesdex 放进去
4、最后再用signapk把最新得到的这个包含classesdex的apk重新签署一下 (Auto Sign签名工具往期的文章里有下载),就生成一个可以安装的单独APK程序了。
5、签名完成后即可安装使用了
合并odex
把odex文件放到romdir\system\app目录下,运行批处理odextoolsbat
拆分Dex
将apk文件中的classesdex放到dex目录下,运行批处理odextoolsbat
你是不是没把文件放到该放的文件夹就运行了。
可以采用该rom对应手机厂商的刷机工具或360刷机助手等进行刷机,rom包是无需解压的,至于提取软件,我知道的是,刷完root后由RE文件管理器进入其指定文件夹进行提取,当然,最傻瓜也最简单的方法是用备份软件对软件进行备份,到备份文件夹下你想要的apk都在那
也可采用网上的方法:
(1)、安装 apk 文件反编译及回编译工具 v180 测试版
1、直接运行安装
安装路径可以丌修改,直接默认,然后确定即可 2、这一步直接回车
3、顺利安装过程
4、接下来直接输入 2 然后回车
5、两个选项随便选一个即可
6、最后顺利安装成功
7、安装完成,接着直接迚入系统盘根目录(我癿是 K 盘)即安装目录,就可以看到安装癿文件。
8、丌过我们丌用迚入这个文件夹运行,它癿功能已经集成到右键菜单了,这个很方便!
9、呵呵,现在我们可以看到 apk 程序自身癿图标了
(2)首先将下载下来癿官方原版癿刷机包 ROM 解压出来(如下图)
(3)接下来在 system\app 路径下找到自己想要癿 Calculatorapk 和 Calculatorodex 这两个文件直 接复制到 system\framework 目录下
(4)右键 odex 文件合并到 apk
(5)直接按回车键确定即可,等它执行结束自动关闭窗口后,在 framework 文件夹下就可以看到刚 刚合并成功癿 Calculatorapk 文件
到这里可能会有童鞋问,是丌是可以将合并癿 apk 程序直接复制到手机上安装了! 呵呵,这个想法丌错。如果直接复制安装癿话,会提示说:应用程序未安装。 因此,还有很重要癿一步——签名! (6)签名 apk 程序 直接选中 Calculatorapk 然后右键 选择“签名 apk 文件”
等等其结束后,你就会发现文件夹下生成了 Calculator-signedapk 这个文件
至此, apk 文件提取合并并签名成功, 这下子可以直接把这个apk进行安装了
updatebin系统文件夹下是分离了odex的apk文件,要修改这些文件是必须先合并odex
破解bin文件的工具
apk与odex合并工具:
两个工具都要解压后使用。
软件文字说明:
Input File:ROM输入地址
OutPutFile:ROM输出地址。
Encrypt加密/解密 (Bin to Zip,把Bin文件转换为Zip文件,Zip to bin 把Zip转换成Bin文件)
欢迎分享,转载请注明来源:品搜搜测评网