| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> 移动安全-Android中的dex、davlik讲解 -> 正文阅读 |
|
[移动开发]移动安全-Android中的dex、davlik讲解 |
jvm的执行我们编写java代码都是.java格式的,但是jvm并不能识别.java文件,它只能加载、执行.class文件, 所以我们要通过javac命令将.java文件编译成.class文件,然后通过java命令运行.class文件 dalvik的执行dalvik与jvm差不多,区别就是dalvik只能加载、运行.dex文件(至于如何识别、运行,后面会讲到)。我们的Android程序也 是用java编写的,生成的也是.java文件,所以需要把.java文件转换成.dex文件,dalvik才能执行。IDE编译、打包的过程, 就是将.java文件转换成.dex文件的过程,我们可以简单看一下编译过程 一个APP的目录结构 各文件的作用 下面是官方介绍的打包流程图: 总结一下,主要就是这几步: 1、根据res目录下的资源文件、AndroidManifest.xml生成R.java文件; 2、处理.aidl文件,生成对应的java文件,如果没有aidl,则跳过; 3、将前两步生成的java文件和src目录下源码一起编译成class文件; 4、通过dex将class文件生成成dex文件; 5、将资源文件和dex文件一起打包,生成初始apk; 6、对初始apk签名 ; 最后概括就是classes.dex文件就是我改APP的所有源代码的dex可执行文件 APP的安装过程apk的安装过程,就是把apk解压成第4步中的dex文件和原始资源文件(比如图片),运行过程就是dalvik加载、运行dex文件 的过程。这里有两个过程,一个是加载,一个是运行 Dex文件的生成过程通过命令“javac HelloWorld.java”可以生成HelloWorld.class文件。 再通过命令“dx –dex –output=HelloWorld.dex HelloWorld.class”就会生成HelloWorld.dex文件了。 dex文件的加载是通过DexClassLoader、PathClassLoader等类来完成的 |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/31 17:49:38- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |