2016-01-28 6 views
6

पर ढेर आकार के बावजूद स्मृति चेतावनी, मैंने अभी एंड्रॉइड स्टूडियो संस्करण 2.0 पूर्वावलोकन 8 और प्लगइन 2.0.0-alpha8 को नवीनीकृत किया है। मैंने देखा कि अब ढेर के लिए ढेर की जगह पर्याप्त नहीं है, तो चेतावनी है।एंड्रॉइड स्टूडियो 2.0 पूर्वावलोकन 8 ग्रेडल प्लगइन 2.0.0-alhpa8 के साथ, 4 जीबी

वे उचित पेज में कहते हैं के रूप में (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 फ़ाइल में क्या देखते हैं (अपने प्रोजेक्ट घर dir में)

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" 
    } 
} 

तो डाल मुझे समझ में नहीं आता कि बिल्डर/डेक्सर/कंपाइलर को 3641 एमबी मूल्य कहाँ मिल रहा है।

बनाता

मैं विकलांग तत्काल रन बेहद धीमी गति से कर रहे हैं और अब चीजें तेजी से कर रहे हैं। एक निर्माण के लिए 48-50 सेकंड। मुझे अभी भी एक ही त्रुटि मिलती है लेकिन एक पंक्ति में कई बार और कई बार नहीं।

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 फ़ाइल है::

मैं लिनक्स पर हूँ, मेरी ulimit -एक निम्नलिखित है https://gist.github.com/MarKco/1ae7918daf867a378a2f मुझे लगता है कि यह गैर-संपादित है। मेरे पास एक कस्टम हो सकता है, लेकिन मुझे नहीं पता कि यह कहां हो सकता है।

+0

आप किस ओएस पर हैं? अपने ulimit – RaGe

+0

जांचें मैं लिनक्स पर हूं, और मेरा पूरा उलझन शामिल करने के लिए प्रश्न संपादित किया। –

+0

-XX: MaxPermSize = 4096m: मुझे संदेह है कि आपको वास्तव में उस परम जन स्पेस की आवश्यकता है। – Henry

उत्तर

3

मुझे यह हल हो गया, या ऐसा लगता है।

मैं

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 में बदल गया, तब तक मेरे पास अभी तक अच्छा निर्माण नहीं हुआ था, लेकिन ऐसा लगता है कि पृष्ठभूमि में अभी भी एक क्रमिक सिंक चल रहा है। मैंने सभी ग्रेडल परियोजनाओं को मार दिया, 22 के स्थान पर संस्करण 23 रखा, तत्काल रन अक्षम कर दिया और एक नया सिंक्रनाइज़ेशन किया। सबसे पहले मैंने "प्रक्रिया में डीएक्स चलाने के लिए, ग्रैडल डिमन को एक बड़े ढेर की जरूरत है।" त्रुटि, सिर्फ एक बार और दोहराया नहीं गया जैसा कि पहले हुआ था। लेकिन निर्माण के बाद निर्माण मैंने देखा कि निर्माण के समय कम हो रहे हैं, जब तक कि मुझे 10 सेकंड का निर्माण न हो जाए। मुझे लगता है कि यह हल हो गया है। मुझे उम्मीद है, कम से कम।

पीएस अंत में मैंने हेनरी के अनुसार मैक्सपर्मसाइज को बदल दिया, अब मेरी कॉन्फ़िगरेशन

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 
संबंधित मुद्दे