অ্যান্ড্রয়েড স্টুডিও গ্রেডল বিল্ড স্পিড


163

সর্বশেষ আপডেট (জুন 25 থেকে বিল্ড) এন্ড্রয়েড স্টুডিও গ্রেডলে কোনও পরিবর্তন বেদনাদায়কভাবে ধীরে ধীরে। আপনি ফাইলটি সম্পাদনা করার সময় এবং কীআপে পুনরায় সংকলন করার সময় এটির পরিবর্তনগুলি অটট্র্যাক করে বলে মনে হয়।

প্রতিটি পরিবর্তন আমার আই 5 এ কয়েক মিনিট সময় নেয়।

কোনও ধারণা কীভাবে আমি আমার গ্র্যাডলের পরিবর্তনগুলি দ্রুততর করতে পারি?



1
উত্তর এবং প্রশ্নটি পড়তে যারা সময় দেয় তাদের জন্য, এটি ডেভ জার্ভিসের পরামর্শ অনুসারে, এটি কোনও সদৃশ প্রশ্ন নয়। তবে এটি এএস এর একটি পুরানো বিটা সংস্করণের সাথে অত্যন্ত সম্পর্কিত এবং সম্ভবত বর্তমান সংস্করণগুলিতে তেমন কোনও ফল হয় না।
আইনার সুন্দরগ্রেন


উত্তর:


41

দেব এটিতে কাজ করছেন। আমি এই উত্তরে পোস্ট করার মতো এখনই দ্রুত সমাধান হ'ল কমান্ড লাইন থেকে গ্রেড ব্যবহার করা এবং আপনার বিকাশ না হওয়া সমস্ত মডিউলগুলির জন্য আপনার বাইনারি লিবসে স্যুইচ করা উচিত। জি + তে এটি সম্পর্কে বিকাশকারীদের সাথে আলোচনা রয়েছে।


আমার অবশ্যই স্পষ্টতই সরঞ্জাম আলোচনার গ্রুপে যোগ দেওয়া উচিত ছিল।
আইনার সুন্দরগ্রেন

99

নিশ্চিতভাবেই একটি পার্থক্য রয়েছে: কীভাবে… গ্রেডল গড়ার সময় গতি বাড়ায়

gradle.propertiesনিম্নলিখিত ডিরেক্টরিতে কেবল একটি ফাইল তৈরি করুন :

/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)

এই লাইনটি ফাইলটিতে যুক্ত করুন:

org.gradle.daemon=true

2
ভাল উত্তর. আরও এবং বিস্তারিত পড়ার জন্য, এই এসও উত্তরটি দেখুন।
সুফিয়ান

12
আপনার লিঙ্ক থেকে: "দ্রষ্টব্য: এটি কেবল কনসোল বিল্ডগুলিকেই প্রভাবিত করে Android
চিফ টুপেনসিলস

2
আমার গ্রেডল ডিরেক্টরি রয়েছে গ্রেড.প্রোপার্টি ফাইল সহ। তবে তবুও এটি অনেক সময় নেয়। যে কোনও পরামর্শ
CoDe

4
কোনও পার্থক্য তৈরি করে না
ভ্লাদো পান্ডিয়

এবং পরিবর্তনের পরে অ্যান্ড্রয়েড স্টুডিও পুনরায় চালু করুন।
ইমান মারাশী

78

এই সেটিংস পরিবর্তন করার পরে আমার সংকলনের সময় 10 মিনিট 10 সেকেন্ডে হ্রাস পেয়েছে।

ধাপ 1:

সেটিংস (ctrl + Alt + S) ->

নির্মাণ, সম্পাদন, স্থাপনা ->

সংকলক ->

--offlineকমান্ড-লাইন বিকল্প বাক্সে " " টাইপ করুন ।

ধাপ ২:

"সমান্তরালে স্বতন্ত্র মডিউলগুলি সঙ্কলন করুন" চেকবক্সটি দেখুন।

& প্রয়োগ -> ঠিক আছে ক্লিক করুন

এখানে চিত্র বর্ণনা লিখুন

পদক্ষেপ 3: আপনার গ্রেড.প্রোপার্টি ফাইলে -> নিম্নলিখিত লাইনগুলি যুক্ত করুন

