apk文件的解包打包和修改

apk文件的解包打包和修改

ID:8968757

大小:46.50 KB

页数:6页

时间:2018-04-13

apk文件的解包打包和修改_第1页
apk文件的解包打包和修改_第2页
apk文件的解包打包和修改_第3页
apk文件的解包打包和修改_第4页
apk文件的解包打包和修改_第5页
资源描述:

《apk文件的解包打包和修改》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、APK文件的解包打包和修改相信每位玩机的人对APK文件都不陌生。你可能每天都与APK文件打交道,无论是安装和卸载有用的应用工具、插件、好玩的游戏等等。。。你可曾知道这些每天都伴随着你的APK文件是什么吗?怎样对它们作些修改呢?比如说:对英文版进行汉化、修改功能、修改文字描述、去掉广告等等。本文介绍APK的基本知识、结构、APK文件的解包、打包及签名,以及对APK文件的常规修改。1.APK文件简介APK是AndroidPackage的缩写,即Androidapplicationpackage文件或Android安装包。每个要安装到Android平台的应用都要

2、被编译打包为一个单独的文件,后缀名为.apk。APK文件是用专业软件eclipse编译生成的文件包,其中包含了应用的二进制代码、资源、配置文件等。通过将APK文件直接传到Android手机中执行即可安装。APK文件其实就是zip格式,但其扩展名被改为apk,用解压软件可以直接打开。2.APK包的文件和目录通过WinRAR或UnZip解压后,你会看到有几个文件和文件夹。一个典型的APK文件通常有下列内容组成:AndroidManifest.xml程序全局配置文件classes.dexDalvik字节码resources.arsc编译后的二进制资源文件META

3、-INF该目录下存放的是签名信息res该目录存放资源文件assets该目录可以存放一些配置文件下面对这些文件和目录做些基本的注释和介绍。•AndroidManifest.xml该文件是每个应用程序都必须定义和包含的文件,它描述了应用程序的名字、版本、权限、引用的库文件等信息。需要解包后才能阅读。•classes.dex文件classes.dex是java源码编译后生成的java字节码文件。dex是DalvikVMexecutes的全称,即AndroidDalvik执行程序,并非JavaME的字节码而是Dalvik字节码。•resources.arsc

4、编译后的二进制资源文件。•META-INF目录META-INF目录下存放的是签名信息,用来保证apk包的完整性和系统的安全。在eclipse编译生成一个apk包时,会对所有要打包的文件做一个校验计算,并把计算结果放在META-INF目录下。这就保证了apk包里的文件不能被随意替换。比如拿到一个apk包后,如果想要替换里面的一幅图片,一段代码,或一段版权信息,想直接解压缩、替换再重新打包,基本是不可能的。这种校验也给病毒感染和恶意修改增加了难度,有助于保护系统的安全。•res目录res目录存放资源文件。包括图片,字符串等等。解包后,几乎所有可能的修改和编辑工

5、作基本都在这里。•assets目录assets目录可以存放一些配置文件,这些文件的内容在程序运行过程中可以通过相关的API获得。3.APK文件的解包和打包APK文件是用专业软件eclipse编译生成的文件包。在网上可以找到许多软件来对APK的内容进行反编译,例如:可以通过AXMLPrinter2工具和命令:java-jarAXMLPrinter2.jarAndroidManifest.xml解开在apk中的AndroidManifest.xml。有一个功能强大的解包打包工具包apktool,可以在Windows下用来方便快速地对APK文件进行解包和打包,给

6、修改和编辑工作带来许多方便。下面来介绍它的使用。1)APKtool软件包APKtool软件包有2个程序组成:apktool.jar和aapt.exe另外提供一个批处理文件:apktool.bat,其内容为:java-jar"%~dp0apktool.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复制到当前工作目录下(

7、例:Test)。在DOS下打入命令apktooldContacts.apkABC这里“d”表示要解码。Contacts.apk是要解包的APK文件。ABC是子目录名。所有解包的文件都会放在这个子目录内。3)APK文件的打包在DOS下打入命令:apktoolbABCNew-Contacts.apkb----表示要打包ABC----子目录名,是解包时产生的子目录,用来存放所有解包后的和修改后的文件。New-Contacts.apk----打包后产生的新的APK文件。4)Framework框架文件在解开APK文件时,apktool需要框架文件(framework

8、-res.apk)来解码和打包。Apktool已经包含了标准的框架

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。