অ্যান্ড্রয়েড স্টুডিওতে স্পিড আপ গ্রেডেল বিল্ড 3.2.1
কখনও কি মনে হয় আপনি বিল্ডিংগুলি কয়েক মিনিটের জন্য অ্যান্ড্রয়েড স্টুডিওতে সম্পূর্ণ হওয়ার জন্য অপেক্ষা করছেন? আমিও. এবং এটি একটি খুব বিরক্তিকর। ভাগ্যক্রমে, কয়েকটি উপায় রয়েছে যা আপনি এটি উন্নত করতে ব্যবহার করতে পারেন। অ্যান্ড্রয়েড বিল্ডিংয়ের জন্য গ্রেডল ব্যবহার করে। সর্বশেষতম সংস্করণটি 4.6 এর পূর্ববর্তী সংস্করণগুলির তুলনায় বিশাল পারফরম্যান্স বাড়িয়েছে (বিশদ বিবরণের জন্য রিলিজ নোট দেখুন)।
পদক্ষেপ 1: গ্রেডল সংস্করণ আপডেট করুন এটি সম্পাদন করার একটি সহজ উপায় এখানে যেতে হবে: মডিউল সেটিংস খুলুন (আপনার প্রকল্প)> প্রকল্পের কাঠামো
হালনাগাদ
গ্রেডল সংস্করণে পরিবর্তন করুন : 4.6
এবং অ্যান্ড্রয়েড প্লাগইন সংস্করণে পরিবর্তন করুন: 3.2.1
Https://services.gradle.org/distribitions/gradle-4.6-all.zip থেকে গ্রেডল রিলিজ বিতরণটি ডাউনলোড করুন
এবং গ্রেডল ফোল্ডারে এটি অনুলিপি করুন:
শেষ পদক্ষেপটি সেটিংস> গ্রেডলে আপনার বিযুক্তিকে যুক্ত করা
পরিবর্তনগুলি সংরক্ষণ করতে প্রয়োগ করতে ক্লিক করতে ভুলবেন না।
পদক্ষেপ 2: অফলাইন মোড সক্ষম করুন, গ্রেডল ডেমন এবং প্রকল্পটির জন্য সমান্তরাল বিল্ড অফলাইন মোড গ্রেডলকে আপডেট-টু-ডেট চেক উপেক্ষা করতে বলে। গ্রেডল প্রতিবার নির্ভরশীলতাগুলির জন্য জিজ্ঞাসা করে এবং এই বিকল্পটি থাকার ফলে এটি নির্ভর করে মেশিনে ইতিমধ্যে যা আছে তা নির্ভর করে uses অ্যান্ড্রয়েড স্টুডিও সেটিং থেকে গ্রেডলে যান এবং অফলাইন কাজের বাক্সে ক্লিক করুন।
- অ্যান্ড্রয়েড স্টুডিও সেটিং থেকে সংকলক যান এবং কমান্ড-লাইন বাক্সে "- অফলাইন" যুক্ত করুন এবং সমান্তরালে স্বতন্ত্র মডিউলগুলি কম্পাইল করুন ক্লিক করুন।
পরবর্তী পদক্ষেপটি আপনার প্রকল্পের জন্য গ্রেডল ডিমন সক্ষম এবং সমান্তরাল বিল্ড। সমান্তরাল বিল্ডগুলি আপনার প্রকল্পগুলিকে একাধিক মডিউল (গ্রেডলে মাল্টি-প্রজেক্ট বিল্ডস) সমান্তরালে নির্মিত হবে, যার ফলে বৃহত বা মডিউল প্রকল্পগুলি দ্রুত তৈরি করতে হবে।
গ্রেডল স্ক্রিপ্ট ডিরেক্টরিতে (যেমন, ~ / .gradle / গ্রেডেল.প্রোপার্টি) নামের গ্রেড.প্রপ্রেটিস নামের একটি ফাইলকে সংশোধন করে এই সেটিংস সক্ষম করা সম্ভব হয়েছিল these ডিফল্ট, তবে গ্রেড.প্রোপার্টি ফাইলগুলিতে স্থাপন করা টার্মিনাল থেকে বিল্ডিংয়ের সময় এবং আপনার সহকর্মীরা একই সেটিংস ব্যবহার করবে কিনা তা নিশ্চিত করে। তবে আপনি যদি একটি দলে কাজ করছেন তবে কখনও কখনও আপনি এই জিনিসগুলি প্রতিশ্রুতিবদ্ধ করতে পারবেন না।
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit org.gradle.parallel=true
# When set to true the Gradle daemon is used to run the build. For local developer builds this is our favorite property.
# The developer environment is optimized for speed and feedback so we nearly always run Gradle jobs with the daemon.
org.gradle.daemon=true
ডিমনটি ব্যবহার করা আপনার বিল্ডগুলি দ্রুততর করে তুলবে কারণ প্রতিবারের মতো পুরো গ্রেডল অ্যাপ্লিকেশনটি আরম্ভ করতে হবে না। গ্রেডল ডিমন ডিফল্টরূপে সক্ষম হয় না তবে এটি বিকাশকারীদের মেশিনে সর্বদা এটি সক্ষম করার পরামর্শ দেয় (তবে এটিকে অবিচ্ছিন্ন ইন্টিগ্রেশন সার্ভারগুলির জন্য অক্ষম রেখে দেওয়া হয়)। এই মোড সম্পর্কে FAQ এখানে https://docs.gradle.org/current/userguide/gradle_daemon.html পাওয়া যাবে । সমান্তরাল বিল্ডস সেটিং কিছু প্রকল্পের জন্য অনিরাপদ হতে পারে। প্রয়োজনটি হ'ল আপনার সমস্ত মডিউল অবশ্যই ডিউপল করা উচিত বা আপনার বিল্ডটি ব্যর্থ হতে পারে (দেখুন http://gradle.org/docs/current/userguide/m বিশদের জন্য )।
পদক্ষেপ 3: ইনক্রিমেন্টাল ডেক্সিন সক্ষম করুন এবং মেমরি সেটিংসটিকে স্নাতক করুন আপনি ইনক্রিমেন্টাল ডেক্সিং চালু করে আপনার বিল্ডগুলি গতি বাড়িয়ে তুলতে পারেন। আপনার মডিউলটির বিল্ড ফাইলটিতে:
আপনার অ্যান্ড্রয়েড ব্লকে এই বিকল্পটি যুক্ত করুন:
dexOptions {
incremental true
}
ডেক্সঅ্যাপশন ব্লকে আপনি ডেক্স প্রক্রিয়াটির জন্য হ্যাপের আকারটিও নির্দিষ্ট করতে পারেন, উদাহরণস্বরূপ:
dexOptions {
incremental true
javaMaxHeapSize "12g"
}
যেখানে “12 জি” 12 গিগাবাইট মেমরি। এ সম্পর্কে অতিরিক্ত তথ্য এখানে পাওয়া যাবে google.github.io/android-gradle-dsl/current/ আপনি সেটিংস ফাইলে গ্রেডল পরামিতিগুলিও কনফিগার করতে পারেন, উদাহরণস্বরূপ আপনার যদি কোনও বৃহত প্রকল্প রয়েছে তবে সর্বাধিক হ্যাপের আকার বাড়ান:
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
সমস্ত প্যারামিটারের তালিকা এখানে দেখুন: https://docs.gradle.org/current/userguide/userguide_single.html#sec:gradle_configration_properties বিশদ জন্য।
পদক্ষেপ 4: অ্যান্টিভাইরাস অক্ষম করুন অ্যান্টিভাইরাস স্ক্যানিং থেকে প্রকল্প এবং ক্যাশে ফাইলগুলি বাদ দেওয়ার বিষয়ে বিবেচনা করুন। এটি অবশ্যই সুরক্ষা সহ একটি বাণিজ্য with তবে আপনি যদি শাখাগুলির মধ্যে অনেকগুলি স্যুইচ করেন, তবে অ্যান্টিভাইরাস গ্রেড প্রক্রিয়াটি ব্যবহারের অনুমতি দেওয়ার আগে ফাইলগুলি পুনরুদ্ধার করবে, যা বিল্ড সময়কে ধীর করে দেয় (বিশেষত অ্যান্ড্রয়েড স্টুডিও সিঙ্ক প্রকল্পে গ্রেড ফাইল এবং সূচীকরণ কার্য সহ)। বিল্ড সময় এবং প্রক্রিয়া সিপিইউ এর সাথে এবং এন্টিভাইরাস ছাড়াই সক্ষম হয় তা দেখার জন্য এটি সক্ষম কিনা তা পরিমাপ করুন। আশা করি এটা কাজে লাগবে. আপনার যদি বিল্ড পারফরম্যান্সের উন্নতির জন্য কোনও প্রশ্ন বা কিছু টিপস থাকে তবে একটি মন্তব্য করুন
সহায়ক লিঙ্ক