dex文件介绍

dex文件介绍搭建环境Ubuntu18.04.1LTSandroid-ndk-r17-beta2FFmpeg4.0.2编译FFmpeg修改configure配置编译脚本报错调整错误1:错误2:错误3:错误4:错误5:搭建环境Ubuntu18.04.1LTS需要安装yasm:sudoapt-getinstallyasmand…

大家好,又见面了,我是你们的朋友全栈君。

1, 什么是dex文件

能被 dvm识别, 加载并执行的文件格式

2, 如何生成一个dex文件

  • 通过ide工具自动build生成
  • 手动通过dx命令去生成dex文件
    – de命令在sdk文件下build-tools下相应的版本文件夹下
    javac Hello.java 生成class文件
    dx --dx --output Hello.dex Hello.class 生成dex文件
  • 手机中手动运行dex文件
    adb push Hello.dex /sdcard push到手机sd卡目录下
    adb shell 进入手机shell
    dalvikvm -cp /sdcard/Hello.dex Hello 执行dex文件

3, dex文件的作用

记录整个工程中所有类文件的信息

4, dex文件格式详解

  • 是一种8位字节的二进制流文件
  • 各个数据按顺序紧密的排列, 无间隙
  • 整个应用中所有class源文件都放在一个dex文件中

dex文件结构图:
dex文件介绍
dex文件头:
dex文件介绍
在这里插入图片描述用010editor 查看信息如下:
dex结构图

  • struct header_item dex_header: 头文件信息, 包含了头文件中的字段
  • struct string_id_list dex_string_ids: 记录整个应用中的字符串
  • struct type_id_list dex_type_ids: 类型索引
  • struct proto_id_list dex_proto_ids: 方法申明索引
  • struct field_id_list dex_field_ids: 字段索引
  • struct method_id_list dex_method_ids: 方法索引, 包含当前类的所有方法, 所引用的方法及父类的所有方法
  • struct class_def_item_list dex_class_defs: dex文件中所有类的申明
  • struct map_list_type dex_map_list: 对头文件的校验

5, 与class对比

  • 本质上它们是一样的, dex是从class文件演变而来
  • class文件存在许多冗余信息, dex会去除冗余, 并整合
    dex文件介绍
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/153507.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • idea2021.7 30天激活码【中文破解版】

    (idea2021.7 30天激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~MLZPB5EL5Q-eyJsaWNlb…

    2022年3月21日
    98
  • Liunx常用命令

    Liunx常用命令Liunx常用命令

    2022年4月22日
    32
  • 编程小白的博客日记[通俗易懂]

    编程小白的博客日记[通俗易懂]编程小白的博客日记2018-11-9星期五晴最近放假,一天下来好像什么都没干,不过今天去看了《毒液》,还是非常好看的,最皮我毒液!今天在网上看到一篇文章,是关于在python中使用you-get来下载网上的视频和音乐之类的,先打开cmd安装you-get,之后再打开一个cmd,输入you-get-o地址,然后就能下载视频了,不过如果这个视频在原…

    2022年6月9日
    34
  • 头歌c语言实训作业题解

    头歌c语言实训作业题解头歌c语言实训作业题解顺序结构程序设计1.加法运算2.不使用第3个变量,实现两个数的对调3.用宏定义常量4.数字分离5.计算总成绩和平均成绩6.求三角形面积7.立体几何计算题8.计算两个正整数的最大公约数选择结构程序设计选择结构程序设计进阶顺序结构程序设计1.加法运算本关任务:写一个加法程序,输入整数a,b,输出他们的和。解题代码:#include<stdio.h> intmain(void) { inta,b,c;//Pleaseinputa

    2022年5月12日
    41
  • 琶音的正确弹奏法

    琶音的正确弹奏法

    2021年6月6日
    143
  • ffmpeg安装失败_linux离线安装ffmpeg

    ffmpeg安装失败_linux离线安装ffmpeg./configure–enable-static–enable-version3–enable-gpl–enable-nonfree–enable-libfdk-aac–enable-libopencore-amrnb–enable-libopencore-amrwb–enable-libvo-amrwbenc–enable-libilbc–enable-…

    2025年11月4日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号