【发布时间】:2012-10-08 07:56:29
【问题描述】:
我的 Android 应用程序使用了大量重要的外部库。这些库都是用 Java 编写的,只是简单地添加到构建路径中。
从 Eclipse 中启动应用程序需要很长时间,大约 5 分钟。这非常令人沮丧!
我启用了详细的 android 构建输出。这表明构建过程正在迭代外部库中的整个 *.class 文件。我得到了数百条这样的行:
...
Dx processing android/support/v4/app/FragmentTransaction.class...
Dx processing android/support/v4/app/FragmentManagerImpl$3.class...
Dx processing android/support/v4/app/LoaderManagerImpl.class...
...
Dx processing com/prosysopc/ua/client/ServerStatusListener.class...
...
Dx processing org/opcfoundation/ua/core/BrowseNextRequest.class...
...
(这只是一个小样本,我再次为每个*.class 得到数百个)
我不太确定 Dx 工具在这里做什么,但它确实很烦人!
更糟糕的是,每次启动都会重复这个过程,没有缓存,什么都没有......
可能的想法:
- 在某处有缓存吗?在哪里?也许它是只读的,因此不会持续存在?
- 我可以完全禁用我的开发版本的“DX 处理”步骤吗?
任何可能的解决方案或至少是想法?这真的让我发疯了;-)
谢谢!
【问题讨论】:
-
这些库是应用程序运行所需的android库。所以,不,不要禁用它们。我什至不认为你可以。
-
这只是一个例子,我还有其他库也有这个原因。而且我不想删除库,而是删除“Dx 处理”步骤。
-
Dx 是将 .class 文件转换为 Android 字节码的工具。如我的链接答案中所述,导致速度变慢的库似乎写得不好。
-
啊,好吧,我刚刚找到另一个答案http://stackoverflow.com/questions/2883635/android-compilation-is-slow-using-eclipse 说同样的话......太糟糕了......
标签: android dependencies dx