简单研究下APK文件

其实Android的apk文件(AndroidPackage Android 安装包)就是个zip压缩包,可以用平常的解压缩软件打开


来介绍一下如何从Java源码和资源文件生成这个apk压缩包的。
这个压缩包中的mete-INF里是一些软件信息(资源路径等等)

res是资源文件的目录,和原项目中相同。


resources.arsc是二进制的资源文件,对应项目中的values等。
AndroidManifest.xml,这个和项目里的那个相同。
最关键的就是这个 classes.dex,程序字节码。 众所周知Java程序的编译过程,java源码->.class字节码然后通过Java虚拟机读取执行。Android也是类似,由于Android有自己的Java虚拟机,所用的字节码就和原来的.class文件不同,所以需要将之进行二次转换从而得到dex字节码文件,这就是可以在Android系统中的虚拟机运行了。 但说到底也还是个Java代码转化来的字节码文件,所以反编译四相对容易的(也不一定,因为开发者为了保护会做一些反编译的措施)。 比如用APK 改之理这个软件即可得到反编译的Java代码 了,暂时不深究了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值