




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.APKTool使用环境配置APKTool是GOOGLE提供的APK编译工具,需要JAVA运行环境,最新版本为JDK1.8。安装后设置环境变量以方便其他程序能够调用JAVA:以WIN7为例,在桌面上右键点击计算机属性高级系统设置环境变量在下边的系统变量里新建一个变量,变量名为JAVA_HOME,值为JAVA的安装路径,比如我的是C:Program Files (x86)Javajdk1.7.0_67然后添加CLASSPATH .;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar;PATH %JAVA_HOME%bin;%JAVA_HOME%jrebin2.APKTool的使用apktool文件夹放在D盘根目录,应用改名为f.apk放在此文件夹下win+R然后输入cmd输入 D: 然后回车。(D是说apktool所在的盘) 输入 cd apktool 然后回车 (这个命令式说打开apktool这个文件夹) 输入 apktool if f.apk 然后回车 (这个命令式说在CMD模式安装f.apk) 输入 apktool d f.apk 然后回车 (这个命令是说反编译f.apk d就是反编译的命令)然后apktool文件夹就会出现一个f的文件夹(接下去还要用到cmd,先不要关掉。) f文件夹里面就是反编译出来的文件了,这样就可以用修改代码了(将xml修改为txt即可)。修改文件名字: value/string/app_name修改完成后,就要回编译,在命令提示符中继续输入 apktool b f (这个命令就是说回编译f文件夹,b是回编译,f是指F文件夹)成功后,f文件夹中会出现一个dist的文件夹,里面有一个f.apk (有就是成功了,没有就是失败了) 用APKSign给编译出来的文件签名即可安装。3.常见问题3.1关于安装和管理framework文件以下大部分其实是翻译自/p/android-apktool/wiki/FrameworkFiles一般来说,你在使用apktool进行反编译前不需要做其他的事情,然而由于有的厂商,如HTC,三星等,他们定制了framework文件并且在他们的系统应用中使用了这些文件,这时,为了能正常的反编译这些apk文件,你就必须从你的设备中拷贝出framework文件并且安装到apktool中。举一个例子,比如你想反编译HTCHero这款手机中的HtcContacts.apk,当你尝试反编译的时候,你会得到以下错误信息。$ apktool d HtcContacts.apk I: Loading resource table.I: Decoding resources.I: Loading resource table from file: /home/brutall/apktool/framework/1.apkW: Could not decode attr value, using undecoded value instead: ns=android, name=drawable, value=0x02020542.W: Could not decode attr value, using undecoded value instead: ns=android, name=icon, value=0x02020520Cant find framework resources for package of id: 2. You must install proper framework files, see project website for more info.这就是在通知你必须先安装HTC定制的framework文件,事实上在修改一些三星的系统应用时也是如此。以三星的设备来举例,你需要复制两个framework文件来进行安装,framework-res.apk和tzframework-res.apk,一般来说,这两个文件在手机中的位置应该是systemframework使用以下代码进行安装apktool if C:framework-res.apkapktool if C:tzframework-res.apk这里假设2个文件都放在C盘根目录3.2其他错误其实在编译过程中会遇到很多其他的问题,大多数是由于删除、修改、添加了资源后,没有对应的修改resvaluespublic.xml文件而造成的,这里我给大家说下修改的原则:第一,public.xml文件中的资源不能重复定义。第二,public.xml文件中的任意两个资源的ID不能一样第三,public.xml文件中定义的资源必须能找到该文件(如果你删除了一些文件,必须要对应的删除public.xml中的该行)第四,public.xml文件中尽可能全面(如果你添加了某资源,最好确保在public.xml中也添加)第五,public.xml文件中的资源的ID尽可能连续(当你为添加的文件添加声明时,赋予的ID尽可能是连续的)3.3 APK文件结构说明AndroidManifest.xml 该文件是每个应用都必须定义和包含的,它描述了应用的名字、版本、权限、引用的库文件等等信息,如要把apk上传到Google Market上,也要对这个xml做一些配置。在apk中的AndroidManifest.xml是经过压缩的,可以通过AXMLPrinter2工具解开,具体命令为:java -jar AXMLPrinter2.jar AndroidManifest.xml META-INF目录 META-INF目录下存放的是签名信息,用来保证apk包的完整性和系统的安全。在eclipse编译生成一个apk包时,会对所有要打包的文件做一个校验计算,并把计算结果放在META-INF目录下。这就保证了apk包里的文件不能被随意替换。比如拿到一个apk包后,如果想要替换里面的一幅图片,一段代码, 或一段版权信息,想直接解压缩、替换再重新打包,基本是不可能的。如此一来就给病毒感染和恶意修改增加了难度,有助于保护系统的安全。res目录 res目录存放资源文件。包括图片,字符串等等。lib目录 lib目录下的子目录armeabi存放的是一些so文件。这个地方多讲几句,都是在开发过程中摸索出来的。eclipse在打包的时候会根据文件名的命名规则(lib*.so)去打包so文件,开头和结尾必须分别为“lib”和“.so”,否则是不会打包到apk文件中的。其他非eclipse开发环境没有测试过。如果你是用SDK和NDK开发的话,这部分很重要,甚至可以通过把一些不是so文件的文件通过改名打包到apk中,具体能干些什么那就看你想干什么了。assets目录 assets目录可以存放一些配置文件,这些文件的内容在程序运行过程中可以通过相关的API获得。具体的方法可以参考SDK中的例子:在sdk的 SDK1.6android-sdk-windows-1.6_r1platformsandroid-1.6samplesApiDemos 例子中,有个com.example.android.apis.content 的例子,在这个例子中他把一个text文件放到工程的asset目录下,然后把这个txt当作普通文件处理。处理的过程在ReadAsset.java 中。同理,asset也可以放置其他文件。 classes.dex文件 classes.dex是java源码编译后生成的java字节码文件。但由于Android使用的dalvik虚拟机与标准的java虚拟机是不兼容的,dex文件与class文件相比,不论是文件结构还是opcode都不一样。目前常见的java反编译工具都不能处理dex文件。Android模拟器中提供了一个dex文件的反编译工具,dexdu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房间隔缺损的护理查房
- 2024中铁大桥局集团有限公司校园招聘笔试参考题库附带答案详解
- 七年级英语下册 Unit 2 Its Show Time《lesson 12 A blog about the silk road》教学设计 (新版)冀教版
- 七年级生物上册 3.5.2营养物质的作用教学设计 (新版)苏科版
- 创业培训总结文案工作流程
- 2024中国邮政集团有限公司贵州省分公司夏季招聘176人笔试笔试参考题库附带答案详解
- 2024中国联通软件研究院校园招聘(19个岗位)笔试参考题库附带答案详解
- 班主任培训交流会心得分享
- 九年级化学下册 第8单元 金属和金属材料 课题3 金属资源的利用和保护 第2课时 金属资源的保护教学设计 (新版)新人教版
- 全国青岛版信息技术八年级下册第2单元第5课《谜语大擂台(二)》教学设计
- 银行内控案防警示教育
- 2024-2025学年湖南省长沙市八年级(上)期末物理试卷(含解析)
- 2025-2030中国镀锌钢板行业市场发展趋势与前景展望战略研究报告
- 施工合同中约定的安全防护、文明施工措施费用支付计划
- 2025年安阳职业技术学院单招职业倾向性测试题库带答案
- 2025年审计监察面试题及答案
- nginx面试题及答案100道
- 2025年开封大学单招职业技能测试题库及答案1套
- 小学教师招聘-《小学教育学》押题密卷1
- 《InSAR干涉测量》课件
- 2025年脑机接口蓝皮书:未来将至打造人机交互新范式-前瞻研究院
评论
0/150
提交评论