org.gradle.jvmargs=-Xmx2048M -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.configureondemand=true
org.gradle.daemon=true

হালনাগাদ:

যদি আপনি অ্যান্ড্রয়েড স্টুডিও ২.০ বা তার বেশি ব্যবহার করে থাকেন তবে ইনস্ট্যান্ট রান চেষ্টা করুন

সেটিংস → বিল্ড, এক্সিকিউশন, স্থাপনা → তাত্ক্ষণিক চালান ant তাত্ক্ষণিক রান সক্ষম করুন।

তাত্ক্ষণিক রান সম্পর্কে আরও তথ্য - https://developer.android.com/studio/run/index.html#instant-run


6
আমি এটি চেষ্টা করেছি এবং এটি সত্যিই আমার বিল্ডটিকে যথেষ্ট গতিময় করেছে। আমি জানি যে বিকল্পটি এখন এটি অফলাইন তৈরির কারণ হবে, এই অফলাইনটি তৈরিতে কোনও অসুবিধা আছে কি?
সাইমন

5
@ সিমন - অসুবিধাটি হ'ল আপনি নিজের বিল্ড.gradle ফাইলে সনাক্ত করা নির্ভরতার সর্বশেষতম সংস্করণগুলি সরাতে পারবেন না। এটি দ্রুত চালিত হয় কারণ এটি আমদানিকৃত লাইব্রেরির ক্যাশেড স্ন্যাপশট ব্যবহার করে। কিছু ডেভসগুলির জন্য, স্থিতিশীলতা সর্বশ্রেষ্ঠ তবে অবশেষে অনলাইনে যাওয়ার সময় অফলাইনে যাওয়ার সময় তাদের উপর নজর দিতে পারে এবং সেই নির্ভরতাগুলি এইভাবে প্রজেক্টটি পিছনে রেখে বিবর্তিত হয়েছে।
ল্যাপসাকে

1
ধন্যবাদ ভাই এইটি আমার পক্ষে ভাল কাজ করেছে এবং আমার গ্রেড তৈরির গতি বৃদ্ধি পেয়েছে
Android_programmer_office

@ সিমন, আপনি যখন বিকাশ শুরু করেন, আপনি কেবল উপরের সেটিংসটি সেট করতে পারেন, তারপরে একবার থামুন, রাত শেষ হওয়ার সাথে সাথে এগুলি বন্ধ করে দিন, অ্যাপ্লিকেশনটি শেষ বার চালানো যাতে সবকিছু এখনও সিঙ্কে থাকে। নাকি এ নিয়ে কোনও সমস্যা হবে?
সুরন

1
এটি 33 সেকেন্ড থেকে 5 সেকেন্ডে হ্রাস পেয়েছে :))
মিরন

62

অ্যান্ড্রয়েড স্টুডিওতে গ্রেড.প্রোপার্টি ফাইলটিতে নিম্নলিখিতটি যুক্ত করে আমি আমার পুরাতন কোর টুডুও ল্যাপটপটিতে (চলমান লিনাক্স পুদিনা) আমার গ্রেড বিল্ডটি 43 সেকেন্ড থেকে 25 সেকেন্ডে কমিয়ে আনতে সক্ষম হয়েছি

org.gradle.parallel=true
org.gradle.daemon=true

ডিমন সেটিং কেন দ্রুত তৈরি করে তার উত্স: https://www.timroes.de/2013/09/12/speed-up-gradle/


3
আপনার লিঙ্ক থেকে: "দ্রষ্টব্য: এটি কেবল কনসোল বিল্ডগুলিকেই প্রভাবিত করে Android
চিফ টুপেনসিলস

2
সমান্তরাল বিকল্পটি AS তে আমার বিল্ডকে উন্নত করেছে। আপনাকে ধন্যবাদ :)
jonathanrz

3
সমান্তরাল বিকল্পটি আমার বিল্ডটির উন্নতি করতে পারেনি।
ভ্লাদো পান্ডিয়

ধন্যবাদ। এই সমাধানটি আমার নির্মানের সময়টি 7 মিনিট থেকে 23 সেকেন্ডে তৈরি করেছে ...
বিগনেশ বালা

