我刚刚更新到Android Studio版本2.0预览版8和gradle插件2.0.0-alpha8.我注意到现在有一个警告,以防堆空间不足以进行dexing.
正如他们在正确的页面中所说的那样(http://tools.android.com/recent)
在2.0.0-alpha8中,我们为此添加了一些自动诊断:如果构建过程太小,我们会切换回内存不足并发出构建警告,说明如何提高Gradle守护程序的大小.(我们还在为alpha8之后的下一个版本进行一些额外的相关改进.)
当我构建我的项目时,我收到以下错误:
要在进程中运行dex,Gradle守护程序需要更大的堆.它目前有3641 MB.对于更快的构建,请将Gradle守护程序的最大堆大小增加到4x以上,如dexOptions.javaMaxHeapSize中所指定.为此,请在项目gradle.properties中的dexOptions.javaMaxHeapSize中指定org.gradle.jvmargs = -Xmx4g.有关更多信息,请参阅 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
Run Code Online (Sandbox Code Playgroud)
另外,在我的主模块的build.gradle中,我放了
android {
dexOptions {
incremental true
javaMaxHeapSize "4g"
}
}
Run Code Online (Sandbox Code Playgroud)
所以我不明白构建器/ 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 …Run Code Online (Sandbox Code Playgroud) 我正在尝试将ShowcaseView引入我的Android项目.我从GitHub分叉了repo并尝试运行演示应用程序,但由于Java Heap错误而无法运行.
Unable to execute dex: Java heap space
Run Code Online (Sandbox Code Playgroud)
我试图增加Eclipse和RunConfiguration内存堆,但无法解决问题.我也没有几个月的Java堆空间错误,所以我想知道是否存在某种类型的循环产生过多的RAM请求.
由于导入项目不起作用,但构建确实有效,我尝试直接在项目的libs文件夹中导入ShowcaseView库JAR文件.我的项目运行但有一个
java.lang.NoClassDefFoundError: com.github.espiandev.showcaseview.R$styleable
Run Code Online (Sandbox Code Playgroud)
我能做什么?有没有人遇到过这种问题?我真的很喜欢这个库,并希望在我的项目中有这个功能,但是我对这个问题非常困惑: - /
先感谢您
我有一个托管在 Dropbox 文件夹中的 Mercurial Dropbox,我从办公室 PC 中保存的另一个存储库推送该文件夹。通过这种方式,我可以在办公室处理我的项目并在家中执行修补程序。
同步时发生了一些问题,因此文件未正确同步到某处。我有一个修订版(n.678),我无法与实际的头合并。
如果我尝试合并,我会收到此消息
中止:data/hotelsclick/src/main/res/values/string-array.xml.i@5f2b6faa86a1:找不到匹配项!
如果我尝试使用hg strip 678删除那个无用的修订版本,我得到
中止:data/hotelsclick/src/main/res/values/string-array.xml.i@5f2b6faa86a1:没有节点!
如果我执行hg 验证这就是结果
Run Code Online (Sandbox Code Playgroud)checking files [...]/src/main/res/values/string-array.xml@678: 5f2b6faa86a1 in manifests not foundlibs/date-interval-picker/.git/index@678: 清单中的 a83e1b77d446 未找到 8009 个文件、681 个变更集、14161 个总修订版本 遇到 2 个完整性错误!(第一个损坏的变更集似乎是 678)
如果我尝试推动怎么办?
搜索更改中止:推送创建新的远程头 16c4912af9a5!(合并或查看“hg help push”了解推送新头的详细信息)
所以我无法合并,无法删除该修订版,无法推送。我很困惑,我不知道为什么。有人可以帮忙吗?我不关心修订版678的内容,如果可以的话我会很乐意删除它。
我需要扩展Activity而不是ActionBarActivity或AppCompatActivity才能使用第三方库.
在所有应用程序中,我一直在使用AppCompatActivity以便在其中轻松添加工具栏,但是如果我扩展Activity,显然我不能这样做.我也很高兴有一个ActionBar:它不一样,但它总比没有好.不过,我不知道怎么做: - /
你对我有什么建议吗?我知道这可能是一个愚蠢的问题,但我只是不知道如何使这项工作......
android android-appcompat android-activity android-actionbar android-toolbar