我刚刚更新到 Android Studio 版本 2.0 Preview 8 和 gradle 插件 2.0.0-alpha8。我注意到,如果堆空间不够大,无法进行 dexing,现在会出现警告。
正如他们在正确的页面 ( http://tools.android.com/recent ) 中所说的那样
In 2.0.0-alpha8 we've added some automatic diagnostics for this: if the build process is too small, we switch back to out-of-memory dexing and emit a build warning explaining how to bump up the Gradle daemon size. (We're also working on some additional related improvements for the next build after alpha8.)
当我开始构建我的项目时,我遇到了以下错误:
To run dex in process, the Gradle daemon needs a larger heap. It currently has 3641 MB. For faster builds, increase the maximum heap size for the Gradle daemon to more than 4g as specified in dexOptions.javaMaxHeapSize. To do this, set org.gradle.jvmargs=-Xmx4g as specified in dexOptions.javaMaxHeapSize in the project gradle.properties. For more information see https://docs.gradle.org/current/userguide/build_environment.html
实际上,我连续得到了很多这样的东西。这让我感到惊讶,因为这就是我在我的 gradle.properties 文件中看到的(在我的项目主目录中)
ANDROID_BUILD_TARGET_SDK_VERSION=23
ANDROID_BUILD_TOOLS_VERSION=23
ANDROID_BUILD_SDK_VERSION=23
ANDROID_BUILD_MIN_SDK_VERSION=16
org.gradle.jvmargs=-Xmx4g -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
另外,在我的主模块的 build.gradle 中,我把
android {
dexOptions {
incremental true
javaMaxHeapSize "4g"
}
}
所以我不明白构建器/dexer/编译器从哪里获得 3641MB 的值。
构建非常慢
我禁用了即时运行,现在速度更快了。构建需要 48-50 秒。我仍然遇到同样的错误,但只是一次,而且不是连续多次。
我在 Linux 上,我的 ulimit -a 如下:
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 31483
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 31483
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
此外,这是我的 studio.vmoptions 文件:https://gist.github.com/MarKco/1ae7918daf867a378a2f我猜它是未经编辑的。我可以定制一个,但我不知道它在哪里。
最佳答案
我已经解决了,至少看起来是这样。 我在发布问题之前所做的最后更改如下:
我有
ANDROID_BUILD_TARGET_SDK_VERSION=22
ANDROID_BUILD_TOOLS_VERSION=22
ANDROID_BUILD_SDK_VERSION=22
ANDROID_BUILD_MIN_SDK_VERSION=16
org.gradle.jvmargs=-Xmx4g -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
我把它改成了
ANDROID_BUILD_TARGET_SDK_VERSION=23
ANDROID_BUILD_TOOLS_VERSION=23
ANDROID_BUILD_SDK_VERSION=23
ANDROID_BUILD_MIN_SDK_VERSION=16
org.gradle.jvmargs=-Xmx4g -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
我不知道为什么它没有自动更改,因为我长期以来一直使用 23 作为目标版本。无论如何,在我从 22 更改为 23 之后,我还没有好的构建,但这似乎是由于 gradle sync 仍在后台运行。我杀死了所有 gradle 项目,将版本 23 保留在 22 的位置,禁用即时运行并执行新的同步。起初我一直看到“要在进程中运行 dex,Gradle 守护进程需要更大的堆”。错误,只有一次,不会像以前那样重复。但是一次又一次地构建,我看到构建时间越来越短,直到我得到一个 10 秒的构建。估计解决了我希望,至少。
附言最后我按照Henry说的修改了MaxPermSize,现在我的配置是
ANDROID_BUILD_TARGET_SDK_VERSION=23
ANDROID_BUILD_TOOLS_VERSION=23
ANDROID_BUILD_SDK_VERSION=23
ANDROID_BUILD_MIN_SDK_VERSION=16
org.gradle.jvmargs=-Xmx4g -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
关于带有 gradle 插件 2.0.0-alhpa8 的 Android studio 2.0 Preview 8,内存警告尽管堆大小为 4Gb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35063676/
似乎无法为此找到有效的答案。我正在阅读Rails教程的第10章第10.1.2节,但似乎无法使邮件程序预览正常工作。我发现处理错误的所有答案都与教程的不同部分相关,我假设我犯的错误正盯着我的脸。我已经完成并将教程中的代码复制/粘贴到相关文件中,但到目前为止,我还看不出我输入的内容与教程中的内容有什么区别。到目前为止,建议是在函数定义中添加或删除参数user,但这并没有解决问题。触发错误的url是http://localhost:3000/rails/mailers/user_mailer/account_activation.http://localhost:3000/rails/mai
我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie
文章目录写在前面1、下载与安装(windows)1.1、idea中配置gradle2、基础知识(Gradle6.9为例)2.1、Gradle脚本语法2.1.1、dependsOn2.1.2、创建动态任务2.1.3、增加任务行为2.1.4、参数2.1.5、Ant任务2.1.6、方法2.1.7、默认任务2.1.6、依赖任务的不同输出3、java项目中使用3.1、在已有项目中构建gradle3.2、在新建项目时构建gradle(idea)3.3、gradle项目目录结构3.4、build.gradle3.4.1、plugins3.4.2、repositories3.4.3、dependencies3
您好,我将其视为一个面试问题,并认为这是一个有趣的问题,但我不确定答案。最好的方法是什么? 最佳答案 假设*nix:system("sortoutput_file")“排序”可以使用临时文件来处理大于内存的输入文件。如果需要,它有开关来调整主内存的数量和它将使用的临时文件的数量。如果不是*nix,或者面试官因为斜着回答皱眉,那我就编码一个外部mergesort.请参阅@psyho的回答以获得外部排序算法的良好总结。 关于ruby-使用Ruby作为脚本语言,使用4gbRAM的计算机对30g
我尝试在CentOS5上运行Rails应用程序并不断收到thiserror:CouldnotfindaJavaScriptruntime.Seehttps://github.com/sstephenson/execjsforalistofavailableruntimes.(ExecJS::RuntimeUnavailable)我同时安装了NodeJS(v0.8.15)和therubyracer(libv8)。这是我的gemlist:***LOCALGEMS***actionmailer(3.2.9,3.2.8)actionpack(3.2.9,3.2.8)activemodel(3.
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Rails3.1andRuby1.9.3p125:ruby-debug19stillcrasheswith“Symbolnotfound:_ruby_threadptr_data_type”我在调试ruby1.9.3preview1版本时遇到了一些问题。我已经使用rvm和以下命令安装了1.9.3:rvminstall1.9.3--reconfigure--debug-C--enable-pthread并安装了ruby-debug19:geminstallruby-debug19----with-rub
我已经注册了一个MIME类型以允许Paperclip读取.docx文件的content_type作为application/vnd.openxmlformats-officedocument.wordprocessingml.document。但是在测试中,content_type仍被读取为application/zip。知道为什么吗?更令人沮丧的是,.pptx和.xlsxmime类型已经被注册,这些测试通过了(呃)。config/initializers/mime_types.rbMime::Type.register'application/vnd.openxmlformats-o
前一段时间由于工作需要把可爱的小雪狐舍弃了,找到了小蜜蜂。但是新版本的小蜜蜂出现了很多和旧版本不一样的位置。1.功能位置迁移,原来在工程build.gradle的buildscript和allprojects移动至setting.gradle并改名为pluginManagement和dependencyResolutionManagement。里面的东西依旧可以按照原来的copy过来。pluginManagement{repositories{gradlePluginPortal()google()mavenCentral()}}dependencyResolutionManagement{r
Aproblemoccurredconfiguringrootproject'MyApplication2'.>Couldnotresolveallfilesforconfiguration':classpath'. >Couldnotresolvecom.android.tools.build:gradle:7.4.2. Requiredby: project:>com.android.application:com.android.application.gradle.plugin:7.4.2 project:>com.android.library:com.andr
我刚刚尝试安装Ruby2.1,却安装了2.1Preview1。这对我来说似乎很疯狂。2.1出来了。当我说rvminstallruby-2.1.0时,为什么RVM会认为我真的的意思是rvminstallruby-2.1.0-预览1?为什么它不匹配我指定的精确版本,而不是以该子字符串开头的版本? 最佳答案 愚蠢的澄清问题(如果我有足够的声誉,我会把它作为评论发布),但是你最近更新了RVM了吗?rvmgetstable(或者如果你想生活在边缘,rvmgethead)我预计会更新已发布的ruby版本的内部列表。