থেঙ্কস আমার বিল্ডটি দুই মিনিট থেকে ৩ সেকেন্ড পর্যন্ত তৈরি করেছে
পৌয়া সামি

12

পদক্ষেপগুলি অনুসরণ করা এটি 10 ​​গুণ দ্রুত এবং বিল্ড সময় 90% হ্রাস করবে

প্রথমে নিম্নলিখিত ডিরেক্টরিতে গ্রেডেল.প্রোপার্টি নামে একটি ফাইল তৈরি করুন:

/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)

এই লাইনটি ফাইলটিতে যুক্ত করুন:

org.gradle.daemon=true
org.gradle.parallel=true

এবং অ্যান্ড্রয়েড স্টুডিওতে এই বিকল্পগুলি পরীক্ষা করে দেখুন

এখানে চিত্র বর্ণনা লিখুন

এখানে চিত্র বর্ণনা লিখুন


7

গ্রেডেলের নতুন সংস্করণ রয়েছে (ভার্স 2.4)।

আপনি ফাইল মেনু থেকে 'প্রকল্প কাঠামো' ডায়ালগ খোলার মাধ্যমে আপনার প্রকল্পের জন্য এটি সেট করতে পারেন,

Project Structure -> Project -> Gradle version

এবং এটি '2.4' এ সেট করুন।
আপনি এই লিঙ্কটিতে কর্মক্ষমতা বাড়ানোর বিষয়ে আরও পড়তে পারেন ।


2
ধন্যবাদ, গ্রেডল সংস্করণ 2.4 প্রায় 14 ডলার সাশ্রয় করেছে।
মিয়াও 1007

5
এটি আমার নির্মাণের সময়কে আরও দীর্ঘ করে দিয়েছে
এজেনার হামুটো

6

অ্যান্ড্রয়েড স্টুডিও 2.1 এর সাহায্যে আপনি দ্রুত অ্যাপ্লিকেশন তৈরির জন্য "ডেক্স ইন প্রসেস" সক্ষম করতে পারেন।

এখানে চিত্র বর্ণনা লিখুন

আপনি এ সম্পর্কে আরও তথ্য পেতে পারেন: https://medium.com/google-developers/faster-android-studio-builds-with-dex-in-process-5988ed8aa37e#.vijksflyn


6

এটি আমিই করেছি এবং আমার গ্রেড বিল্ডের গতি নাটকীয়ভাবে উন্নত হয়েছে! প্রথম বিল্ডের জন্য 1 মিনিট থেকে 20 সেকেন্ড এবং সফল বিল্ডগুলি 40 সেকেন্ড থেকে 5 সেকেন্ডে পরিণত হয়েছিল।

ইন gradle.properties ফাইলটি এই যোগ করুন

org.gradle.jvmargs=-Xmx8192M -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

ইন কমান্ড লাইন আর্গুমেন্ট এবং ফাইল> অন্যান্য সেটিংস> ডিফল্ট সেটিংস> সংগ্রহ করতে, এক্সিকিউশন, স্থাপন> Complier যান মাধ্যমে ব্যবহারযোগ্য কমান্ড লাইন আর্গুমেন্ট করার জন্য নিম্নলিখিত আর্গুমেন্ট যোগ

এটি যুক্ত করুন:

--debug --stacktrace -a, --no-rebuild -q, --quiet --offline

এখানে চিত্র দেখুন


6

অ্যান্ড্রয়েড বিকাশ করার সময় কেবলমাত্র 8 গিগাবাইট র‌্যাম থাকা ম্যাক / পিসি ব্যবহার এড়াতে চেষ্টা করুন। আপনি এমনকি 1 টি এমুলেটর (জিনোমোশন বা অন্যথায়) চালু করার সাথে সাথে গ্রেড বিল্ড সহ অ্যান্ড্রয়েড স্টুডিওতে আপনার বিল্ডিং সময়গুলি অত্যন্ত ধীর হয়ে যায়। আপনি যদি 1 উত্স ফাইলে একটি সাধারণ এক-লাইন পরিবর্তন করেন এমনকি এটি ঘটে।

