APK大小查看、定义、反编译

项目完成后,需要统计各个模块的APK大小,在记录了查看APK的方法后,顺带去大致了解了一下APK相关的知识。

一、APK大小查看方法
在Android Studio 中APK大小查看
BuildBuild BundlesBuild APK即可获取APK
然后点击下方的locate,进入到生成的APK文件位置。

二、定义
APK(全称:Android application package,Android应用程序包)是Android操作系统使用的一种应用程序包文件格式,用于分发安装 移动应用及中间件。一个Android应用程序的代码想要在Android设备上运行,必须先进行编译,然后被打包成为一个被Android系统所能识别的文件才可以被运行,而这种能被Android系统识别并运行的文件格式便是“APK”。 一个APK文件内包含
(1)被编译的代码文件(.dex 文件)
(2)文件资源(resources)
(3)原生资源文件(assets)
(4)证书(certificates)
(5)清单文件(manifest file)

APK 文件基于 ZIP 文件格式,它与JAR文件的构造方式相似,互联网媒体类型是:application/vnd.android.package-archive。

三、APK反编译

apk反编译就是通过使用apk编译工具,将apk文件中的源文件和资源反编译出来,得到的源文件和资源文件可以进行处理后再进行编译,以达到个性化定制汉化apk等目的。

反编译工具:
1.最典型的apk编译工具的核心是apktool,但是因为操作需要调用cmd命令,所以出现了很多具有可视化界面的各种编译工具,像easyapkapkdbdoapk

2.dex2jar.jar,将apk中的classes.dex转化成Jar文件,再通过jd-gui工具反编译jar文件。

反编译方法:

apkdb编译apk文件为例,只需要在安装apkdb后,直接右击反编译就可以将apk文件反编译出来。

1.使用原生apktool工具,需要将apktool的两个文件释放到window目录下,在cmd中使用 apktool d apk文件名命令来编译apk文件,此时命令行的执行目录与apk文件所在目录必须一致

2.首先将apk文件,将后缀改为zip解压得到其中的classes.dex,它就是 java文件编译再通过dx工具打包而成的;将classes.dex复制到dex2jar.bat所在目录。在命令行下定位到dex2jar.bat所在目录运行 dex2jar.bat classes.dex

你可能感兴趣的:(APK大小查看、定义、反编译)