




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、APKt件的解包打包和修改相信每位玩机的人对APK文件都不陌生。你可能每天都与APK文件打交道,无论是安装和卸载有用的应用工具、插件、好玩的游戏等等。你可曾知道这些每天都伴随着你的APK文件是什么吗?怎样对它们作些修改呢?比如说:对英文版进行汉化、修改功能、修改文字描述、去掉广告等等O本文介绍APK勺基本知识、结构、APK文件的解包、打包及签名,以及对APK文件的常规修改。1 .APK文件简介APKMAndroidPackage的缩写,即即Androidapplicationpackage文件或Android安装包。 每个要安装到Android平台的应用都要被编译打包为一个单独的文件,后缀名为
2、.apk。APK文件是用专业软件eclipse编译生成的文件包,其中包含了应用的二进制代码、资源、配置文件等。通过将APKt件直接传到Android手机中执行即可安装。APK文件其实就是zip格式, 但其扩展名被改为apk,用解压软件可以直接打开。通过WinRA减UnZip解压后,你会看到有几个文件和文件夹。一个典型的APK文件通常有下列内容组成:AndroidManifest.xml程序全局配置文件classes.dexDalvik字节码resources.arsc编译后的二进制资源文件META-INF该目录下存放的是签名信息res该目录存放资源文件assets该目录可以存放一些配置文件下面
3、对这些文件和目录做些基本的注释和介绍。?AndroidManifest.xml该文件是每个应用程序都必须定义和包含的文件,它描述了应用程序的名字、版本、权限、引用的库文件等等信息。需要解包后才能加以阅读。?classes.dex文件classes.dex是java源码编译后生成的java字节码文件。dex是DalvikVMexecutes的全称,即AndroidDalvik执行程序,并非JavaME的字节码而是Dalvik字节码。?resources.arsc编译后的二进制资源文件。?METAINF目录META-INF目录下存放的是签名信息,用来保证apk包的完整性和系统的安全。在eclips
4、e编译生成一个apk包时,会对所有要打包的文件做一个校验计算,并把计算结果放在META-INF目录下。这就保证了apk包里的文件不能被随意替换。比如拿到一个apk包后,如果想要替换里面的一幅图片,一段代码,或一段版权信息,想直接解压缩、替换再重新打包,基本是不可能的。如此一来就给病毒感染和恶意修改增加了难度,有助于保护系统的安全。res目录res目录存放资源文件。包括图片,字符串等等。解包后,几乎所有可能的修改和编辑工作基本都在这里。?assets目录assets目录可以存放一些配置文件,这些文件的内容在程序运行过程中可以通过相关的API获得。2 .APK文件的解包和打包APQC件是用专业软件
5、eclipse编译生成的文件包。 在网上可以找到许多软件来对APK的内容进行反编译,例如:可以通过AXMLPrinter2工具和命令:java-jarAXMLPrinter2.jarAndroidManifest.xml解开在apk中的AndroidManifest.xml。最近, 业界有一个功能强大的解包打包工具包apktool,可以在Windows下用来方便快速地对APK文件进行解包和打包,给修改和编辑工作带来许多方便。下面来介绍它的使用。1) APKtool软件包APKtool软件包有2个程序组成:apktool.jar和aapt.exe另外提供一个批处理文件:apktool.bat,其
6、内容为: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复制到当前工作目录下(例:Test)。在DOST打入命令apktooldContacts.apkABC这里“d”表示要解码。Contacts.apk是要解包的APK文件。ABC是子目录名。所有解包的文件都会放在这个子目录内。3) APK文件的打包在DOST打入命令
7、apktoolbABCNew-Contacts.apk这里“b”表示要打包ABB子目录名,是解包时产生的子目录,用来存放所有解包后的和修改后的文件。New-Contacts.apk是打包后产生的新的APK文件。4) Framework框架文件在解开APK文件时,apktool需要框架文件(framework-res.apk)来解码和打包。Apktool已经包含了标准的框架,所以在大多数APK文件的解包时,不需要另外提供框架文件。但是,某些制造商使用了他们自己的框架文件,为了解包,就不得不从手机中把框架文件(framework-res.apk)提取出来,然后安装到计算机。安装命令是:apktoo
8、lifframework-res.apk安装后就会得到:apktoolframework1.apk5)解包、解包和签名批处理在实际使用时,可能对多个APQC件进行处理。方便的做法是写成批处理文件。打包和签名可以一次完成。解包批处理命令:for%iin(*.apk)dojava-jarapktool.jard%i_%i&move_%iModifying_Files©%iBackuped_Raw_Files&echoFile%iunpackingprocessiscompleted!打包和签名批处理命令:for/d%iin(*)docd.&java-jara
9、pktool.jarbModifying_Files%i&java-jarsignapk.jartestkey.x509.pemtestkey.pk8Modifying_Files%idist*.apk%i&ren%iNew%i&moveNew%iModified_Signed_Files&echo%iCompleterepackingandSigning!&cdModifying_Files3.应用实例:APKW包后的编辑和修改为什么要对APK文件进行解包?当然要对其内容进行必要的修改。修改什么呢?通常,如果只是对图像进行替换,没有必要进行解包和打包。
10、用WinRAR丁开APK文件,直接做替换就可以了。但是,如果要对文字和其它非图像类内容进行修改,那只能通过解包解码了。下面几项任务需要对APK行解包和打包。这里只作大概介绍,请自己去找详细的操作方法和教程。1)汉化APK件在res文件夹中,我们可以看到有很多values-*的文件夹,这就是语言包。values是英文语言包,values-zh是中国地区语言包(包含港澳台及内地) ,values-zh-rCN是中文简体语言包 (只包含内地) ,values-zh-rTW是中文繁体语言包(港澳台)。除此以外,其它地区的语言包都是精简的对象,可以不过多了解。在values文件夹里,通常有arrays.
11、xml、strings.xml等语言文件,要作汉化就要对这些文件进行修改。 有时也需要修改其它xml文件, 一个一个地认真查看。2)修改图标标签每一个APK文件都有一个“图标标签”。将APKg序安装进手机后,在图标下面显示图标标签文字。这个图标标签的内容是可以修改的。在resvalues下找到strings.xml,修改其中的一行:图标标签例如:静音启动同理, 如果是窗口小插件,要修改widget_name。注意:system/app下的apk不宜修改,因为要同时修改对应的odex文件。3)去掉APK中的广告有很多APK应用都带有广告。为了去掉程序中的广告,要修改main.xml文件与广告有关
12、的内容。 在res目录下找到文件main.xml通常在layout目录下,有时也被放在其它目录下。甚至,有时不存在main.xml文件,广告行被放在其它xml文件内。只能细心逐个文件进行查找。无论哪一种情况,查看其内容,你会看到有一项类似的命令如下。这就是广告显示。将其改为:可以看到,关键是要把fill_parent改为0.0dip,把wrap_content改为0.0dip,其它保持不变即可。这种改法就是不给广告显示空间,当然你就看不到广告了4)修改显示电池为1媚度在XT502上,默认显示只有7档:0%10%20%40%60%80%和100%通过修改framework-res.apk,可以改变显示精度。但是在XT502上,实践证明最好可能达到的现实精度只有10%修改工作如下:(1)对framework-res.apk进行解包(2)修改和增加电池状态图标(3)修改文件stat_sys_battery.xml(4)修改文件stat_sys_battery_charge.xml打包(6)提取stat_sys_battery.xml,stat_sys_battery_charge.xml,resources.arsc和一个图标目录:drawable-mdpi(7)重新装酉己framework
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新版购房合同模板下载
- 2025房屋借款抵押合同文本
- 2025私营企业非全日制标准合同范本
- 2025年二级建造师之二建机电工程实务模拟考试试卷B卷含答案
- 2025合同签订新风尚:双方用工务必“严谨对待”
- 2025年度合作伙伴入股合同范本
- 浙江国企招聘2025温州平阳县城发集团下属房开公司招聘5人笔试参考题库附带答案详解
- 浙江国企招聘2025嘉兴海宁上塘水务有限公司高品质管道饮用水工作办公室招聘4人笔试参考题库附带答案详解
- 沈阳一中高二试卷及答案
- 上海初一统考试卷及答案
- 2025劳动合同范本下载打印
- 微生物检验的基础知识试题及答案
- 2025年北京市三类人员安全员c3证考试题库及答案
- (四调)武汉市2025届高中毕业生四月调研考试 地理试卷(含答案)
- GB/T 45434.3-2025中国标准时间第3部分:公报
- 北京市消防条例解读
- 2025年中国城市轨道交通维修行业投资潜力分析及行业发展趋势报告
- 公司转让租赁合同样本
- 海南省海口市(2024年-2025年小学五年级语文)统编版期中考试((上下)学期)试卷及答案
- 心肺交互作用-
- 封条模板A4直接打印版
评论
0/150
提交评论