⑴ gradle编译速度慢怎么解决
具体是哪个环节慢。估计是你用了maven的中心库,导致下载很慢,自己搭建一个nexus私服,这样就快了。
⑵ android studio 编辑build.gradle文件时卡顿时间过长是什么原因
方法1:
1、在C:\User\<用户名>\.gradle 目录下新建一个gradle.properties文件,并在里面添加一行:org.gradle.daemon=true
2、打开AS,在Settings中设置Gradle的工作模式为offline,如下图:
这样就可以解决一直在running的问题了
方法2:
找到路径C:\Users\admin\.gradle\wrapper\dists,在此文件夹下有一个gradle版本文件夹,打开后是一个名字很长的文件夹,
例如我的C:\Users\admin\.gradle\wrapper\dists\gradle-2.4-all\6r4uqcc6ovnq6ac6s0txzcpc0 然后下载对应版本的gradle,将下载的压缩包直接放进名字很长的文件夹中即可,不需要解压
方法3:
需要在android studio 中配置gradle的代理,当然是用goagent了。
打开setting->gradle->Gradle VM Options:
-Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8087
设置生成功后,重启androidstudio ,速度会非常快。
方法4:
1)进入刚安装的Android Studio目录下的bin目录。找到idea.properties文件,用文本编辑器打开。
2)在idea.properties文件末尾添加一行: disable.android.first.run=true ,然后保存文件。
3)关闭Android Studio后重新启动,便可进入界面。
方法:5:
可能是由于国内的某些杀毒软件禁用了aapt.exe进程导致的。aapt即Android Asset Packaging Tool,在SDK的build-tools目录下。该工具可以查看,创建, 更新ZIP格式的文档附件(zip, jar, apk)。也可将资源文件编译成二进制文件,尽管你可能没有直接使用过aapt工具,但是build scripts和IDE插件会使用这个工具打包apk文件构成一个Android 应用程序。
解决办法:
网上有个解决的方法,是通过延长aapt.exe的启动时间来解决的,在系统变量中加上“SLAVE_AAPT_TIMEOUT”,并设置值为30,同时也要在用户变量中加上"java_HOME"的设置,不过相信只要是做java或者android开发的人都会设置好"JAVA_HOME"吧
⑶ Android 开发,Android Studio编译慢,卡死和狂占内存怎么破
已经使用Android Studio进行开发超过一年,随着项目的增大,依赖库的增多,构建速度越来越慢,现在最慢要6分钟才能build一个release的安装包,在网上查找资料,发现可以通过一些配置可以加快速度,这里跟大家分享一下。
开启gradle单独的守护进程
在下面的目录下面创建gradle.properties文件:
/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)
并在文件中增加:
org.gradle.daemon=true
同时修改项目下的gradle.properties文件也可以优化:
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Settings specified in this file will override any Gradle settings
# configured through the IDE.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# The Gradle daemon aims to improve the startup and execution time of Gradle.
# When set to true the Gradle daemon is to run the build.
# TODO: disable daemon on CI, since builds should be clean and reliable on servers
org.gradle.daemon=true
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
org.gradle.parallel=true
# Enables new incubating mode that makes Gradle selective when configuring projects.
# Only relevant projects are configured which results in faster builds for large multi-projects.
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:configuration_on_demand
org.gradle.configureondemand=true
同时上面的这些参数也可以配置到前面的用户目录下的gradle.properties文件里,那样就不是针对一个项目生效,而是针对所有项目生效。
上面的配置文件主要就是做, 增大gradle运行的java虚拟机的大小,让gradle在编译的时候使用独立进程,让gradle可以平行的运行。
修改android studio配置
在android studio的配置中,开启offline模式,以及修改配置。实际上的配置和上面的一大段一样,主要是在这个地方配置的只会在ide构建的时候生效,命令行构建不会生效。
命令行构建
基于上面的配置,命令行构建时在命令后面加上这个参数即可 --daemon --parallel --offline。
引入依赖库时使用aar
使用网上第三方的依赖库时尽量使用aar,可以在mavenhttp://gradleplease.appspot.com/或者githuhttps://github.com/Goddchen/mvn-repo搜索。
自己的库模块也可以打包成aar,关于这个可以参考stormzhang的文章http://www.stormzhang.com/android/2015/03/01/android-reference-local-aar/。
⑷ Android Studio编译慢、卡死和狂占内存怎么破
在2020年,仍然使用2g内存的电脑,你可以改变职业。没有合适的设备,什么都没用。Android Studio是内存,设备烂卡死不可避免,要解决卡的问题,一定要升级硬件设备。另一些人则说,对修辞学的回答相当有力,在一定程度上,加快编译的速度,却不能解决卡死的问题,没有人能解释为什么会加快编译的速度。
至于加快编译,有一种方法,我认为一些主要适用性的答案并不强,实际上应该从gradle开始,什么不是正确的地方,也请轻喷,有什么问题可以留个信息。
我谈到了下面的所有步骤,建议在最后进行。在终端编译中有很多好处:
能观察整个编译过程,帮助理解层次构建过程;
可以看出哪些任务在编译过程中耗费时间,可以较慢地编写出适合的补救方案;
可以终止编译,如果在某个阶段被卡住,CTRL + c终止编译,Android也会终止在Studio中编译,但基本上九次会失败;
因为它最终会对Android Studio产生影响,基本不会导致Android Studio caton;不满足Android工作室的各种bug ?
最后,为什么要减少设置中模块的数量。Gradle实际上可以加速编译,但是有很多限制?
首先,我们认为编译过程,首先解析gradle配置,设置任务依赖于有向图,然后执行每个任务的模块,如果我们通过maven的依赖关系,使用模块的aar(单android库),如果我们想要改变文件在这个模块,不要再次修改上传下载,每次都是很好,但是有一个致命的问题:不修改版本号,快照通常不是做的想法。这可能导致一些不会生效的变化,并且需要时间来解决这个问题。但是,有一种方法可以在一定程度上解决这个问题,并添加以下脚本:
项目。配置。所有(新操作<配置> ({@ Overridevoidexecute(配置文件){文件)。ResolutionStrategy。TimeUnit CacheDynamicVersionsFor(5。分钟)
文件。ResolutionStrategy。TimeUnit CacheChangingMolesFor(0。秒)} })
有人会问,插件,每个人都要开发一个模块,对于每个模块的维护都要打包到maven,每次我修改,甚至很小的改动,也要做一个上传,就会遇到快照不做同样的问题。嘿,嘿,这个问题,我们公司有一个等级插件,已经解决了,至于解决方案,是公司机密,我不会说。
一件事,我相信大多数开发人员共同发展是单一模块,该模块的情况并不多,所以最基本的也是依赖aar或罐子里,并不存在所谓的图书馆aar上传,所以一些答案的耶和华说并不意味着什么,这就是为什么我说影响编译速度的情况主要集中在它的生命周期的第三阶段,第三阶段的优化,看到我的答案。
⑸ 如何解决android studio运行编译速度慢
开启gradle单独的守护进程:
在下面的目录下面创建gradle.properties文件:
/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)
并在文件中增加:
org.gradle.daemon=true
同时修改项目下的gradle.properties文件也可以优化:
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Settings specified in this file will override any Gradle settings
# configured through the IDE.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# The Gradle daemon aims to improve the startup and execution time of Gradle.
# When set to true the Gradle daemon is to run the build.
# TODO: disable daemon on CI, since builds should be clean and reliable on servers
org.gradle.daemon=true
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
org.gradle.parallel=true
# Enables new incubating mode that makes Gradle selective when configuring projects.
# Only relevant projects are configured which results in faster builds for large multi-projects.
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:configuration_on_demand
org.gradle.configureondemand=true
同时上面的这些参数也可以配置到前面的用户目录下的gradle.properties文件里,那样就不是针对一个项目生效,而是针对所有项目生效。
上面的配置文件主要就是做, 增大gradle运行的java虚拟机的大小,让gradle在编译的时候使用独立进程,让gradle可以平行的运行。
⑹ android studio 导出项目
Android Studio导入项目的几种方法
主题 Android Studio Gradle Eclipse
Android Studio默认使用 Gradle 构建项目, Eclipse 默认使用 Ant 构建项目。建议Android Studio导入项目时,使用 Gradle 构建项目。
导入Eclipse项目
本例中,使用到的 Eclipse 项目结构
-demo为主项目, appcompat_v7 为 library 项目。
导入Generate Gradle build files项目
Google官方建议是通过本方法进行Android Studio导入 Eclipse 项目。
这种方式有一个好处就是兼容 Eclipse 的文件目录结构,通过版本控制中的文件过滤,可以在一个项目组中,同时使用 Eclipse 和Android Studio。
讲解1
File--> Export
讲解2
选择导出类型。选择 Android --> Generate Gradle build files 。
点击 Next 。
讲解3
很长一段英语(完全看不懂是什么意思)。
点击 Next 。
讲解4
选择要导出的项目。
因为我的 e-demo 项目依赖了 appcompat_v7 项目,所以我将 e-demo 和 appcompat_v7 都选择了导出。
点击 Next 。
讲解5
最终确认要导出的项目。
Force overriding of existing files表示覆盖导出文件。使用 Generate Gradle build files 的方式导出项目,会在项目目录中生成一些文件。这里的覆盖文件指的就是覆盖这些可能已经生成过的文件。如果你之前有使用这种方式导出过项目,建议勾选。
点击 Finish 。
讲解6
这一步没有什么好说的,直接点击 Finish 。
讲解7
Finish点击完毕,并没有弹出窗口显示导出的项目,就好像什么事情都没有做一样。其实,使用这个方式导出项目,是在项目中添加了一些文件,我们可以到项目目录下去看一看这些生成文件。
工作空间目录下
e-demo目录下
appcompat_v7目录下
我们可以发现:在工作空间目录下,多出了 gradle 文件夹和 build.gradle 、 build.gradle 、 gradlew 、 gradlew.bat 、 settings.gradle 文件;在 e-demo 目录下多出了 build.gradle 文件; 在 appcompat_v7 目录下多出了 build.gradle 文件。这些文件和文件夹都和 Gradle 有关系,用于构建项目。这些文件以及文件夹的作用,我们以后再说。
讲解8
由于 Eclipse 的 ADT 插件已经很久没有更新了,自动生成的 Gradle 编译设置已经跟不上Android Studio的更新速度,所以我们需要手动修改一些内容。
打开工作空间目录下的 gradle --> wrapper --> gradle-wrapper.properties 。修改一下内容: distributionUrl=http\://services.gradle.org/distributions/gradle-a.b.c-all.zip --> distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip
打开工作空间目录下的 build.gradle 文件。修改以下内容:
classpath 'com.android.tools.build:gradle:0.x.+'--> classpath 'com.android.tools.build:gradle:1.0.0' 。
之所以这么设置,是因为: Eclipse 导出的 Gradle 设置已经不是Android Studio 1.0 所支持的 Gradle 已经 Gradle 插件版本,需要手动更为支持的版本。否则轻则必须不能离线导入项目,重则项目导入失败。
讲解9
打开Android Studio,选择 Open an existing Android Studio project 。
讲解10
此时会弹出一个框,让你选择文件夹,这个时候需要注意的就是,你需要选择原来的 Eclipse 的工作空间目录,而不是 e-demo 目录。
点击 OK 。
讲解11
设置导入选项。
此处有一些比较重要的设置需要讲解一下。
Gradle project :此处通常显示的路径并不是你的 Eclipse 的工作空间的目录,而是 Eclipse 的工作空间的目录中的 gradle 路径。你需要手动删除后面的 gradle ,否则项目导入,你是看不到你的代码的,只能看到 gradle 目录下的内容。
Create directories for empty content roots automatically :不是很明白它的作用,一般默认即可。
Use default gradle wrapper(recommended) 和 Use local gradle disribution :这两个是让你设置使用的 Gradle 。默认会勾选 Use default gradle wrapper(recommended) ,我们需要手动勾选 Use local gradle disribution 。
Gradle home :勾选 Use local gradle disribution 后此项编程可编辑状态,默认的此处的地址为Android Studio安装目录中的 Gradle 路径地址。此处可能会有一些错误的警告,提示内容为: Gradle location is incorrect 。而你的这个目录下,确实是有 Gradle 的。产生这个问题的原因,很可能是因为 Gradle home 选项中,路径中的斜杠为 / 而不是 ** 。你需要点击左右的文件选择按钮,重新选择到Android Studio安装目录中的 **Gradle ,问题即可解决。
Offline work :设置 Gradle 使用离线的方式导入项目。你可以勾选也可以不勾选。如果你有进行 讲解8 的操作,你则可以勾选,以离线的方式进行编译。
点击 OK 。之后便会看到编译进度条,根据每个人机器的配置,编译的时间不同。
编译完成之后,自动跳转到Android Studio的主页面。在编译的工程中,会有以下的弹框:
之所以有这个弹框,是因为Android Studio默认使用 JAVA 1.7 进行编译,如果你的项目不是 1.7 ,则会弹框让你选择。建议选择 Yes ,因为当你使用 JAVA 1.7 的时候,只要不使用 JAVA 1.7 的资源自动释放这个新特性,能够完美得兼容 JAVA 1.6 的Android设备。
如果看到下面这个界面,说明你已经导入成功了。
直接导入Eclipse项目
如果不使用 Generate Gradle build files 导出项目,可以使用Android Studio直接打开 Eclipse 工作空间,进行项目导入。
不使用Gradle编译项目
这种方式可以兼容 Eclipse 的文件目录结构,通过版本控制中的文件过滤,可以在一个项目组中,同时使用 Eclipse 和Android Studio。但是在Android Studio中并不是使用 Gradle 构建项目,而是使用的 Ant 。
讲解12
打开Android Studio,选择 Import Non-Android Studio project 。
在弹出的目录选择框中,选择 Eclipse 的工作空间 。
讲解13
接下来回让你选择编译环境。选择 Create project from existing sources 。
讲解14
设置 Android Studio Project 名称以及存放目录。一般默认即可。
点击 Next 。
讲解15
选择资源文件以及资源文件夹。根据你需要导入的项目进行勾选。选择一个项目的时候,你需要选择它依赖的 Library 项目以及他的 src 和 gen 目录。
选择完毕,点击 Next 。
讲解16
选择要导入的 jar 。第一个 .mylyn 是 Eclipse 插件的内容,我们需要手动过滤掉,其他的
选择完毕,点击 Next 。
讲解17
选择Android Studio识别出的 Mole ,也就是 Eclipse 中的 Project 。勾选你想导入的项目即可。
选择完毕,点击 Next 。
讲解18
选择编译的 SDK 。在这里,你需要选择 Android SDK ,最好和之前使用 Eclipse 时使用的 SDK 一样。同样,你也可以再次进行一些简单的环境设置,在此就不说了。
选择完毕,点击 Next 。
讲解19
选择识别出的 AndroidManifest.xml 文件。默认全部勾选即可。
点击 Finish ,Android Studio就开始导入项目了。
讲解18
在导入的过程中,如果Android Studio识别出原项目的依赖关系,便会弹出对话框让你进行选择。如果想保持之前的依赖关系,点击 OK 即可。
当你看到这个界面,就表示导入成功了。项目使用 Ant 构建,并不是Android Studio 默认的 Gradle 。
使用Gradle编译项目
本方法有一个缺点就是,一次只能导入一个 Eclipse 项目。对于那些只使用到了官方系列的支持包的 Eclipse 项目来说,会方面很多,而且同时兼容 Eclipse 文件目录结构。
讲解19
打开Android Studio,选择 Import Non-Android Studio project 。
在弹出的目录选择框中,选择 你想导入的项目所在的目录,而不是 Eclipse 的工作空间 。
讲解20
Android Studio识别出你的项目是一个 Eclipse Android 项目,它将重新使用 Gradle 构建项目。
Android Studio会完整复制项目文件到一个新的目录中,你需要设置这个新目录的地址。
设置完毕,点击 Next 。
讲解21
将之前 Ant 架构改变为 Gradle 架构。
Replace jars with dependencies,when possible :将 Ant 的 jar 依赖关系使用 dependencies 重构。
Replace library sources with dependencies,when possible :将 Ant 的 library 项目的依赖关系使用 dependencies 重构。
Create Gradle-style(cameCase) mole names :使用 Gradle 的样式构建Android Studio的 Mole 名称。
建议全选,点击 Finish 。Android Studio开始编译项目,同时进入Android Studio主页面。
同样的,在编译的过程中,依然会提示你语言等级的问题,选择 Yes 。
导入Android Studio项目
Android Studio项目,指的是使用 Gradle 进行构建的项目。默认的文件结构如下:
project-name
+ app/
+ src/
+ main/
+ assets/
+ java/
+ package
...
+ res/
+ drawable/
...
+ layout
...
+ values
...
| Androidmanifest.xml
| build.gradle
+ gradle/
+ wrapper/
| gradle-wrapper.jar
| gradle-wrapper.properties
| build.gradle
| gradlew
| gradlew.bat
| settings.gradle
有的一些Android Studio项目有对 Eclipse 做兼容处理,项目结构看起来和 Eclipse 是相同的。
讲解22
当你从网络上或者其他地方获取到一份Android Studio项目源码时,你希望能够导入到Android Studio中。首先,你需要先对这份源码进行一些修改。具体的修改内容,请参照 讲解8 。
打开Android Studio,选择 Open an existing Android Studio project 。
在弹出的路径选择框中,选择你要导入的Android Studio项目,点击 OK 。
讲解23
然后会弹出和 讲解11 相同的页面,同样,和 讲解11 进行一样的设置即可。
⑺ 有什么办法能加快Android Sudio中Gradle build速度
可以试试一些开源的build加速工具,比如 @nekocode 提到的buckbuild,Facebook开源的build 工具,速度确实提升不少,只是侵入性较强,而且配置有点麻烦,不过微信团队已经在用了。我司内部使用的是图大师和@别闹腾啊 一起开发的LayoutCast。比buckbuild还快,具体可以参考项目中的对比图。对于代码的修改,一般build速度在2-3秒,之前的项目build一次项目需要2min多,大大提高了编译速度,节省了不少宝贵的时间,确实很爽,不过对于资源修改支持的不是很好,还在优化。并且LayoutCast是以插件的方式支持,在代码里简单的配置即可。
⑻ 如何加快Android Studio的编译速度
作为一名Android程序员,选择一个好的IDE工具可以使开发变得非常高效,很多程序员喜欢使用Google的AndroidStudio来进行开发,但使用起来有时会出现卡顿等问题。本文介绍了几种优化AndroidStudio启动、编译、运行速度的方法。首先解决一个AndroidStudio启动报错的问题1、进入刚安装的AndroidStudio目录下的bin目录。找到idea.properties文件,用文本编辑器打开。2、在idea.properties文件末尾添加一行:disable.android.first.run=true,然后保存文件。3、关闭AndroidStudio后重新启动,便可进入界面。优化AndroidStudio启动速度1、开启gradle单独的守护进程当AndroidStudio遇到错误的时候,往往会导致AndroidStudio挂掉,为了防止推出程序,则另外开启一个线程来守护AndroidStudio的进程,具体操作。在C:\Users\.gradle这个目录下,创建gradle.properties配置文件,复制以下配置进行优化。#Project-wideGradlesettings.org.gradle.daemon=trueorg.gradle.jvmargs=-Xmx2048m-XX:MaxPermSize=512m-XX:+HeapDumpOnOutOfMemoryError-Dfile.encoding=UTF-8org.gradle.parallel=trueorg.gradle.configureondemand=true这些配置文件主要就是增大gradle运行的java虚拟机的大小,让gradle在编译的时候使用独立进程,让gradle可以很好的运行。2、扩大内存64位:\studio64.exe.vmoptionsorstudio.exe.vmoptions32位:\studio.exe.vmoptionsorstudio.exe.vmoptions编辑这个文件,在最开始的两行设置内存大小,类似于eclipse.ini中的配置。配置如下:-Xms256m-Xmx1024m3、优化编译时VM大小选择file->setting->compile添加如下参数:-Xmx1024m-XX:MaxPermSize=128m-XX:+HeapDumpOnOutOfMemoryError-Dfile.encoding=UTF-8具体参数大小视电脑配置而定。经过测试,编译速度有很大提升,比较大的项目从之前的5-8分钟可以减少到1-2分钟。OneAPMMobileInsight能够实时监测移动应用的真实用户体验,通过Agent实现端到端的应用性能分析。帮助用户提高发现应用问题的速度。并且可以深入到代码级进行应用性能问题剖析,通过可视化界面展示智能移动终端的实时运行状态。
⑼ android studio 怎么用gradle编译
使用Gradle来构建项目的时候,需要对Gradle的配置文件有个大概的了解,以我的一个测试应用项目为例,Gradle的配置文件主要有:
每个模块的gradle配置文件。
整个项目的gradle配置文件。
统一管理gradle的gradle-wrapper配置文件。
整个项目的模块引用配置文件。