- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[计算机]APK文件的解包打包和修改
APK
APK
AAPPKK文件的解包打包和修改
相信每位玩机的人对APK 文件 都不陌生。你可能每天都与APK 文
件打交道,无论是安装和卸载有用的应用工具、插件、好玩的游戏等
等。。。你可曾知道这些每天都伴随着你的APK 文件是什 么吗?怎样
对它们作些修改呢?比如说:对英文版进行汉化、修改功能、修改文
字描述、去掉广告等等。本文介绍APK 的基本知识、结构、APK 文
件的解包、打 包及签名,以及对APK 文件的常规修改。
1.APK
1.APK
11..AAPPKK文件简介
APK 是Android Package 的缩写,即即Android application package 文
件或Android安装包。每个要安装到Android平台的应用都要被编译
打包为一个单独的文件,后缀名为.apk。APK 文件是用专 业软件
eclipse编译生成的文件包,其中包含了应用的二进制代码、资源、配
置文件等。通过将APK 文件直接传到Android手机中执行即可安装。
APK 文件其实就是zip格式,但其扩展名被改为apk,用解压软件可
以直接打开。通过WinRAR 或UnZip 解压后,你会看到有几个文件
和文件夹。一 个典型的APK 文件通常有下列内容组成:
AndroidManifest.xml 程序全局配置文件
classes.dex Dalvik 字节码
resources.arsc 编译后的二进制资源文件
META-INF\ 该目录下存放的是签名信息
res\ 该目录存放资源文件
assets\ 该目录可以存放一些配置文件
下面对这些文件和目录做些基本的注释和介绍。
•AndroidManifest.xml
该文件是每个应用程序都必须定义和包含的文件,它描述了应用程序
的名字、版本、权限、引用的库文件等等信息。需要解包后才能加以
阅读。
•classes.dex文件
classes.dex是java源码编译后生成的java 字节码文件。dex是Dalvik
VM executes 的全称,即Android Dalvik 执行程序,并非Java ME 的
字节码而是Dalvik 字节码。
•resources.arsc
编译后的二进制资源文件。
•META-INF 目录
META-INF 目录下存放的是签名信息,用来保证apk包的完整性和
系统的安全。在eclipse 编译生成一个apk 包时,会对所有要打包的
文件做一个 校验计算,并把计算结果放在META-INF 目录下。这就
保证了apk包里的文件不能被随意替换。比如拿到一个apk包后,如
果想要替换里面的一幅图片, 一段代码, 或一段版权信息,想直接
解压缩、替换再重新打包,基本是不可能的。如此一来就给病毒感染
和恶意修改增加了难度,有助于保护系统的安全。
•res目录
res 目录存放资源文件。包括图片,字符串等等。
解包后,几乎所有可能的修改和编辑工作基本都在这里。
•assets目录
assets目录可以存放一些配置文件,这些文件的内容在程序运行过程
中可以通过相关的API 获得。
2.APK
2.APK
22..AAPPKK文件的解包和打包
APK 文件是用专业软件eclipse 编译生成的文件包。在网上可以找到
许多软件来对APK的内容进行反编译,例如:可以通过AXMLPrinter2
工 具和命令:java -jarAXMLPrinter2.jarAndroidManifest.xml 解开在
apk中的AndroidManifest.xml。最近,业界有一个功能强大的解包打
包工具包apktool,可以在Windows 下用来方便快 速地对APK 文件
进行解包和打包,给修改和编辑工作带来许多方便。下面来介绍它的
使用。
1)APKtool软件包
APKtool软件包有2个程序组成:apktool.jar 和 aapt.exe
另外提供一个批处理文件:apktool.bat,其内容为:
java -jar%~dp0\apktool.jar %1 %2%3%4 %5%6%7 %8%9
运行apktools.jar 需要java 环境(1.6.0版本以上)。
apktool.jar 用于解包,apktool.jar 和aapt.exe 联合用于打包。
2)APK 文件的解包
下面以解开Contacts.apk为例。首先把Contacts.apk复制到当前工作
目录下(例:Te
文档评论(0)