返回介绍

7.2 构造 dex 文件

发布于 2024-10-10 22:32:16 字数 1250 浏览 0 评论 0 收藏 0

在讲解 dex 文件之前,需要先创建一个简单的例子来帮助来解析。不借助任何 IDE 工具就可以构造一个 dex 文件。用 javac、dx 命令即可。创建 Java 源文件,内容如下代码:

在当前工作路径下,编译方法如下:

1)编译成 java class 文件。执行命令 javac Hello.java。编译完成后,目录下生成 Hello.class 文件。可以使用命令 java Hello 来测试下,会输出代码中的“Hello,Android!”的字符串。

2)编译成 dex 文件。编译工具在 Android SDK 的路径.:/build-tools/19.0.1/dx,其中 19.0.1 是 Android SDK build_tools 的版本,请按照在本地安装的 build_tools 版本来设置路径。建议该路径加到 path 环境变量中。

执行命令如下:

编译正常会生成 Hello.dex 文件。

3)使用 ADB 运行测试。

测试命令和输出结果如下:

重要说明:

·测试环境使用真机和 Android 虚拟机都可以,核心的命令是:

·-cp 是 class path 的缩写,后面的 Hello 是要运行的 class 名称。网上有描述说输入 dalvikvm--help 可以看到 dalvikvm 的帮助文档,但是在 Android 4.4 的官方模拟器和自己的手机上测试都提示找不到 Class 路径,在 Android 老的版本(4.3)上测试还是有输出的。

·因为命令执行时,dalvikvm 会在/data/dalvik-cache/目录下创建.dex 文件,因此要求 adb 的执行 Shell 对目录/data/dalvik-cache/有读、写和执行的权限,否则无法达到预期效果。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文