发现无法将android studio 2.0更新为2.1

时间:2016-05-11 04:45:17

标签: android android-studio intellij-idea

我一直在尝试将Android工作室从2.0升级到2.1并且已经没有想法了。我得到了

java.lang.OutOfMemoryError: Java heap space

错误。我已经尝试过寻找解决方案并尝试过这样的解决方案而没有任何乐趣:

StackOverFlow Answer

Tech-Docs from Google

这是我收到的完整错误:

Temp. directory: C:\Users\Aaron\AppData\Local\Temp\
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:3236)
at java.io.ByteArrayOutputStream.grow(ByteArrayOutputStream.java:118)
at java.io.ByteArrayOutputStream.ensureCapacity(ByteArrayOutputStream.java:93)
at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:153)
at com.intellij.updater.Utils.copyStream(Utils.java:165)
at ie.wombat.jbdiff.JBPatch.bspatch(JBPatch.java:83)
at com.intellij.updater.BaseUpdateAction.applyDiff(BaseUpdateAction.java:112)
at com.intellij.updater.UpdateAction.doApply(UpdateAction.java:44)
at com.intellij.updater.PatchAction.apply(PatchAction.java:184)
at com.intellij.updater.Patch$3.forEach(Patch.java:308)
at com.intellij.updater.Patch.forEach(Patch.java:360)
at com.intellij.updater.Patch.apply(Patch.java:303)
at com.intellij.updater.PatchFileCreator.apply(PatchFileCreator.java:84)
at com.intellij.updater.PatchFileCreator.apply(PatchFileCreator.java:75)
at com.intellij.updater.Runner.doInstall(Runner.java:280)
at com.intellij.updater.Runner.access$000(Runner.java:17)
at com.intellij.updater.Runner$1.execute(Runner.java:246)
at com.intellij.updater.SwingUpdaterUI$5.run(SwingUpdaterUI.java:191)
at java.lang.Thread.run(Thread.java:745)

我已通过转到帮助>在正确的目录中创建了.vmoptions文件。编辑自定义VM选项。创建的文件名为studio64.exe.vmoptions,以防我在编辑一行后对该文件的内容感兴趣:

# custom Android Studio VM options

#
# *DO NOT* modify this file directly. If there is a value that you would like to    override,
# please add it to your user specific configuration file.
#
# See http://tools.android.com/tech-docs/configuration
#
-Xms256m
-Xmx2048m //Edited Line
-XX:MaxPermSize=350m
-XX:ReservedCodeCacheSize=240m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-da
-Djna.nosys=true
-Djna.boot.library.path=

-Djna.debug_load=true
-Djna.debug_load.jna=true
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-XX:+HeapDumpOnOutOfMemoryError
-Didea.paths.selector=AndroidStudio2.0
-Didea.platform.prefix=AndroidStudio

我之前无法从1.5更新到2.0,并且必须进行全新安装,但这对于18MB的补丁文件来说非常繁琐。

最后,我认为是一系列与android相关的安装文件夹,我认为这是一个有点随机的地方。不知道这是我在安装过程中做的还是安卓机器人:

Installation

编辑:

这是我在更新之前提供的通知。你可以看到它来自稳定的渠道。

Updating

有足够的备用内存,以防我需要指出这一点。

为任何帮助欢呼。

3 个答案:

答案 0 :(得分:6)

我终于解决了这个问题。

在几乎放弃之后,我回到了我正在研究的项目,并注意到当我编译正在运行的应用程序时,我得到了18个相同错误的实例。这个错误与_JAVA_OPTIONS_ -Xmx512m一致,我在创建的文件中设置了自定义VM选项,这个值设置为-Xmx2048m

这让我觉得由于某种原因,这个VM选项可能因为前面一个安装文件夹中的studio64.exe.vmoptions文件而被识别。我查看了这些文件夹,并注意到另一个具有此名称的文件!我删除了重新运行应用程序,但仍然得到相同的错误。

这时我记得我在一年前创建了一个环境变量,当时我刚刚开始使用Java,而我正在使用的这本书帮助解决这个问题。建议在文本编辑器中编写所有程序以开始使用AND通过Windows中的高级选项设置环境变量。那个环境变量仍然存在,并且看起来设置为512m:

1

其他任何认为他们可能已经完成此操作的路径 Control Panel » System » Advanced » Environment Variables

删除此环境变量并在更新前测试水 - 重新启动应用程序,此时没有收到任何错误。停止运行应用程序,尝试在45日更新到2.1.1并且很高兴最后一次。

道歉没有包含问题中缺失的信息,但你可能会欣赏,它可能很容易让任何人想到。

答案 1 :(得分:3)

基于堆栈跟踪 - 您只需要自定义VM选项,如下所示。

-Xms128m
-Xmx4096m
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=200m
-XX:+UseCompressedOops
-XX:+UseConcMarkSweepGC
-XX:+CMSClassUnloadingEnabled
-XX:+CMSPermGenSweepingEnabled 
-XX:+HeapDumpOnOutOfMemoryError

您提到的位置是Windows操作系统的默认位置。

默认情况下,您会在这些文件夹中找到Android Studio(除非您已自定义),这取决于您使用的操作系统:

  Windows中的

应该在c:\ user \ yourname.AndroidStudio2.0

中      Linux中的

应该在/home/yourname/.AndroidStudio2.0

中      Mac中的

应该在〜/ Library / Preferences / .AndroidStudio2.0

你还可以做的是 -

一个。全新安装Android Studio 2.0。

湾从先前版本导出设置 - (将为所有配置创建.jar文件)

℃。导入较新版本的设置。

答案 2 :(得分:0)

删除.gradle文件,然后尝试更新到2.1它可能有效