【连载】聊聊 APK——直接运行 Dex文件的黑魔法

本文是关于 APK 的连载系列文章的开篇,旨在帮助 Android 开发者了解 APK 的基本构成和运行原理。文章通过实例展示了如何将 Java 字节码编译为 Dex 文件并直接在手机上运行,探讨了 Dex 文件的生成和运行过程,以及与 Android 虚拟机(Dalvik/ART)的关系。通过阅读,读者能够对 APK 的内部机制有初步的认识。
摘要由CSDN通过智能技术生成

想进大厂,就关注「 程序亦非猿 」
时不时 
8:38 推送优质文章,觉得有用,置顶加星标


Hi 大家好,接下去会有一个连载系列——聊聊 APK,共四篇文章,由我好基友 Gemini 老师提供。

导读

很多人可能不太明白 APK 有什么好聊的,我个人觉得,作为一名合格的 Android 开发,对于 APK 的简单认识一定要有。技术深度上大家的认知深度每天都在成长,如果我们每天都讨论方案却没有落地的话,对于每一个独立的人以及社区都是没有进步的,因此写了这一系列的文章,简单的介绍了下一个最简单的 APK 文件的组成,以及每个组成里面每一部分是怎么来的。

其实如果现在还把 APK 文件当作黑盒的话,我们对于编译时的产物能做的事情是非常少的,因为 Gradle 把这个繁杂的黑盒封装的特别好,你只会吐槽 Gradle 慢,卡,但是你不知道它到底做了多少事情,不过这的确不能成为它性能不好的借口。

APK 的组成有 Dex 文件资源资源表签名摘要信息等四部分组成,这四部分是不可或缺的,不然任何一个 OS 都无法正常的运行你带 Activity 的 Android 应用。

《聊聊 APK —— 直接运行 Dex》以及 《聊聊 APK —— Dex 热修复与 Classpath》 这两篇文章会讲 Dex 文件的生成方式以及如何在没有 APK 文件存在的情况下使用。能帮助你理解字节码到 Dex 文件的简单转换,希望这篇文章能抛砖引玉,方便你以后加深对 Dex 文件的理解。

《聊聊 APK —— aapt 编译资源》这篇文章讲述了 aapt2 是如何编译资源文件以及产生资源表,我们在开发 Android Application 的时候,对于R.java应该是再熟悉不过了,但是大部分人并不知道R.java和资源之间的关系,甚至可能不知道

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值