admin管理员组

文章数量:1530842

2024年4月5日发(作者:)

、APK文件简介

APK 是Android Package的缩写,即即Android application package文件或Android

安装包。每个要安装到Android平台的应用都要被编译打包为一个单独的文件,后缀名

为.apk。APK文件是用专 业软件eclipse编译生成的文件包,其中包含了应用的二进制代

码、资源、配置文件等。通过将APK文件直接传到Android手机中执行即可安装。 APK

文件其实就是zip格式,但其扩展名被改为apk,用解压软件可以直接打开。通过WinRAR

或UnZip解压后,你会看到有几个文件和文件夹。一 个典型的APK文件通常有下列内容

组成:

1、-程序全局配置文件

该文件是每个应用程序都必须定义和包含的文件,它描述了应用程序的名字、版本、权限、

引用的库文件等等信息。需要解包后才能加以阅读。

2、-Dalvik字节码

是java源码编译后生成的java字节码文件。dex是Dalvik VM executes的全

称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码。

3、-编译后的二进制资源文件

编译后的二进制资源文件。

4、META-INF目录-该目录下存放的是签名信息

META- INF目录下存放的是签名信息,用来保证apk包的完整性和系统的安全。在eclipse

编译生成一个apk包时,会对所有要打包的文件做一个校验计算, 并把计算结果放在

META-INF目录下。这就保证了apk包里的文件不能被随意替换。比如拿到一个apk包后,

如果想要替换里面的一幅图片,一段代码, 或一段版权信息,想直接解压缩、替换再重新

打包,基本是不可能的。如此一来就给病毒感染和恶意修改增加了难度,有助于保护系统的

安全。

5、res目录-该目录存放资源文件

res目录存放资源文件。包括图片,字符串等等。

解包后,几乎所有可能的修改和编辑工作基本都在这里。

6、assets目录-该目录可以存放一些配置文件

assets目录可以存放一些配置文件,这些文件的内容在程序运行过程中可以通过相关的API

获得。

二、搭建jdk环境/file/id_

windowsXP下搭建jdk环境(为了操作方便请直接复制引号里的内容)

1.用鼠标右击“我的电脑”->“属性”->“高级”->“环境变量”

2.“系统变量”->“新建”->“变量名”:“JAVA_HOME” 变量值:“D:Program

FilesJavajdk1.7.0”(这是我的安装路径这个不是固定的,比如你安装到C:Program Files,

就填C:Program FilesJavajdk1.7.0)

3.“系统变量”->“编辑”->“变量名”:在Path 变量值的最前面加上:%JAVA_HOME%bin;(若

已经有Path项,无须另外新建,直接在后面加,但需用;与前面已有的项分隔开)

4.“系统变量”->“新建”->“变量名”:CLASSPATH 变量值:

“.;%JAVA_HOME%lib;%JAVA_HOME%;%JAVA_HOME%;”

5.最后测试下环境变量是否设置成功:点开始菜单-运行-在这里输入cmd-回车-输入javac

windows7下搭建jdk环境

1.用鼠标右击“计算机”->“属性”->“高级系统设置”->“环境变量”

2.其他同“windowsXP下搭建jdk环境”

搭建成功的截图:

三、APK文件的解包和打包(以下批处理我这里就不提供了,自己复制到记事本另存为bat

文件)

APK 文件是用专业软件eclipse编译生成的文件包。在网上可以找到许多软件来对APK

的内容进行反编译,例如:可以通过AXMLPrinter2工具和命令:java -jar

解开在apk中的。最近,业界有一个功能强大的

解包打包工具包apktool,可以在Windows下用来方便快 速地对APK文件进行解包和打包,

给修改和编辑工作带来许多方便。下面来介绍它的使用(以下文件和批处理都要放在

c:windows下)。

1、 APKtool软件包/file/id_

APKtool软件包有2个程序组成: 和

另外提供一个批处理文件:,其内容为:

java -jar "%~" %1 %2 %3 %4 %5 %6 %7 %8 %9

运行需要java环境(1.6.0版本以上)。

用于解包,和联合用于打包。

1) APK文件的解包

下面以解开为例。首先把 Copy到当前工作目录下(例:Test)。

在DOS下打入命令

apktool d 路径

这里“d”表示要解码。是要解包的APK文件。ABC是子目录名。所有解包的

文件都会放在这个子目录内。

2) APK文件的打包

在DOS下打入命令

apktool b 路径

这里“b”表示要打包

ABC是子目录名,是解包时产生的子目录,用来存放所有解包后的和修改后的文件。

是打包后产生的新的APK文件。

3) Framework框架文件

在解开APK文件时,apktool需要框架文件()来解码和打包。Apktool

已经包含了标准的框架,所以在大多数 APK文件的解包时,不需要另外提供框架文件。但

是,某些制造商使用了他们自己的框架文件,为了解包,就不得不从手机中把框架文件

(framework- )提取出来,然后安装到计算机。安装命令是:

apktool if

安装后就会得到:~

2、签名文件/file/id_

在实际使用时,可能对多个APK文件进行处理。方便的做法是写成批处理文件。打包和签

名可以一次完成。

解包批处理命令:

for %%i in (*.apk) do java -jar d %%i _%%i && move _%%i Modifying_Files &&

copy %%i Backuped_Raw_Files && @echo File [%%i] unpacking process is completed!

打包和签名批处理命令:

for /d %%i in (*) do cd.. && java -jar b Modifying_Files%%i && java -jar

8 Modifying_Files%%idist*.apk %%i &&

ren %%i New%%i && move New%%i Modified_Signed_Files && @echo %%i Complete

repacking and Signing! && cd Modifying_Files

本文标签: 文件解包安装打包存放