এমুলেটরটি বন্ধ করা এবং একটি সত্যিকারের ডিভাইস ব্যবহার করা অনেক সহায়তা করে তবে অবশ্যই এটি খুব সীমাবদ্ধ এবং কম নমনীয়। এমুলেটরের র‍্যাম ব্যবহারের সেটিং হ্রাস করা সহায়তা করতে পারে তবে সবচেয়ে ভাল উপায় হ'ল আপনার ল্যাপটপে কমপক্ষে 12-16 গিগাবাইট র‌্যাম রয়েছে তা নিশ্চিত করা।

আপডেট (জুন 2017): এখন বেশ কয়েকটি ভাল মিডিয়াম ডটকম নিবন্ধ রয়েছে যা ব্যাখ্যা করে যে কীভাবে অ্যান্ড্রয়েড স্টুডিও গ্রেডলগুলি কীভাবে তৈরি করা যায় তা বিস্তারিতভাবে বর্ণনা করা যায় এবং এটি 8 জিবি মেশিনেও কাজ করে:

সংক্ষিপ্ত আকারে sensক্যমত্যটি হ'ল:

একটি তৈরি করুন gradle.properties ফাইল (হয় বিশ্বব্যাপী ~/.gradle/gradle.propertiesবা প্রকল্প স্থানীয়), এবং নিম্নলিখিত পংক্তিগুলি যোগ করুন:

org.gradle.daemon=true
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.configureondemand=true

4
  1. অফলাইন কাজ সক্ষম করুন

  2. নিম্নলিখিত কোড যুক্ত করে গ্রেডল পারফরম্যান্স উন্নত করুন gradle.properties

org.gradle.daemon = সত্য
org.gradle.parallel = সত্য

ধাপে ধাপে গাইড: http://www.viralandroid.com/2015/08/how-to-make-android-studio- ব্রেকফাস্ট.html


আসুন এই উত্তরগুলি বৈচিত্র্যপূর্ণ রাখি এবং ওপি প্রশ্নের বিবরণগুলিতে ফোকাস করি। পুনরায়: স্ট্যাকওভারফ্লো . com / a / 34828203 ... স্ট্যাকওভারফ্লো . com / a / 34827929 ... স্ট্যাকওভারফ্লো . com / a / 34827858 ... স্ট্যাকওভারফ্লো . com/ a/ 34827827 ... স্ট্যাকওভারফ্লো . com
ড্র হয়েছে

4
dexOptions {
    incremental true
    javaMaxHeapSize "4g"
}

1
'ইনক্রিমেন্টাল ট্যুর' অ্যান্ড্রয়েড স্টুডিও 2018 এ অপ্রচলিত
ম'ইক কোডার

এটি পোস্ট করা হয়েছিল 2 বছর আগে।
অনুপম চুগ

আমি জানি, আমি এটি কেবলমাত্র তাদের জন্য
বলেছিলাম

3

উইকিমিডিয়া অ্যাপ্লিকেশনগুলির অ্যান্ড্রয়েড টিমের এই পৃষ্ঠাটির সাথে সঙ্গতি রেখে গ্রেডল বিল্ডগুলি অনুকূল করার একটি ভাল উপায় আপনার লাইনগুলিকে আপনার। / .Gradle / গ্রেডল.প্রপ্রেটিসে যুক্ত করছে

org.gradle.daemon=true                                                          
org.gradle.parallel=true
org.gradle.configureondemand=true
org.gradle.jvmargs=-Xmx2048M

যাদের ফাইল নেই তাদের পক্ষে এটি করার দুটি উপায় রয়েছে:

  1. আপনার প্রকল্পে স্থানীয়ভাবে ফাইল যুক্ত করুন প্রকল্পের মূলটিতে গ্রেড.প্রোপার্টি নামে একটি ফাইল তৈরি করে বা,

  2. আপনি আপনার হোম ডিরেক্টরিতে একই ফাইল তৈরি করে আপনার সমস্ত প্রকল্পের জন্য বিশ্বব্যাপী সেট করতে পারেন ( উইন্ডোজে % ইউজারপ্রাইফিল%। গ্রেডেল , লিনাক্স এবং ম্যাক ওএস এক্সে rad /। গ্রেডল )

    এটা একটা হয় ভাল অভ্যাস বরং একটি প্রকল্প স্তরের উপর চেয়ে আপনার home ডিরেক্টরিতে বিশিষ্টতাগুলি সেট করার জন্য।


