我有一个多项目(~10个模块),每次建筑大约需要20-30秒.当我在Android Studio中按Run时,我必须每次都等待重建应用程序,这非常慢.
是否可以在Android Studio中自动化构建过程?或者您对如何更快地完成此过程有任何建议?
在Eclipse中,由于自动构建,在模拟器上运行相同的项目大约需要3-5秒.
这是我的build.gradle文件(app模块):
buildscript {
repositories {
maven { url 'http://repo1.maven.org/maven2' }
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4'
}
}
apply plugin: 'android'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile project(':libraries:SharedLibs')
compile project(':libraries:actionbarsherlock')
compile project(':libraries:FacebookSDK')
compile project(':libraries:GooglePlayServices')
compile project(':libraries:HorizontalGridView')
compile project(':libraries:ImageViewTouch')
compile project(':libraries:SlidingMenu')
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 8
targetSdkVersion 16
}
}
Run Code Online (Sandbox Code Playgroud) 我的Android Studio项目用于构建更快,但现在需要很长时间才能构建.可能导致延误的任何想法?我试过/sf/answers/1902031491/但没有效果.我没有运行可能会中断构建的Anti病毒.我的应用程序也不是那么大(大约5MB),它曾经在几秒钟内构建,但不确定发生了什么变化.
10:03:51 Gradle build finished in 4 min 0 sec
10:04:03 Session 'app': running
10:10:11 Gradle build finished in 3 min 29 sec
10:10:12 Session 'app': running
10:20:24 Gradle build finished in 3 min 42 sec
10:28:18 Gradle build finished in 3 min 40 sec
10:28:19 Session 'app': running
10:31:14 Gradle build finished in 2 min 56 sec
10:31:14 Session 'app': running
10:38:37 Gradle build finished in 3 min 30 sec
10:42:17 Gradle …Run Code Online (Sandbox Code Playgroud) 现在我们正处于构建时间为2分30秒的情况下进行非常简单的更改.这(与ANT相比)速度惊人,并且正在削弱整个团队的生产力.我正在使用Android Studio并使用"使用本地gradle分发".我试图给予更多的记忆力:
org.gradle.jvmargs = -Xmx6096m -XX:MaxPermSize = 2048m -XX:+ HeapDumpOnOutOfMemoryError -Dfile.encoding = UTF-8
更多的记忆.并且它仍然不时给记忆带来错误.
线程"pool-1-thread-1"中的异常java.lang.OutOfMemoryError:超出GC开销限制
惊人.我正在使用并行选项和守护进程:
org.gradle.parallel =真
org.gradle.daemon =真
它并没有真正帮助.
我把上述参数放在〜/ .gradle/gradle.properties中(我甚至怀疑Android工作室是否忽略了这一点,所以我测试了 - 它并没有忽略它).
仍然从终端我在Android Studio中获得1:30构建时间与2:30,所以不确定那里有什么问题.与Ant相比,1:30仍然是疯狂的.如果您知道Android Studio正在做什么(或忽略或重写为gradle配置),我将不胜感激.
所以只需要CMD + B(简单编译)就可以在变化后超快,比如7秒.但是当涉及到运行应用程序时,它会启动任务dexXxxDebug,这只是在杀死我们.我试过试试
Run Code Online (Sandbox Code Playgroud)dexOptions { preDexLibraries = false }
没有帮助.
我知道gradle可能还没有为生产环境做好准备,但我开始后悔我们决定尽早采取行动.我们有很多模块,这可能是问题的一部分,但这不是Ant的问题.
任何帮助表示赞赏,Dan
有关执行时间的更多信息:
描述持续时间
Total Build Time 1m36.57s
Startup 0.544s
Settings and BuildSrc 0.026s
Loading Projects 0.027s
Configuring Projects 0.889s
Task Execution 1m36.70s
Run Code Online (Sandbox Code Playgroud)
时间吃的人:app:dexDebug 1m16.46s
最新更新: 查看Android Studio 2.0(预览版)即时运行它真棒!!!!
我发现了一些提示(通过Gradle和Android Studio构建和运行应用程序比通过Eclipse慢)来加速Android Studio(Gradle)的编译过程,但我仍然觉得它太慢了.编译项目并在设备上运行大约需要15秒.
gradle.properties已设置为:
org.gradle.daemon =真
org.gradle.parallel =真
编辑: 太棒了!!! 我的同事报告说Jack和Jill可能是解决方案:http: //www.infoworld.com/article/2856113/mobile-technology/androids-new-jack-and-jill-compilers-head-uphill-to-developers .html我正在读它.
查看此说明:https: //www.saikoa.com/blog/the_upcoming_jack_and_jill_compilers_in_android
编辑2: 杰克和吉尔的新信息!:http: //tools.android.com/tech-docs/jackandjill
编辑3: Android Studio 2.0似乎让我们摆脱了所有的负担!查看"即时运行". http://android-developers.blogspot.nl/2015/11/android-studio-20-preview.html
performance android gradle android-studio android-jack-and-jill
我昨天从Eclipse迁移到Android Studio 5.x. 这真好.
然而,当我运行应用程序来编译并将其安装到我的手机中时,它需要比eclipse更多的时间.
我点击运行,它开始制作应用程序.任务说:Grandle: Executing tasks [:mypackage:assembleDebug].完成后说Grandle invocation completed successfully in x min x sec.然后加载它.
问题是它有时可能只需要20秒,但其他时间只需2-3分钟.哪个是烦人的等待时间.是否必须执行此操作才能在每次编译之前始终运行?我可以关闭它还是减少它的时间?
如果这个问题不准确,我很抱歉,但我不熟悉爷爷如何在AS中完全运作.
我的Android工作室在过去的几个月里工作正常,但最近开始冻结.我尝试卸载并重新安装最新版本的2.2.3 for Windows,但它仍然一直冻结,无法使用.我一直在寻找,但找不到任何解决方案.我正在运行Windows 10并拥有32GB RAM.
我有一台配备Core i3处理器和2GB RAM的笔记本电脑,而我正在使用我的Sony Xperia C作为仿真器的替代品.当我点击调试并选择我的移动设备时,Gradle开始构建,大约需要5到10分钟才能完成.我知道我的资源非常少,但我怀疑为什么完成构建和运行应用程序需要很长时间才有另一个原因.
我在logcat选项卡中注意到它花时间发送请求并反复等待响应.
任何人都可以告诉我,如果问题是硬件资源的问题,或者我的疑问是关于其他事情的原因.
我是Android开发的新手,我的Gradle构建过程需要很长时间.对我来说等待gradle构建很烦人.任何帮助都是适用的.提前致谢
我的Gradle构建时间通常约为12秒,但是在大约10到20次构建之后,它会立即开始增加,指数增加:30秒,50秒,2分钟,5分钟等等,直至内存不足.
健康身材:
:app:compileDev21DebugJavaWithJavac 4.783s
:app:transformClassesWithRealmTransformerForDev21Debug 3.011s
:app:transformClassesWithDexForDev21Debug 2.133s
:app:compileRetrolambdaDev21Debug 1.325s
:app:packageDev21Debug 0.997s
:app:processDev21DebugResources 0.703s
Run Code Online (Sandbox Code Playgroud)
在10到20之后,它开始增加:
:app:transformClassesWithDexForDev21Debug 39.172s
:app:compileDev21DebugJavaWithJavac 34.221s
:app:packageDev21Debug 9.922s
:app:transformClassesWithRealmTransformerForDev21Debug 8.353s
:app:compileRetrolambdaDev21Debug 3.120s
:app:fabricGenerateResourcesDev21Debug 1.376s
Run Code Online (Sandbox Code Playgroud)
如您所见,每项任务都会及时增加.
我使用Android Studio 2.2.2,但自从最近3个版本以来我遇到了问题.Gradle 2.14.1.可能它与我们的项目有关.我使用Mac,我在Windows上的同事在同一个项目中也是如此.如果我停止AS,杀死Java并再次启动AS,这会解决它一段时间.
我还没有使用Jack编译器.
要明确:我的构建时间通常不慢:13秒就可以了.这不是所有"慢速构建时间"问题的重复.只有在10到20次构建之后,构建时间才会随着每次构建呈指数级增长.
更新:使Gradle构建"离线"没有帮助.使用"gradle-3.1-all.zip"(grade-wrapper.properties中的distributionUrl)也没有帮助.
有人有这个问题,知道解决方案吗?