什么是Android SDK中的dx.jar?

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

谢谢,汤姆

Solutions Collecting From Web of "什么是Android SDK中的dx.jar?"

除了CommonsWare的评论。

dx.jar原来位于android-sdk/platforms/android-X/tools/lib/之前(特别是在android-3和android-4下),并被移植到了android-sdk/platform-tools/lib/ later。 不幸的是,这从来没有在任何官方来源logging,可能是因为它是谷歌不希望消费开发者被打扰的内部工具的一部分。 看看这个博客 ,看看这个问题。

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

最后,作为一个快速参考,这是命令如何SDK通常使用dx.jar来指定您的java字节码与外部jar库:

[INFO] C:\ Program Files \ Java \ jdk1.6.0_21 \ jre \ bin \ java [-Xmx1024M,-jar,C:\ Program Files \ Android \ android-sdk \ platform-tools \ lib \ dx.jar, – 工作区\ myprojec \ libs \ common-lib.jar,… …]

目前, dx.jar已被移至

 adt-bundle-*\sdk\build-tools\17.0.0\lib 

你可以在这里finddx的源代码。

出于某种原因,我确实在各种android sdk版本子目录中看到dx和dx.jar的几个版本(不同大小的文件)。 我一直在通过Eclipse来pipe理SDK,几个月前在这方面已经发生了变化(现在有一个单独的SDKpipe理器窗口) – 所以也许在这个转换过程中,某种事情被搞砸了。