每次运行我的应用程序时,我都会收到此Gradle错误.错误是:
要在进程中运行dex,Gradle守护程序需要更大的堆.它目前有大约910 MB.
要加快构建速度,请将Gradle守护程序的最大堆大小增加到2048 MB以上.
为此,请在项目gradle.properties中设置org.gradle.jvmargs = -Xmx2048M.有关更多信息,请参阅https://docs.gradle.org/current/userguide/build_environment.html
这是我的build.gradle(Module:app)文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "mobileapp.tech2dsk"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.3.0'
compile 'com.android.support:design:23.3.0'
}
Run Code Online (Sandbox Code Playgroud)
这是我的build.gradle(Project)文件:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies …
Run Code Online (Sandbox Code Playgroud) 我需要在IntelliJ Idea中禁用Gradle守护进程,因为Scala插件不能与守护进程一起使用(编译失败NullPointerException
).我试图编辑我的IntelliJ Gradle构建配置以包含JVM系统参数-Dorg.gradle.daemon=false
:
此外,我试图--no-daemon
在同一个地方使用标志(脚本参数和VM选项).我也尝试在Preferences -> Gradle
IntelliJ菜单中指定这些选项.这些尝试都没有给出任何结果,守护进程继续开始,所以我必须running/compiling
在第二次之前杀死它.
~/.gradle/gradle.properties
根据https://docs.gradle.org/current/userguide/gradle_daemon.html#N10473禁用守护进程不会产生任何影响.
如何禁用IntelliJ Idea中的Gradle守护程序用法?
我正在使用Gradle 2.5编译一个由5个模块组成的Java项目.为了加快速度,我还使用了gradle-daemon.但是,在编译期间,最多有18个gradle-daemon运行实例.编译完成后,仍然有15个守护进程实例.守护进程消耗大约600 MB的RAM.让许多守护进程在后台运行或gradle-daemon配置错误是正常的吗?
更新:我的操作系统是Debian Jessie.Java版本是Oracle Java 8.
在尝试提高我的Gradle Android版本的性能时,我偶然发现了Gradle Daemon,并且已经在本地构建中取得了巨大的成功.
但是,当在Ubuntu 14.04上的Jenkins下运行时,构建会间歇性地失败:
Starting process 'Gradle Test Executor 2'. Working directory: /tmp/myproject/android/example Command: /usr/lib/jvm/java-8-oracle/bin/java -Djava.awt.headless=true -Djava.security.manager=worker.org.gradle.process.internal.worker.child.BootstrapSecurityManager -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.variant -ea -cp /data/var/lib/jenkins/.gradle/caches/2.14.1/workerMain/gradle-worker.jar worker.org.gradle.process.internal.worker.GradleWorkerMain 'Gradle Test Executor 2'
Successfully started process 'Gradle Test Executor 2'
Daemon vm is shutting down... The daemon has exited normally or was terminated in response to a user interrupt.
Starting process 'Gradle Test Executor 3'. Working directory: /tmp/myproject/android/example Command: /usr/lib/jvm/java-8-oracle/bin/java -Djava.awt.headless=true -Djava.security.manager=worker.org.gradle.process.internal.worker.child.BootstrapSecurityManager -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.variant -ea -cp /[...]/.gradle/caches/2.14.1/workerMain/gradle-worker.jar worker.org.gradle.process.internal.worker.GradleWorkerMain 'Gradle Test Executor …
Run Code Online (Sandbox Code Playgroud) continuous-integration gradle jenkins android-gradle-plugin gradle-daemon
每次我在Mac上执行gradle命令时,都会收到一条消息:
"This build could be faster, please consider using the Gradle Daemon: https://docs.gradle.org/2.10/userguide/gradle_daemon.html"
Run Code Online (Sandbox Code Playgroud)
我已经创建了一个gradle.properties文件,其中包含org.gradle.daemon = true行,如消息中给出的网页中所述.但无论我做什么,我仍然会继续得到这个信息.
如果我执行命令
gradle --daemon
Run Code Online (Sandbox Code Playgroud)
然后它成功执行,但是下次我做某事我得到的消息可能更快,构建和我启动守护程序之前一样慢.
我的安装目录是/ grale_daemon.html中的用户/用户名,因为我正在使用Udacity课程(https://www.udacity.com/course/viewer#!/c-ud867/),他们建议将其安装到在/ usr /本地/ gradle这个
我怎样才能真正让gradle dameon工作并摆脱那可能是更快的消息呢?
(使用Gradle版本2.10)
我的 gradle 似乎坚持从看起来像代理地址的地方下载包。使用此命令,我停止所有 Gradle 守护进程,删除所有 Gradle 配置,并从 GitHub 构建一个随机项目,该项目中没有代理设置gradle.properties
(我尝试了其他项目,结果相同):
./gradlew --stop ;\
pkill -f '.*GradleDaemon.*' ;\
rm -rf ~/.gradle ;\
env ;\
./gradlew build
Run Code Online (Sandbox Code Playgroud)
该./gradlew build
部分输出此错误:
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'commons-app'.
> Could not resolve all artifacts for configuration ':classpath'.
> Could not resolve com.android.tools.build:gradle:4.0.0.
Required by:
project :
> Could not resolve com.android.tools.build:gradle:4.0.0.
> Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/4.0.0/gradle-4.0.0.pom'.
> Could …
Run Code Online (Sandbox Code Playgroud) 我在Ubuntu 16.04.1 LTS上使用Gradle 2.10
我被告知" 这个版本可能更快,请考虑使用Gradle Daemon ",所以我创建了一个~/.gradle/gradle.properties
包含的文件 org.gradle.daemon=true
.
结果:每次跑步./gradlew build
,我都会被告知:
Starting a new Gradle Daemon for this build (subsequent builds will be faster).
Run Code Online (Sandbox Code Playgroud)
... 每一次.构建不会变得越来越快:它总是需要大约10秒.如果我连续3次运行构建,它会输出3次以上的消息,虽然我远低于Gradle的3小时不活动自动关闭.
如何解决这个问题并使守护进程存活更长时间?
如何让 gradle 不与守护进程交谈?
./gradlew --no-daemon -Porg.gradle.daemon=false -Dorg.gradle.daemon=false build -x test
Starting daemon
IDLE
Run Code Online (Sandbox Code Playgroud)
我们在 ecs 上运行 jenkins 节点,所以守护进程似乎并没有给我们带来太多好处。此外,我们在并行 jenkins 管道块中运行多个 gradle 执行,有时会看到守护程序错误 - 这是我不希望的:
[org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire exclusive lock on daemon addresses registry.
[org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
[org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
Daemon vm is shutting down... The daemon has exited normally or was terminated in response to a user interrupt.
Run Code Online (Sandbox Code Playgroud)
似乎 gradle 需要守护进程才能不使用它。我将尝试放弃并使用守护进程,这是 gradle 守护进程文档推荐的。
我们有一种情况,我们在运行gradle的VM中占用一个Jetty实例.
但是,当我们在gradle守护程序中运行时,这会非常糟糕:我们没有完全摆脱Jetty实例,所以它必须与gradle进程本身一起消亡.(但是,这并不是一个大问题,因为我们不希望这个CI集成测试案例中的gradle守护进程).
因此,我们想知道当前任务是否在gradle守护程序中运行 - 以便我们可以抛出异常或以其他方式通知用户这是错误的方法,请运行此une daemonized.
我遇到了Android Studio的严重问题.我完全卸载了Android Studio,以及我PC上的任何Eclipse副本.然后我删除了users文件夹中的.gradle .android文件夹.然后我在我的电脑上重新安装了最新版本.已重新创建.gradle和.android文件夹.
我现在尝试创建一个新项目.我设置了所有常规,然后出现以下错误:
我已经阅读了多篇帖子,大多数都是旧版本的Android Studio.我的SDK是最新的,是的,我确实安装了Android支持存储库修订版2以及Android支持库Rev 18.
为什么这必须如此复杂,我无法理解.
关心Adrian Wreyford
gradle-daemon ×10
gradle ×8
java ×2
android ×1
build.gradle ×1
daemon ×1
jenkins ×1
proxy ×1
scala ×1
ubuntu ×1