android项目中的dexedLibs文件夹

时间:2012-11-27 14:02:56

标签: android developer-tools

所以我最近注意到我的Phonegap / Android项目中的一个文件夹(project / bin / dexedLibs),这个文件夹包含两个.jar文件。在浏览互联网之后,我找到了一个网站,其中作者说ADT版本21在项目中放置了“预先设定的Libs”以加快构建时间。

我最近升级到ADT 21并且只是想知道是否还有其他人可以向我提供有关这些“预先设定的Libs”真正做什么的更多信息?我无法在网上找到任何其他有用的信息。

3 个答案:

答案 0 :(得分:10)

我有一个包含大约20个外部库的Android项目。在ADT 21之前,每次我更改源代码都需要很长时间才能重建应用程序。现在它很快!

我想原因是,在ADT 21之前,每当你点击eclipse中的“Run”按钮时,它就会将外部库编译成dex代码。现在它只编译外部库的dex代码一次(直到它们发生变化)并使用预构建库以便以后“运行”。

我喜欢这个功能!

答案 1 :(得分:5)

请注意!我花了一个小时才弄清楚为什么会得到例外:

Caused by: java.lang.NoSuchMethodError: 

原因是因为我用工作方法将我的lib jar更改为新jar(同名),并且ADT 21没有在dexedLibs中准备新的jar。

所以只需删除bin目录,Eclipse就会重新创建它。

答案 2 :(得分:0)

问题是大约2岁但仍有兴趣。

对于稍后浏览的人:我遇到了麻烦,因为我将Cordova项目从my.name.a3e重命名为my.name.A3E,然后构建过程崩溃了。发现ant-build中的dexed文件没有刷新(区分大小写)。删除ant-build文件夹后,它工作正常,但是第一次构建后的构建时间更长。

dex文件是Dalvik EXecutable文件,一些可以由Dalvik虚拟机执行的编译字节代码。 Dalvik是Android的核心组件,因此它就是它的原因。

http://sourceforge.net/projects/dexer/ http://developer.android.com/reference/dalvik/system/DexFile.html http://fileinfo.com/extension/dex

请注意,Eclipse项目清理不会删除dexed libs。