首页| 行业标准| 论文文档| 电子资料| 图纸模型
购买积分 购买会员 激活码充值

您现在的位置是:团子下载站 > 其他 > 如何修改APK自己DIY的详细资料说明

如何修改APK自己DIY的详细资料说明

  • 资源大小:0.04 MB
  • 上传时间:2021-08-16
  • 下载次数:0次
  • 浏览次数:67次
  • 资源积分:1积分
  • 标      签: JDK JAVA 二进制

资 源 简 介

也许许多人都曾经想过要修改APK自己DIY ,但不知道怎么下手,其实要修改APK并没 有想象中的那样复杂,这个虽不能让你成为 高手(那要有程序基础才可能),但至少入门 是没有问题的,涵盖了大部分的东西,全 方位step By step的教你怎么弄这些东西!   部分文字来源网络,错误难免,请指正: 一、APK文件结构介绍 二、JAVA环境的搭建 三、常用工具介绍及基本使用 四、APK的美化、汉化、去广告   一、APK文件结构介绍:   简单的认识一下APK文件的结构,apk文件 实际是一个zip格式的压缩包,只不过后缀 名为.apk,所以我们完全可以通过解压缩工 具(例如WINRAR,好压)解开,解开后你将看到 大致如下的结构:   文件 AndroidManifest.xml是每个应用都必须定义和包含的,它描述了应用的名字、版本 、权限、引用的库文件等等信息,如要把a pk上传到Google Market上,也要对这个x ml做一些配置。 META-INF目录 META-INF目录下存放的是签名信息,用来 保证apk包的完整性和系统的安全。在eclip se编译生成一个api包时,会对 所有要打包 的文件做一个校验计算,并把计算结果放 在META-INF目录下。而在Android平台上安 装apk包时,应用管理器会按照同样的算法对包里的文件做校验,如果校验结果与ME TA-INF下的内容不一致,系统就不会安装这个apk。这就保证了apk包里的文件不能 被随意替换。比如拿到一个apk 包后,如果 想要替换里面的一幅图片,一段代码, 或 一段版权信息,想直接解压缩、替换再重 新打包,基本是不可能的。如此一来就给病毒感染和恶意修改增加了难度,有助于 保护系 统的安全。 classes.dex文件 classes.dex是java源码编译后生成的java字节码文件。但由于Android使用的dalvik虚拟机与标准的java虚拟机是不兼容的,dex 文件与class文件相比,不论是文件结构还 是opcode都不一样。目前常见的java反编 译工具都不能处理dex文件。 Android模拟器中提供了一个dex文件的反 编译工具dexdump。用法为首先启动Andro id模拟器,把要查看的dex文件用adb push 上传的模拟器中,然后通过adb shell登录 ,找到要查看的dex文件,执行dexdump x xx.dex。 目前在网上能找到的另一个dex文件的反编 译工具是Dedexer。Dedexer可以读取dex 格式的文件,生成一种类似于汇编语言的 输出。这种输出与jasmin[ ]的输出相似,但 包含的是Dalvik的字节码。我们会在下一节 详细介绍一下Dedexer。 res 目录 res目录存放资源文件。 resources.arsc 编译后的   二进制资源文件   二、JAVA环境的搭建   打开www.oracle.com下载JDK,   这里同时提供一个JDK下载的直通车地址: http://download.oracle.com/otn-pub/java/jdk/7u3-b05/jdk-7u3-windows-i586.exe   安装JDK,一路下一步, 配置系统环境变量,以WIN7为例: 我的电脑--》属性--》高级系统设置--》环境变 量--》系统变量 新建JAVA_HOME 变量名:JAVA_HOME,变量值:JDK的安装 目录 新建CLASSPATH 变量名:CLASSPATH,变量值:%JAVA_HO ME%lib*.jar PS:%JAVA_HOME%表示引用JAVA_HOME的 值,相当于程序中的变量,如果不填写%JAV A_HOME%,可以直接填写路径绝对值 编辑path, 在变量值末尾加上 ;%JAVA_HOME%in   PS:“;”为不同路径之间的分割符   配置完成后,点开始--》运行--》输入CMD回 车--》输入JAVA回车,看到如图(2-6)配置成 功,否则请仔细检查系统变量是不是配置 有误   三、常用工具介绍及基本使用   1、反编译利器apktool 官方下载地址:http://code.google.com/p/an droid-apktool/downloads/list (需要下载“apktool-install-windows-2.2_r01 -3.tar.bz2”和“apktool1.3.2.tar.bz2”两项,解 压出里面的东西) 我们得到需要的3个文件,分别是:aapt.ex e、apktool.bat、apktool.jar 可以将这三个文件直接放到C:Windows下 ,这样不用配置环境变量 或者放到任意目录,然后在path变量中追 加上该目录 apktool在cmd中两个最基本的命令如下: 反编译:将X盘的abc.apk反编译,并将处理后 的文件,放在X盘内的“helloworld”文件夹内。 apktool d X:abc.apk X:helloworld PS:当然在实际应用中,一般都是CMD先定 位到要反编译的apk文件目录下,这样命令就 不用输入绝对路径,而变成了 apktool d abc.apk helloworld 编译:将“helloworld”文件夹重新编译 apktool b X:helloworld 特别注意:有些APK文件的编译是需要RO M中的框架的,例如conversation.apk要反编 译,同时需要framework里的framework-res /blur-res/moto-res三个apk,简单说一下如 何导入框架: 添加framework的命令: apktool if framework-res.apk 当然多数情况是不用这样的,要编译其它 的不需要这些框架的APK请删除导入的文件
VIP VIP