mav*_*mav 16 performance android compilation dex
我正在使用以下命令在OSX上从命令行编译我的(相当简单,只有5个文件和几百个LOC)应用程序:
ant debug
有用.但它运作缓慢:
BUILD SUCCESSFUL
Total time:
26 seconds
这是为什么?即使我只更改一个java文件中的一行,也需要很长时间.大部分时间都花在dex
舞台上(约20秒),这是AFAIK创建Dalvik字节码.但我的朋友也使用Eclipse在Windows上使用相同的项目,他说编译只需要一两秒钟就可以在他的机器上运行.有什么办法可以加快这个过程吗?
mav*_*mav 13
我终于找到了解决方案!这有点像黑客,但它确实有效.
首先,转到您的ANDROID-SDK/platform-tools目录,然后将dx
app 重命名为其他内容,dextool
最后创建dx
包含内容的新文件:
#!/bin/sh
shift
dextool --dex --incremental --no-optimize $@
Run Code Online (Sandbox Code Playgroud)
将"dextool"替换为您之前选择的名称.这将为每个dex调用添加(未记录的)--incremental属性,这将通过仅对在构建之间发生更改的类进行dexing 来大大减少构建时间.现在它看起来像这样:
[dx] Merged dex A (1 defs/11,3KiB) with dex B (359 defs/1253,2KiB). Result is 359 defs/1519,3KiB. Took 0,5s
0.5秒而不是20秒是一个巨大的差异!
编辑 - 几点评论:
更新:
Google发布了SDK Tools 21.0,它使得上述调整过时,因为它确实支持pre-dexing.最后!
归档时间: |
|
查看次数: |
3912 次 |
最近记录: |