Android SDK中的dx.jar是什么?

use*_*713 8 java android intellij-idea

我在Android SDK管理器中安装的一些Android SDK版本中看到的dx.jar文件的用途是什么; 该文件出现在tools/lib/dx.jar下我没有在android-8及以上版本中看到该文件.但是,当我尝试使用android-8及更高版本构建项目时,Intellij IDEA会出错,并说dx.jar不存在.是什么赋予了?

谢谢,汤姆

Kiw*_*iwi 5

目前,dx.jar已移至

adt-bundle-*\sdk\build-tools\17.0.0\lib
Run Code Online (Sandbox Code Playgroud)

您可以在此处找到dx的源代码。


yor*_*rkw 4

对 CommonsWare 评论的补充。

dx.jar 原来位于android-sdk/platforms/android-X/tools/lib/之前(特别是在 android-3 和 android-4 中),并移至android-sdk/platform-tools/lib/后来。不幸的是,这从未在任何官方来源中记录过,可能是因为它是内部工具的一部分,谷歌不希望消费者开发者受到打扰。查看此博客以查看问题。

只要您遵循Android 安装指南并将 android-sdk/tools/ 和 android-sdk/platform-tools/ 添加到您的 PATH 环境变量中,您应该可以访问 dx.jar,除非您使用非常旧的 Android SDK 版本(我不信)。

最后,作为快速参考,这是 SDK 通常如何使用 dx.jar 将 Java 字节码与外部 jar 库 dex 的命令:

[信息] C:\Program Files\Java\jdk1.6.0_21\jre\bin\java [-Xmx1024M,-jar,C:\Program Files\Android\android-sdk\platform-tools\lib\dx.jar, --dex, --output=C:\workspace\myproject\target\classes.dex, C:\workspace\myproject\target\classes, C:\workspace\myprojec\libs\common-lib.jar, ... ...]