首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >apktool与baksmali的差异

apktool与baksmali的差异
EN

Stack Overflow用户
提问于 2017-03-30 07:19:33
回答 2查看 7.2K关注 0票数 10

据我所知,apktool和baksmali都能够从.apk (.dex)文件中生成smali代码,apktool使用dexlib2。它们都是APK包装/解压工具。

但我仍然不清楚apktool和smali/baksmali之间的主要区别是什么。.dex文件和扩展特性的功能?

PS:我刚才发现的一个不同之处是apktool能够处理apk中的多个dex文件,而baksmali不能(至少暂时)。

我确实尝试过阅读源代码,但由于缺乏经验,我无法真正理解这两种工具的工作流程。如果有人能提出一些读数或流程图等建议,我将非常感激。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-30 18:10:28

smali/baksmali是dex格式的汇编程序/反汇编程序对。Baksmali接受一个dex文件并生成人类可读的程序集,而smali则接受人类可读的程序集并生成一个dex文件。

Apktool是一种更通用的包装和重新包装apk的工具。它实际上使用引擎盖下的smali/baksmali来组装/拆卸dex文件。它还将二进制资源和二进制xml文件解压缩回标准文本格式,等等。

票数 9
EN

Stack Overflow用户

发布于 2017-03-30 07:59:39

简而言之,apktool用于APK文件,baksmali用于DEX文件。

APK文件是一个具有特定结构的压缩归档文件。这代表了Android的应用程序。这是你的智能手机或平板电脑从市场下载,通常谷歌播放。归档文件由清单、资源、断言/数据文件、本机库和DEX文件组成。

DEX文件包含应用程序代码。详情请参见https://source.android.com/devices/tech/dalvik/dex-format.html

还有一件事要说,apktool能够提取和打包资源文件。(我相信baksmali不会这么做,需要检查一下。)

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43111057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档