2

আরও ভাল পারফরম্যান্সের জন্য আপনি কমান্ড লাইনও ব্যবহার করতে পারেন lin আপনি <task name>লিনাক্স থেকে আপনার প্রকল্পের মূল ফোল্ডারের ভিতরে থেকে। / গ্রেডলিউ ব্যবহার করতে পারেন বা গ্রেডলও.ব্যাট ফাইল গ্রেডলিউর মতো ব্যবহার করতে পারেন You<task name> যখন তুমি প্রথম একটি প্রদত্ত Gradle জন্য উপরের কমান্ড এক চালানোর সংস্করণ, এটি সম্পর্কিত গ্রেডল বিতরণ ডাউনলোড করবে এবং বিল্ডটি কার্যকর করতে এটি ব্যবহার করবে।

গ্রেডল প্রকল্পটি তার মোড়কের মাধ্যমে আমদানি করার সময়, আপনার আইডিই গ্রেডল 'সমস্ত' বিতরণটি ব্যবহার করতে বলতে পারে। এটি পুরোপুরি ঠিক আছে এবং IDE কোডগুলি বিল্ড ফাইলগুলির জন্য সম্পূর্ণকরণ সরবরাহ করতে সহায়তা করে। কেবল এর অর্থই এই নয় যে আপনাকে নিজেরাই গ্র্যাডল নিজেই ইনস্টল করতে হবে না, তবে আপনি গ্র্যাডলের যে সংস্করণটি বিল্ডটির জন্য ডিজাইন করা হয়েছে তা ব্যবহার করতেও নিশ্চিত। এটি আপনার historicalতিহাসিক বিল্ডগুলি আরও নির্ভরযোগ্য করে তোলে। আরও তথ্যের জন্য রেফার সহ একটি বিল্ড নির্বাহ করুন uting


2

দ্রুত বিল্ডগুলির জন্য, গ্রেডল ডিমনের জন্য সর্বোচ্চ গাদা আকারটি 2048 এমবি থেকে বেশি বাড়ান । প্রকল্প গ্রেড.প্রোপার্টিতে

এই সেটটি করতে ।
org.gradle.jvmargs=-Xmx2048M


1

একটি build.gradleফাইল যুক্ত করুন:

android {
...
dexOptions {
        javaMaxHeapSize "4g" //specify the heap size for the dex process
    }
...
}

আমি আসা করি এটা সাহায্য করবে.


1

আমি উইন্ডোজ 10 এবং একটি 1 টিবি সলিড স্টেট সহ 5 ম জেনার আই 7 চালাচ্ছি। আমি অ্যান্ড্রয়েড স্টুডিও প্রকল্পগুলি ফোল্ডার সংকুচিত করেছিলাম এবং প্রায় 80% বৃদ্ধি পেয়েছিলাম। আশাকরি এটা সাহায্য করবে.

আমি তারপরে এটিকে উপরের সমাধানগুলি (org.gradle.parallel = true, org.gradle.daemon = true) এর সাথে একত্রিত করেছি। পারফরম্যান্স বুস্ট বেশ চিত্তাকর্ষক ছিল।

উপরন্তু:

উপরের সমস্ত উত্তর সম্পূর্ণরূপে সঠিক তবে আমার অবশ্যই একটি অভিজ্ঞতা অ্যান্ড্রয়েড বিকাশকারী হিসাবে (সাড়ে চার বছরের) হিসাবে উল্লেখ করতে হবে যে: কোনও অ্যান্ড্রয়েড / গ্রেডল বিকাশকারী কোনও স্পিনার ড্রাইভের সাথে একটি মেশিনে কাজ করা উচিত নয়, আপনাকে একটির জন্য কাঁটাচামচ করা দরকার কঠিন অবস্থা. আমরা সবাই প্রতিদিনের 100s বার আইডিইতে সেই প্লে বোতামটি হিট করি। আমি যখন একজন স্পিনার থেকে এসএসডি (পোস্ট গ্রেডল) এ যাই, তখন আমার গতি এবং দক্ষতা আক্ষরিক অর্থে 2 - 4 গুণ দ্রুত ছিল এবং আমি আপনাকে প্রতিশ্রুতি দিচ্ছি যে আমি এখানে অত্যুক্তি করব না।

