我在使用 Android SDK 管理器安装的一些 Android SDK 版本中看到的 dx.jar 文件的用途是什么?该文件出现在 tools/lib/dx.jar 下我没有在 android-8 及更高版本中看到该文件。但是,当我尝试使用 android-8 及更高版本构建项目时,Intellij IDEA 会出错,说 dx.jar 不存在。是什么赋予了?
谢谢,汤姆
我在使用 Android SDK 管理器安装的一些 Android SDK 版本中看到的 dx.jar 文件的用途是什么?该文件出现在 tools/lib/dx.jar 下我没有在 android-8 及更高版本中看到该文件。但是,当我尝试使用 android-8 及更高版本构建项目时,Intellij IDEA 会出错,说 dx.jar 不存在。是什么赋予了?
谢谢,汤姆
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, ... ...]
出于某种原因,我确实在各种 android sdk 版本子目录中看到了 dx 和 dx.jar 的多个版本(不同大小的文件)。我一直在通过 Eclipse 管理 SDK,几个月前在这方面发生了变化(现在有了一个单独的 SDK 管理器窗口)——所以在这个过渡过程中,事情可能以某种方式搞砸了......