很多安卓rom里系统自带的apk内部都是缺少classes.dex文件而在同文件夹下多了同名的odex文件,这个文件dex是apk的主要运行文件,少了它apk文件不能安装在其他设备上,而odex则是把dex提取出来再作以优化,这样做可以加快软件的启动速度,预先提取,减少对RAM的占用,因为没有odex的话,系统要从apk包中提取dex再运行。为了能把把软件安装在其他设备,必须把odex与apk合并成完整的apk文件!合成步骤如下:

1. 需要odex所在rom中的一些引用类,一般在 /system/framework 目录中

2.通过odex生成class文件

把odex所在的rom中的framework文件夹提取出来,在cmd下cd到当期目录下,把要合并的odex及不完整的apk都放到此目录下,假设名字是android123.odex,然后再cmd下输入以下命令:

java -jar baksmali-1.2.6.jar -x android123.odex

执行完上面这行命令后,会生成一个out 文件夹里面是android123.odex的class文件。

3. 通过class生成classes.dex 文件。

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

4. 将classes.dex放到apk文件

因为apk是zip的mime编码类型,使用winzip或winrar直接拖入到apk改名为zip的压缩包中即可。

5. 不要忘记了签名,使用jdk中的arsigner和keytool打包重新签名即可。

合并odex和少dex的apk为完整的apk文件相关推荐

  1. linux apk 拆分 odex,APK生成odex,合并odex和apk为完整的apk文件

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

  2. vdex合并_【APK教程】合并odex与apk至完整apk

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

  3. android反编译APK后,是smali文件,能反编译成dex文件

    我也面临相同的问题,但目前还没找到类似反编译smali文件的方法,一般得到dex文件只需要用WinRAR或其他压缩软件打开apk文件就能得到.但也有例外好像,技术先进了,今天遇到个apk用WinRAR ...

  4. Android APK文件结构 完整打包编译的流程 APK安装过程 详解

    Android apk文件结构 打包编译的流程 Android官网 配置构建 流程 Configure your build The build process APK文件结构 assets res ...

  5. android开发apk捆绑,[原创]ApkAssist(Apk一键捆绑工具)

    功能: *AndroidManifest.xml反编译.编译.合并,指定so DT_NEEDED注入我们的so. *Apk一键捆绑,两种姿势: 1.so DT_NEEDED注入. 2.dex smal ...

  6. android apk 自动编译器,Android APK编译流程

    apk 是Android Package的简写, 在平时的开发过程中,通过点击Run app 按钮 或者 在命令行中输入 ./gradlew ***(taskName) 这样Android Studi ...

  7. Android APK系列5-------修改APK中的内容

    Android APK系列5-------修改APK中的内容 首先我们需要下载反编译工具,apktool_gui_1.3.5这个是很好用的反编译工具,可以编译apk.dex.当然如果只是简单修改APK ...

  8. 【反编译】安卓APK反编译为java文件

    [反编译]安卓APK反编译为java文件 准备工具 要反编译的apk文件, 以微信8.0.apk为例子 dex2jar   下载地址 dex2jar-2.0反编译.zip-Android文档类资源-C ...

  9. Android apk 分析工具:APK Analyzer

    前言 Android studio 2.2 版本后自带有一个分析工具:APK Analyzer.这是一个专门分析 apk 的神器,主要作用如下: 1. (重要) 直观的看到 apk 中各个文件的大小 ...

最新文章

  1. 使用nexus来搭建Nuget私服
  2. 基于Android5.0的Camera Framework源码分析 (三)
  3. Java 求一批数的绝对值
  4. 安装 Flex2packagebeta_1.994
  5. 样式表中的 element.style样式如何修改
  6. 一张纸一幅图,竟然提高了10倍的学习和工作效率!?
  7. jaxb xsd生成xml_使用JAXB和Jackson从XSD生成JSON模式
  8. Scala 入门1(变量、分支循环、函数)
  9. mysql 事务日志备份_事务日志备份与恢复 5
  10. 机器视觉:远心光学探秘
  11. 自己编译vim,解决Ubuntu 12.04 terminal里执行gvim会挂起的问题
  12. sql server 跨服务器查询数据
  13. 《大话数据结构》学习笔记
  14. DB破解(暗黑破坏神辅助)使用方法
  15. 化工企业ERP建设中设备管理的重要性
  16. 优秀的 HTML5 网站设计案例欣赏
  17. 毕设题目:Matlab身份证识别
  18. drupal模块_自动测试Drupal 8模块
  19. Android源码阅读记录
  20. phpredis使用zadd批量添加到集合

热门文章

  1. 这些机房布线规范你都知道吗
  2. 什么是机房三维(3D)监控系统,什么是机房可视化动力环境监控系统?
  3. 微软小冰评分接口_微软小冰测颜值准不准?郑爽才得6.3分,较真你就输了
  4. java实现最长连续子序列_Java实现O(n)最大连续子序列和 | 学步园
  5. 成功解决urllib.error.URLError urlopen error Errno 11004 getaddrinfo failed
  6. 成功解决r2_score函数输出值始终为0的情况
  7. Interview:算法岗位面试—11.06早上上海某智能驾驶科技公司(创业)笔试+面试之手撕代码、项目考察、比赛考察、图像算法的考察等
  8. Dataset:数据集集合(NLP方向数据集)——常见的自然语言处理数据集大集合(建议收藏,持续更新)
  9. Spring Security构建Rest服务-0702-短信验证码登录
  10. Maven快速导出maven工程的依赖包