এখন আমি একটি ছোট এসএসডি এবং একটি বড় স্পিনার সহ একটি মেশিন রাখার কথা বলছি না, আমি 1 টি বড় এসএসডি সম্পর্কে কথা বলছি। আপনার যদি ইতিমধ্যে একটি ছোট এসএসডি এবং একটি বড় স্পিনার সহ একটি মেশিন থাকে তবে আপনি 500 গিগাবাইট এসএসডি বলতে ছোট স্পিনারটিকে আপগ্রেড করতে পারেন এবং এতে এসএসডিটিকে আপনার বিকাশকারী সরঞ্জামগুলি ইনস্টল করে আপনার প্রধান ওএস ড্রাইভ হিসাবে সেট করতে পারেন।

সুতরাং আপনি যদি দ্রুত গতিযুক্ত পরিবেশে কাজ করছেন তবে দয়া করে এই পোস্টটি আপনার বসকে দেখান। একটি শালীন 1 টিবি এসএসডি আপনাকে প্রায় 300 ডলার (ভ্যাট সহ), বা 500 জিবি এসএসডি এর জন্য প্রায় 160 ডলার ফিরিয়ে দেবে। আপনি জুনিয়র বা সিনিয়র অ্যান্ড্রয়েড বিকাশকারী কিনা তার উপর নির্ভর করে ড্রাইভটি 1 - 2 কার্যদিবসের মধ্যে নিজের বেতন (মজুরি ব্যয় হিসাবে) প্রদান করবে বা আপনি যদি একটি ছোট বিনিয়োগ করেন তবে প্রায় আড়াই থেকে 5 কার্যদিবসের জন্য; 500 জিবি এসএসডি বলুন।

অনেকগুলি বিকাশকারী তর্ক করতে পারে যে এটি ঘটনা নয়, তবে এটি গ্রেডলের ক্ষেত্রে, কারণ গ্র্যাডল সিস্টেমটি সরাসরি ডিস্ক অ্যাক্সেসের ক্ষেত্রে খুব শক্ত। আপনি যদি নেট / সি # / ভিবি নেট বা অন্যান্য বিকাশ সরঞ্জামের সাথে কাজ করেন তবে আপনি খুব বেশি পার্থক্য লক্ষ্য করতে পারবেন না তবে গ্রেডলের পার্থক্যটি বিশাল। আপনি যদি এই পোস্টে অভিনয় করে থাকেন আমি আপনাকে প্রতিশ্রুতি দিচ্ছি, আপনি হতাশ হবেন না। ব্যক্তিগতভাবে আমি 8 গিগাবাইট র‌্যামের সাথে পঞ্চম জেন আই 7 ব্যবহার করছি যা মূলত 1TB স্পিনার নিয়ে এসেছিল এবং আমি এটিকে একটি স্যামসাং এসএসডি 840 ইভিও 1 টিবিতে আপগ্রেড করেছি এবং এর পরে আর কখনও দেখিনি। আমি আমার থেকে কিনেছি: https://www.aria.co.uk

আশাকরি এটা সাহায্য করবে. এছাড়াও আমার অবশ্যই উল্লেখ করতে হবে যে এটি কোনও বাণিজ্যিকভাবে অনুপ্রাণিত পোস্ট নয়, আমি কেবল আরিয়ার পরামর্শ দিচ্ছি কারণ আমি এগুলি আগেও বহুবার ব্যবহার করেছি এবং তারা সর্বদা নির্ভরযোগ্য হয়েছে।


1

গ্রেড.প্রোপার্টি ফাইলগুলিতে আমরা কয়েকটি কমান্ড যুক্ত করতে পারি:

