我的 Android Studio 项目用于构建更快,但现在需要很长时间才能构建 . 可能导致延误的任何想法?我试过https://stackoverflow.com/a/27171878/391401但没效果 . 我没有运行可能会中断构建的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 build finished in 3 min 40 sec
10:45:18 Gradle build finished in 3 min 1 sec
10:48:49 Gradle build finished in 3 min 30 sec
10:53:05 Gradle build finished in 3 min 22 sec
10:57:10 Gradle build finished in 3 min 19 sec
10:57:11 Session 'app': running
19 回答
Check your Internet connection . 如果互联网速度很慢,那么gradle build也需要很长时间才能构建 . 我检查通过改变我的无线互联网连接与另一个良好的速度连接 . 现在 Build 时间很正常 . 请在转到其他解决方案之前尝试此操作 . 有人会错误地决定重新安装或更改设置 . 我希望它会有所帮助 . 感谢致敬 .
在Android Studio中,转到文件 - >设置 - >构建,执行,部署 - >构建工具 - > Gradle
(如果在mac上) Android Studio - >首选项... - >构建,执行,部署 - >构建工具 - > Gradle
检查“全局Gradle设置”下的“离线工作”
它将减少90%的gradle构建时间 .
如果您刚刚在gradle中添加了新的依赖项,则必须取消选中 offline work 或gradle将无法解析依赖项 . 在完成解析之后,您可以检查 offline work 以获得更快的构建
如果您使用的是Google Play服务,请确保您没有在Gradle构建脚本中使用此服务:
仅使用您的应用实际使用的那些Google API . 如果你使用的只是谷歌 Map ,你会使用这个:
当我这样做时,我的编译时间从2分钟到大约25秒 . 有关您可以有选择地编译的Google API的列表,请参阅:
https://developers.google.com/android/guides/setup
找到了一种简单而且最好的方法来构建gradle
转到您的应用>>打开您的gradle.properties并从中更改几行[删除 # ]
否则你也可以复制粘贴我的下面的代码片段
它对我来说早了几乎需要2-3分钟,现在只用了5-6秒
在上面的场景我的mac机器有8GB内存,所以我为gradle分配了4gb
找到原因!!如果Android Studio具有代理服务器设置但无法访问服务器,那么构建需要很长时间,可能是它试图到达代理服务器并等待超时 . 当我删除代理服务器设置其工作正常 .
删除代理:
File > Settings > Appearance & Behavior > System settings > HTTP Proxy
启用Java 8功能导致致命的慢速构建
gradle这个
删除上面的行后,它会在几秒钟内构建 .
有问题Compiling with Jack takes very long time
项目经理的答案
截至目前,我能找到的最新Gradle版本是2.3.0-beta4
遵循这些步骤将使其快10倍并缩短构建时间90%
首先在以下目录中创建名为gradle.properties的文件:
将此行添加到文件中:
推荐阅读:How I save 5h/week on Gradle builds!
根据这篇优秀的帖子,你应该尝试优化以下内容:
Gradle Daemon
并行项目执行
按需配置项目
模块价格昂贵......
@AndroidDev解决方案为我工作 . 我把整个lib都包含在gradle中 .
改变解决了问题 . 从4分钟到1分钟 .
日Thnx
1)在我的gradle文件中添加了一些新的库依赖项之后,我的构建时间严重增加,结果发现我之后需要使用multidex . 当我正确设置multidex时,我的构建时间上升到2-3分钟 . 因此,如果您希望更快的构建时间,请避免使用multidex,并尽可能减少库依赖项的数量 .
2)你也可以尝试在android studio中启用“离线工作”,就像这里建议的那样,这是有道理的 . 每次进行构建时都不会重新获取库 . 禁用“离线工作”可能导致连接缓慢或代理/ VPN使用速度缓慢可能会导致构建时间变慢 .
3)谷歌服务 - 如这里提到的,不要使用整个捆绑,只使用它所需的部分 .
在Android studio 2.0的测试版中,他们推出了一个名为Instant Run的功能 . 它通过一个重要因素减少了构建时间 . 核心概念是,Android Studio仅推动对已经运行的应用程序进行的微小更改 .
它将我们在代码中所做的更改分为三个部分:热插拔,热插拔和冷交换,基于更改对构建的负载量 . 之后,它只是交换已经运行的应用程序中的代码,我们可以看到更改运行几秒钟 . 有关更多信息,请参阅doc .
Here您可以下载Android Studio 2.0预览版 .
PS:此功能存在一些问题 . 他们已经在文档中列出了它 . 之前看看安装 .
我长时间遇到同样的问题,但我通过调整gradle中的设置解决了这个问题 .
第1步:在模块应用程序中添加BuildScript中的依赖项
第2步:添加dexOption并提供以下heapSize
第3步:添加productFlavors
这应该减少你的构建时间 .
If you're using Windows 8...
DroidArc和AndroidDev解决方案有用,但不是很有用 . 我的问题与我的Windows 8操作系统及其100%的磁盘使用率有关 .
特别是Windows搜索服务,是最耗费的 . 禁用它:cmd(Admin)> net.exe stop“Windows search”
我按照这个链接的方向,它解决了真正的问题4 Tips to Fix 100% Disk Usage & Improve Windows Performance
希望这可以帮助 .
我在kotlin遇到了同样的问题 . 更新过时的kotlin运行时为我解决了这个问题
我有这样的问题,特别是在通过我的手机主动调试时;有时花了27分钟 . 我做了以下事情,并记下每个下面的解释 - 一个可能适合你:
上面的举动也不稳定,因此我试图找出问题是否可能是直接在我的手机和电脑上运行的进程/内存 . 在这里,我在手机和存储空间(占用率达到98% - 低至70%)以及任务管理器(Windows)上释放了一点内存空间,将Android Studio和Java.exe的优先级提高到了高位 . 谨慎地采取这一步骤;取决于你的电脑的记忆 .
毕竟这是我在手机上主动调试时的构建时间有时下降到1~2分钟但有时飙升 . 我决定做一个 surprised me 的黑客攻击,把它降到最好的秒数,这个项目给了我22分27秒12秒!
ALTERNATIVELY
如果我正在调试的脚本/函数/方法纯粹是JAVA,而不是JAVA-android,例如使用JSONArrays / JSONObjects测试API,我在Netbeans上测试我的java函数/方法,它可以编译单个文件并更快地显示输出,然后对我的Android Studio文件进行必要的更改 . 这也节省了我很多时间 .
EDIT
我尝试在本地存储中创建一个新的android项目,并将我之前项目中的所有文件复制到新项目中 - java,res,manifest,gradle app和gradle项目(具有最新的gradle类路径依赖项) . 现在我可以在不到15秒的时间内在手机上构建 .
在build.gradle中,如果你有minifyEnabled进行调试,请删除它 . 我在我的项目中有它,并且花了大约2-3分钟来构建 . 在查看构建进度后,我发现这是罪魁祸首,因此删除下面的注释行,我的问题已修复 .
我的电脑上有类似的问题 . Windows Defender阻止了Gradle Building的某些部分 . 我已经禁用它,之后工作正常 .
尝试重新启动计算机并再次运行Android Studio . 在尝试使用Android目标代码库构建Cordova / Phonegap项目时,为我工作 .