2016-05-11 67 views
5

Tôi đã cố gắng cập nhật android studio lên 2.1 từ 2.0 và đã hết ý tưởng. Tôi nhận được một số điện thoạiTìm không thể cập nhật studio android 2.0 lên 2.1

java.lang.OutOfMemoryError: Java heap space 

. Tôi đã thử Goggling để tìm ra giải pháp và đã thử cái như thế này không có niềm vui:

StackOverFlow Answer

Tech-Docs from Google

Đây là lỗi đầy đủ Tôi nhận:

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) 

tôi đã tạo tệp .vmoptions trong thư mục chính xác bằng cách đi tới Trợ giúp> Chỉnh sửa tùy chọn VM tùy chỉnh. Các tập tin được tạo ra được đặt tên studio64.exe.vmoptions trong trường hợp đó là của bất cứ quyền lợi các nội dung của tập tin này sau khi tôi chỉnh sửa một dòng là:

# 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 

tôi đã gặp khó khăn cập nhật 1,5-2,0 trước cũng và phải làm sạch cài đặt nhưng đó là rất tẻ nhạt cho một tập tin vá 18MB.

Cuối cùng, đây là những gì tôi nghĩ là một loạt các thư mục cài đặt liên quan đến android theo những gì tôi nghĩ là một điểm hơi ngẫu nhiên. Không biết nếu đó là việc của tôi trong quá trình cài đặt hoặc android:

Installation.

Chỉnh sửa:

Đây là thông báo mà tôi đã trình bày trước khi cập nhật. Như bạn có thể thấy nó đến từ kênh ổn định.

Updating.

Có rất nhiều bộ nhớ rảnh trong trường hợp tôi cần chỉ ra điều đó.

Cổ vũ để được trợ giúp.

+0

bạn đã thử tải xuống android studio 2.1 từ kênh ổn định thay vì cập nhật từ 2.0 lên 2.1 chưa? – Bhargav

+0

@Bhargav Vâng, hãy xem chỉnh sửa. – COYG

+0

Không có ý tôi là thay vì cập nhật? tại sao không tải xuống phiên bản 2.1 tách biệt khỏi kênh ổn định – Bhargav

Trả lời

6

cuối cùng tôi giải quyết được vấn đề, chỉ là bây giờ.

Sau khi gần như từ bỏ, tôi đã quay trở lại dự án mà tôi đang làm việc và nhận thấy rằng tôi đã nhận được 18 trường hợp của cùng một lỗi khi tôi đang biên soạn một ứng dụng đang hoạt động. Lỗi này nằm dọc theo dòng _JAVA_OPTIONS_ -Xmx512m điều kỳ lạ về điều này là trong tệp tôi đã tạo để đặt tùy chọn VM tùy chỉnh giá trị này được đặt tại -Xmx2048m.

Điều này khiến tôi nghĩ rằng vì một số lý do tùy chọn VM này không được nhận dạng có thể do tệp studio64.exe.vmoptions ở một trong các thư mục cài đặt Android trước đó. Tôi đã xem các thư mục này và đã nhận thấy một tệp khác có tên này! Tôi đã xóa đã chạy lại ứng dụng nhưng vẫn gặp lỗi tương tự. Đây là lúc tôi nhớ rằng tôi đã tạo một biến môi trường hơn một năm trước khi tôi chỉ mới bắt đầu trên Java và cuốn sách tôi đang sử dụng để giúp nắm bắt nó, khuyên bạn nên viết tất cả các chương trình trong trình soạn thảo văn bản để bắt đầu với AND để đặt biến môi trường thông qua các tùy chọn nâng cao trong cửa sổ. Vâng đó biến môi trường là vẫn còn hiện diện và lo and behold đặt ở 512M:

1

(Đường dẫn cho bất kỳ ai khác nghĩ rằng họ có thể làm điều nàyControl Panel » System » Advanced » Environment Variables)

Deleted biến môi trường này và kiểm tra nước trước khi cập nhật - khởi động lại ứng dụng mà không gặp lỗi nào trong lần này. Ngừng chạy ứng dụng, cố gắng cập nhật lên 2.1.1 cho lần thứ 45 và sẵn sàng cho lần cuối cùng.

Xin lỗi vì không bao gồm thông tin còn thiếu trong câu hỏi nhưng vì bạn có thể đánh giá cao, nó có thể dễ dàng lọt vào tâm trí của bất kỳ ai.

2

Dựa trên dấu vết ngăn xếp - bạn chỉ cần tùy chỉnh các tùy chọn VM như dưới đây.

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

Vị trí bạn đã đề cập là vị trí mặc định cho hệ điều hành windows.

Bạn sẽ tìm thấy Android Studio trong các thư mục mặc định (trừ khi bạn đã tùy chỉnh nó) dựa trên hệ điều hành bạn đang sử dụng:

trong Windows phải ở trong C: \ user \ yourname.AndroidStudio2.0

trong Linux phải ở trong /home/yourname/.AndroidStudio2.0

trong Mac phải ở trong ~/Library/Preferences/.AndroidStudio2.0

Ngoài ra, những gì bạn có thể làm là-

a. cài đặt mới Android Studio 2.0.

b.thực hiện cài đặt xuất từ ​​phiên bản trước- (sẽ tạo tệp .jar cho tất cả cấu hình)

c. nhập cài đặt trong phiên bản mới hơn.

+0

Đã thử bước đầu tiên bạn đã đề cập, kiểm tra sự khác biệt trong dấu vết ngăn xếp từ bản gốc nhưng nó giống hệt nhau.Sẽ thử một vài thứ khác trước khi tôi cài đặt mới! – COYG

+0

Bạn cũng có thể đặt biến môi trường JAVA_OPTS để xử lý kích thước heapjava. Thêm điều này dưới dạng biến môi trường cũng như bạn có thể định nghĩa một dòng cấu hình trong tệp startup.bat. Thêm dòng sau vào tệp startup.bat. đặt JAVA_OPTS = -Xms128m -Xmx4096m –

+0

Được quản lý để sửa lỗi, đã đăng câu trả lời để hiển thị những gì đã xảy ra! Chúc mừng sự giúp đỡ. – COYG

0

Xóa tập tin .gradle và sau đó cố gắng cập nhật lên 2.1 nó có thể làm việc

Các vấn đề liên quan