org.gradle.configureondemand = সত্য - এই কমান্ডটি গ্রেডকে কেবলমাত্র সেই প্রকল্পগুলি তৈরি করতে বলবে যা এটির সত্যই নির্মাণ করা দরকার। ডিমন ব্যবহার করুন - org.gradle.daemon = সত্য - ডেমোন আপনার বিল্ড শেষ হওয়ার পরেও পটভূমিতে গ্রেডের উদাহরণটি আপ এবং চলমান রাখে। এটি গ্রেড শুরু করার জন্য প্রয়োজনীয় সময়টি সরিয়ে ফেলবে এবং আপনার বিল্ডিংয়ের সময়কে উল্লেখযোগ্যভাবে হ্রাস করবে।

org.gradle.parallel = সত্য - সমান্তরালে আপনার প্রকল্পটি তৈরি করতে গ্রেডকে মঞ্জুরি দিন। যদি আপনার প্রকল্পে একাধিক মডিউল থাকে, তবে এটি সক্ষম করে গ্রেড সমান্তরালভাবে স্বাধীন মডিউলগুলির জন্য বিল্ড অপারেশন পরিচালনা করতে পারে।

হিপ সাইজ বাড়ান - org.gradle.jvmargs = -Xmx3072m -XX: ম্যাক্স্পার্মসাইজ = 512 মি-এক্সএক্স: + হিপডাম্পঅনআউটঅফমোরিআরর -ডফিল.ইনকোডিং = ইউটিএফ -8 - যেহেতু অ্যান্ড্রয়েড স্টুডিও ২.০, গ্রেড কাঠামো বিল্ডিংয়ের সময়সীমা হ্রাস করতে প্রক্রিয়ায় ডেক্স ব্যবহার করে প্রকল্পের। সাধারণত, অ্যাপ্লিকেশনগুলি তৈরি করার সময়, একাধিক dx প্রক্রিয়া বিভিন্ন ভিএম উদাহরণগুলিতে চলে। তবে অ্যান্ড্রয়েড স্টুডিও ২.০ থেকে শুরু করে, এই সমস্ত ডেক্স প্রসেসগুলি একক ভিএমতে চলে এবং সেই ভিএমও গ্রেডের সাথে ভাগ করা হয়। সমস্ত ডেক্স প্রক্রিয়া একই ভিএম দৃষ্টান্তে চলায় এটি বিল্ড সময়কে উল্লেখযোগ্যভাবে হ্রাস করে। তবে এর জন্য সমস্ত ডেক্স প্রক্রিয়া এবং গ্রেড সামঞ্জস্য করতে বৃহত্তর স্মৃতি দরকার requires এর অর্থ হ'ল গ্রেডেল ডিমন দ্বারা প্রয়োজনীয় গাদা আকার বাড়ানো দরকার। ডিফল্টরূপে, ডিমনটির হ্যাপের আকার প্রায় 1GB।

গতিশীল নির্ভরতা ব্যবহার করা হয়নি তা নিশ্চিত করুন। অর্থাৎ বাস্তবায়ন 'com.android.support:appcompat-v7:27.0.+' ব্যবহার করবেন না। এই কমান্ডটির অর্থ গ্রেড অনলাইনে যাবে এবং অ্যাপটি তৈরির সময় সর্বশেষতম সংস্করণটি পরীক্ষা করবে। পরিবর্তে স্থির সংস্করণগুলি ব্যবহার করুন যেমন 'com.android.support:appcompat-v7:27.0.2'



1

অ্যান্ড্রয়েড ফোল্ডার এবং গ্রেডহীন হাইলাইট করা লাইনগুলি থেকে গ্রেড.প্রোপার্টি খুলুন এবং আপনার মেশিনের কনফিগারেশন অনুযায়ী মেমরির মান সরবরাহ করুন। আমার মেশিনে 8 জিবি র‌্যাম রয়েছে তাই আমি যথাক্রমে সর্বোচ্চ 4096 এমবি এবং 1024 এমবি দিয়েছি।

# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
//Uncomment below line for providing your system specific configuration
#org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError - Dfile.encoding=UTF-8

# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
#http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
 //Uncomment below line to allow parallel process execution.
 #org.gradle.parallel=true

আমার বিল্ড সময়টি এর পরে অর্ধেকে নামিয়ে আনা হয়েছিল। শুভ বিল্ডিং !!


0

