android dx命令,通过终端命令生成并在手机上运行dex文件

本文详细介绍了如何在Mac系统中配置dx终端指令,包括更新.bash_profile文件,设置dx路径,并验证配置结果。此外,还阐述了如何编译Java源文件为dex文件,通过adb工具将dex文件推送到手机并执行,最终输出结果。同时,文章还简单概述了dex文件格式的主要组成部分。
摘要由CSDN通过智能技术生成

在Mac环境下配置dx终端指令

1、打开终端,进入HOME目录

cd $HOME

2、更新.bash_profile文件

touch .bash_profile

3、打开.bash_profile文件

open -e .bash_profile

4、加入dx文件所在路径,android sdk自带dx

export PATH=${PATH}:~/Library/Android/sdk/build-tools/29.0.3

5、保存并关闭.bash_profile文件

6、重启终端

7、验证配置结果

dx --version

8、结果

dx version 1.16

使用终端命令在Android中执行dex文件

0、创建Java源文件

public class HelloWorld {

public static void main(String[] args) {

print("Hello World!");

}

public static void print(String msg) {

System.out.println(msg);

}

}

1、编译Java源文件生成class文件

javac HelloWorld.java

2、编译class文件生成dex文件

dx --dex --output=HelloWorld.dex HelloWorld.class

使用Hex Fiend打开可以查看dex文件:

cb1f3b409a27

HelloWorld-dex.png

3、进入手机系统

adb shell

创建dex存储目录

generic_x86:/ $ mkdir /data/local/tmp/dalvik-cache

generic_x86:/ $ export ANDROID_DATA=/data/local/tmp

generic_x86:/ $ exit

4、将dex文件放进手机的dex存储目录

adb push HelloWorld.dex /data/local/tmp/dalvik-cache/

5、执行dex文件

adb shell dalvikvm -cp /data/local/tmp/dalvik-cache/HelloWorld.dex HelloWorld

6、输出结果

Hello World!

dex文件格式概览

dex文件格式主要组成:

名称

格式

说明

header

header_item

标头

string_ids

string_id_item[]

字符串标识符列表

type_ids

type_id_item[]

类型标识符列表

proto_ids

proto_id_item[]

方法原型标识符列表

field_ids

field_id_item[]

字段标识符列表

method_ids

method_id_item[]

方法标识符列表

class_defs

class_def_item[]

类定义列表

call_site_ids

call_site_id_item[]

调用点标识符列表

method_handles

method_handle_item[]

方法句柄列表

data

ubyte[]

数据区

link_data

ubyte[]

静态链接文件中使用的数据

dex文件格式实例图解析:

cb1f3b409a27

欢迎关注Android技术堆栈,专注于Android技术学习的公众号,致力于提高Android开发者们的专业技能!

cb1f3b409a27

qrcode_for_gh_11a43c85bc22_430.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值