sea*_*kej 28 android build intellij-idea android-build dex
我想知道,如果有任何方法,如何skip packaging and dexing在Eclipse和ADT中设置IntelliJ IDEA.Additional VM OptionsIntelliJ中的Android DX Compiler部分中有字段Preferences,也许这可能是一种方式,如何设置它.我还要感谢另一个提示,如何加快IntelliJ Android项目的构建速度.
Jak*_*reu 31
我正在使用IntelliJ 12.我已经赢得了部署和运行Android应用程序的时间,使IntelliJ能够"自动生成项目".要启用它,只需转到首选项 - > 编译器并选中"自动生成项目".在同一窗口中,选中"并行编译独立模块".
启用"自动生成项目"允许您在Android应用程序启动之前跳过"生成"任务.您可以在"运行/调试配置"中删除它,选择您的Android应用程序并在"启动前"部分中删除"生成"任务.
yor*_*rkw 11
在Eclipse首选项中,skip packaging and dexing您所引用的完整名称是Skip packaging and dexing until export or launch. (Speeds up automatic builds on file save),这是自ADT 12以来为了解决Eclipse增量编译问题而增加的功能(这会降低Eclipse上的开发速度),请查看Revisions 12.0.0(2011年7月)和有关详细信息,请参阅此链接.请注意,无论您使用哪种IDE(或非IDE),打包/运行项目时都需要打包和dexing.

正如CrazyCoder在他的评论中提到的,IntelliJ 默认情况下不支持类似Eclipse的渐进式编译和问题窗格,换句话说,它不会在文件更改时自动编译项目.所以这不是IntelliJ中的问题,也不是功能.
您的构建过程瓶颈可能来自其他地方.AFAIK在一个中型项目中,构建过程花费的最多时间是编译资源(AAPT命令,检查构建过程图).来自xdadevelopers的一些聪明人找到了瓶颈并创建了AAPT的修复版本:
http://forum.xda-developers.com/showthread.php?t=1907281
我自己使用它并且我会说Eclipse中的速度提升是可以用的,请注意它只会增加AAPT步骤,而不是打包广告dexing.如果你使用InteliJ,它可能没什么用,因为它不需要经常编译项目.
Nil*_*zor 11
我没有解决方案,但我解释了为什么Eclipse和IntelliJ之间存在巨大的编译时间差异.因为有.每当您依赖外部模块或库时:IntellIJ始终是DEX'es依赖模块.Eclipse似乎在缓存它们.
在我的一个项目中,我也经历过这种巨大的差异.我做了一些基本的计时测试,发现我在IntellIJ中用40秒构建的项目在Eclipse中只花了20个.在IntelliJ具有执行DEX状态的过程中花费了大量时间,所以这就是我发现这个问题的方法.然后我试图做一个更彻底和可重复的实验,这就是我发现的.
项目设置
*)我可以在这里使用任何模块,但这是一个很好的例子,因为它a)相当大,b)是一个Android模块,这意味着我必须将它作为Android项目链接,而不仅仅是作为dbm建议的JAR 上面的帖子.
我在(HelloWorld的启动活动)onCreate方法中添加了日志代码,该方法MainActivity.java也在AndEngine中调用了一个方法,该方法也记录了一行.(我修改了构造函数SoundManager以输出一行并从中调用构造函数MainActivity.java).这使我能够看到应用程序何时完成部署并且它已正确部署.
然后,我进行了以下更改,并在每个IDE中将每个更改为三次:
我用标准秒表进行手动计时,然后向上/向下舍入到最接近的秒数.我在每种情况下做了三个时间并计算了算术平均值.
结果:

注意:我没有在Eclipse中为"执行DEX"添加单独的子列,因为它只是在整个构建过程中输出"make"或"refresh workspace".
当从Eclipse运行时,您可以从数字中看到,当我仅修改主模块时,我节省了时间 - 这是预期的.但在IntelliJ中,两种情况下的编译时间都相同!
结论:
IntelliJ做了很多不必要的DEX'ing.如果有人知道这是否可配置,我想我们会解决我认为是问题的根本原因.
| 归档时间: |
|
| 查看次数: |
13004 次 |
| 最近记录: |