আপনি যখন আপনার প্রকল্পে মাল্টিডেক্স সক্ষম করে থাকেন তখন এটি প্রায়শই ঘটে। এটি আপনার বিকাশের প্রক্রিয়াটি সম্ভাব্যভাবে কমিয়ে দিতে পারে !! ডক অনুসারে :

মাল্টিডেক্স কনফিগারেশনের ক্ষেত্রে বিল্ড প্রসেসিংয়ের সময় উল্লেখযোগ্যভাবে বৃদ্ধি করা দরকার কারণ কোন বিলাসকে প্রাথমিক ডিএক্স ফাইলের মধ্যে অন্তর্ভুক্ত করতে হবে এবং কোন ক্লাসকে মাধ্যমিক ডিএক্স ফাইলগুলিতে অন্তর্ভুক্ত করা যেতে পারে সে সম্পর্কে বিল্ড সিস্টেমকে জটিল সিদ্ধান্ত নিতে হবে। এর অর্থ হল যে মাল্টিডেক্স ব্যবহার করে বর্ধিত বিল্ডগুলি সাধারণত বেশি সময় নেয় এবং সম্ভবত আপনার বিকাশ প্রক্রিয়াটি ধীর করতে পারে।

তবে আপনি এটি অনুকূল করতে পারেন:

দীর্ঘতর ইনক্রিমেন্টাল বিল্ড বার প্রশমিত করতে আপনার বিল্ডগুলির মধ্যে মাল্টিডেক্স আউটপুট পুনরায় ব্যবহার করতে প্রি-ডেক্সিং ব্যবহার করা উচিত।

আপনি যদি অ্যান্ড্রয়েড স্টুডিও ২.৩ এবং ততোধিক ব্যবহার করে থাকেন তবে অ্যান্ড্রয়েড 5.0 (এপিআই স্তর 21) বা ততোধিক চলমান কোনও ডিভাইসে আপনার অ্যাপ্লিকেশনটি স্থাপন করার সময় আইডিই স্বয়ংক্রিয়ভাবে এই বৈশিষ্ট্যটি ব্যবহার করে।

সুতরাং আপনাকে minSdkVersion 21 বা ততোধিক স্থানে সেট করতে হবে !

তবে যদি আপনার উত্পাদন সংস্করণটি 21-এর চেয়ে কম মিনিসডেক ভার্সন সমর্থন করে, উদাহরণস্বরূপ 19

আপনি আপনার জন্য ডি সংস্করণের জন্য minSdkVersion 21 সেট করতে পণ্যফ্লেভারগুলি ব্যবহার করতে পারেন :

    android {
    defaultConfig {
        ...
        multiDexEnabled true
        // The default minimum API level you want to support.
        minSdkVersion 15
    }
    productFlavors {
        // Includes settings you want to keep only while developing your app.
        dev{
            //the IDE automatically uses  pre-dexing feature to mitigate longer incremental when deploying your app to a device running Android 5.0 !
            minSdkVersion 21
        }
        prod {

        }
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'),
                                                 'proguard-rules.pro'
        }
    }
}
dependencies {
    compile 'com.android.support:multidex:1.0.3'
}

0

আমি আরও ভাল বিল্ড সময় জন্য কমান্ড লাইন থেকে বিল্ডিং পছন্দ। যদি আপনার অ্যাপের কোড বেসটি বৃহত এবং আপনার একাধিক মডিউল থাকে তবে আপনি স্থানীয় এআর পদ্ধতির চেষ্টা করতে পারেন এখানে বর্ণিত হিসাবে , এটি আপনাকে অ্যান্ড্রয়েড স্টুডিওর পারফরম্যান্স এবং গ্রেড বিল্ড বারগুলিতে একটি বড় উত্সাহ দেবে। কমান্ড লাইন এটির সাথে সামঞ্জস্যপূর্ণ

https://blog.gojekengineering.com/how-we-improved-performance-and-build-times-in-android-studio-306028166b79

ইন্টিগ্রেশন নির্দেশাবলী সহ ডেমো প্রকল্পটি এখানে পাওয়া যাবে: https://github.com/akhgapt/AndroidLocalMavenRepoAARDemo

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.