اینڈروئیڈ کے لئے ماسٹرنگ گریڈ: گریڈل ٹاسکس اور کوٹلن

مصنف: Lewis Jackson
تخلیق کی تاریخ: 11 مئی 2021
تازہ کاری کی تاریخ: 1 جولائی 2024
Anonim
اینڈروئیڈ کے لئے ماسٹرنگ گریڈ: گریڈل ٹاسکس اور کوٹلن - ایپس
اینڈروئیڈ کے لئے ماسٹرنگ گریڈ: گریڈل ٹاسکس اور کوٹلن - ایپس

مواد


جاوا ، XML یا کوٹلن کے بجائے ، یہ گریڈل بلڈ فائلیں گرووی پر مبنی ڈومین سے متعلق مخصوص زبان (DSL) استعمال کرتی ہیں۔ اگر آپ گرووی سے واقف نہیں ہیں ، تو پھر ہم ان گراڈل بلڈ فائلوں میں سے ہر ایک پر ایک لائن بہ نظر نظر ڈالیں گے ، لہذا اس مضمون کے اختتام تک آپ عام گرووی کوڈ کو پڑھنے اور تحریر کرنے میں آسانی محسوس کریں گے۔

گریڈل کا مقصد آپ کی زندگی کو آسان بنانے کے ل default ، طے شدہ ترتیبات کا ایک سیٹ فراہم کرکے جو آپ اکثر کم سے کم دستی ترتیب کے ساتھ استعمال کرسکتے ہیں - جب آپ اپنا پروجیکٹ تیار کرنے کے لئے تیار ہوجاتے ہیں تو ، صرف اینڈرائیڈ اسٹوڈیو کے "رن" بٹن کو دبائیں اور گریڈل تعمیراتی عمل شروع کردے گا آپ کے لئے

گریڈل کے "کنونشن سے زیادہ کنونشن" کے نقطہ نظر کے باوجود ، اگر اس کی ڈیفالٹ ترتیبات آپ کی ضروریات کو پوری طرح سے پورا نہیں کرتی ہیں ، تو آپ اپنی تشکیل کی ترتیب کو ترتیب دے سکتے ہیں اور اس میں توسیع کرسکتے ہیں ، اور یہاں تک کہ بہت ہی خاص کاموں کو انجام دینے کے لئے گرڈل کی ترتیبات کو بھی موافقت کرسکتے ہیں۔


چونکہ گریڈل اسکرپٹس ان کی اپنی فائلوں میں موجود ہیں ، لہذا آپ اپنی درخواست کے ماخذ کوڈ کو چھوئے بغیر کسی بھی وقت اپنی درخواست کی تشکیل کے عمل میں ترمیم کرسکتے ہیں۔ اس ٹیوٹوریل میں ، ہم ذائقوں کو استعمال کرتے ہوئے ، مختلف حالتوں اور کسٹم گریڈ ٹاسک کا استعمال کرتے ہوئے تعمیراتی عمل میں ترمیم کریں گے۔ کبھی ہمارے اطلاق کے کوڈ کو چھو رہا ہے۔

گریڈل بلڈ فائلوں کی ایکسپلور کر رہا ہے

جب بھی آپ کوئی پروجیکٹ بناتے ہیں ، Android اسٹوڈیو گریڈل بلڈ فائلوں کا ایک ہی مجموعہ تیار کرے گا۔ یہاں تک کہ اگر آپ کسی موجودہ پروجیکٹ کو Android اسٹوڈیو میں درآمد کرتے ہیں تو ، یہ ہوگا اب بھی یہ بالکل وہی گریڈل فائلیں بنائیں ، اور انہیں اپنے پروجیکٹ میں شامل کریں۔

گریڈل اور گرووی ترکیب کے بارے میں بہتر تفہیم حاصل کرنے کے ل، ، آئیے Android کی ہر گرڈ بلڈ فائلوں کو ایک ایک کر کے دیکھیں۔

1. settings.gradle

سیٹنگس ایڈراڈل فائل وہ جگہ ہے جہاں آپ "شامل" کی ورڈ کو استعمال کرتے ہوئے نام کے ذریعہ اپنے اطلاق کے سبھی ماڈیول کی وضاحت کریں گے۔ مثال کے طور پر ، اگر آپ کے پاس ایک پروجیکٹ ہوتا ہے جس میں "ایپ" اور "سیکنڈ موڈول" شامل ہوتا ہے ، تو آپ کی سیٹنگسس ایڈراڈ فائل کچھ اس طرح نظر آئے گی۔


شامل کریں: ایپ ،: سیکنڈ موڈول rootProject.name = میرا پروجیکٹ

آپ کے پروجیکٹ کے سائز پر منحصر ہے ، یہ فائل کافی لمبی ہو سکتی ہے۔

تعمیراتی عمل کے دوران ، گریڈل آپ کے پروجیکٹ کی ترتیبات مثال کے طور پر فائل کے مندرجات کی جانچ کرے گا اور ان تمام ماڈیولز کی نشاندہی کرے گا جو اسے تعمیراتی عمل میں شامل کرنے کی ضرورت ہے۔

2. build.gradle (پروجیکٹ کی سطح)

پروجیکٹ کی سطح کی بلڈ.gradle فائل آپ کے پروجیکٹ کی روٹ ڈائرکٹری میں واقع ہے اور اس میں ایسی ترتیبات ہیں جس پر اطلاق ہوگا سب آپ کے ماڈیول (گرڈل کے ذریعہ "پروجیکٹس" بھی کہا جاتا ہے)۔

آپ کو اس فائل کو کسی بھی پلگ ان ، ذخیر، ، انحصار ، اور ترتیب کے اختیارات کی وضاحت کرنے کے لئے استعمال کرنا چاہئے جو آپ کے Android پروجیکٹ میں ہر ماڈیول پر لاگو ہوتے ہیں۔ نوٹ کریں کہ اگر آپ پروجیکٹ کی سطح کے بلڈ.gradle فائل میں کسی بھی گریڈل کاموں کی وضاحت کرتے ہیں ، تو انفرادی ماڈیول کے ل these ان کاموں کی تدوین یا توسیع ممکن ہے ، ان کے متعلقہ ترمیم کرکے۔ ماڈیول کی سطح build.gradle فائل۔

ایک عام پروجیکٹ لیول بلڈ فریڈ فائل کچھ اس طرح نظر آئے گی:

بلڈ اسکرپٹ {ذخائر {گوگل () جسنٹر ()} انحصار {کلاسپاتھ com.android.tools.build:gradle:3.5.0-alpha06 // نوٹ: اپنی درخواست کا انحصار یہاں نہ رکھیں۔ وہ // انفرادی ماڈیول میں شامل ہیں۔ build.gradle فائلیں files} all پروژې {ذخائر {google () جینسٹر ()} clean ٹاسک کلین (قسم: حذف کریں) root rootProject.buildDir {کو حذف کریں}

اس پروجیکٹ لیول بلڈ.gradle فائل کو درج ذیل بلاکس میں تقسیم کیا گیا ہے:

  • بلڈ اسکرپٹ اس میں ایسی ترتیبات ہیں جو تعمیر کو انجام دینے کے لئے درکار ہیں۔
  • ذخائر گریڈل آپ کے پروجیکٹ کی انحصار کا پتہ لگانے اور انہیں آپ کی تعمیر میں دستیاب کرنے کا ذمہ دار ہے۔ تاہم ، تمام انحصار یکساں ذخیرے سے نہیں آتے ہیں ، لہذا آپ کو اپنے منصوبے کی انحصار کو بازیافت کرنے کے لئے ان تمام ذخیروں کی وضاحت کرنے کی ضرورت ہوگی جن کو گریڈل کو تلاش کرنا چاہئے۔
  • انحصار اس حصے میں آپ کے پلگ ان انحصار پر مشتمل ہے ، جو آپ کے مقامی کیشے میں ڈاؤن لوڈ اور اسٹور کیے جاتے ہیں۔ تمہیں چاہئے نہیں اس بلاک کے اندر کسی بھی ماڈیول انحصار کی وضاحت کریں۔
  • تمام منصوبوں یہ وہ جگہ ہے جہاں آپ ان ذخیروں کی وضاحت کریں گے جن کے لئے دستیاب ہونا چاہئے سب آپ کے پروجیکٹ کے ماڈیولز۔

3. build.gradle (ماڈیول کی سطح)

یہ ماڈیول لیول build.gradle فائل ہے ، جو آپ کے پورے پروجیکٹ کے ہر ماڈیول میں موجود ہے۔ اگر آپ کا Android پروجیکٹ متعدد ماڈیولز پر مشتمل ہے تو پھر اس میں متعدد ماڈیول کی سطح کی بلڈ.gradle فائلیں شامل ہوں گی۔

ہر ماڈیول کی سطح کی بلڈ.gradle فائل میں آپ کے پروجیکٹ کے پیکیج کا نام ، ورژن کا نام اور ورژن کوڈ شامل ہوتا ہے ، نیز اس خاص ماڈیول کے لئے کم سے کم اور ہدف SDK ہوتا ہے۔

ماڈیول کی سطح کی بلڈ.gradle فائل میں تعمیراتی ہدایات اور انحصار کا اپنا الگ سیٹ بھی ہوسکتا ہے۔ مثال کے طور پر ، اگر آپ Wear OS جزو کے ساتھ ایپلی کیشن تیار کر رہے ہیں تو ، پھر آپ کا Android اسٹوڈیو پراجیکٹ ایک علیحدہ اسمارٹ فون / ٹیبلٹ ماڈیول اور Wear Module پر مشتمل ہوگا - چونکہ وہ بالکل مختلف آلات کو نشانہ بنا رہے ہیں ، لہذا یہ ماڈیول بالکل مختلف ہیں انحصار!

ایک بنیادی ماڈیول سطح کی بلڈ.gradle فائل عام طور پر کچھ اس طرح نظر آئے گی:

پلگ ان کا اطلاق کریں: com.android.application android ile compileSdkVersion 28 defaultConfig {applicationId "com.jessicathornsby.speechtotext" minSdkVersion 23 TarSdkVersion 28 versionCode 1 versionName "1.0" testInasurementationRunner "androidx.trnnerTrunn ifyTroidIrdroid yp getDefaultProguardFile (proguard-android-optize.txt) ، proguard-rules.pro {}} depend dependates {عمل درآمد فائل درخت (dir: libs ، شامل ہیں:) نفاذ androidx.appcompat: appcompat: 1.0.2 androidx.constraintlayout: 1.1. 3 ٹیسٹعمل عمل جنیت: جنیت: 4.12 androidTestImplementation androidx.test.ext: جنیت: 1.1.0 androidTestImplementation androidx.test.espresso: یسپریسو کور: 3.1.1}

آئیے ان حصوں میں سے ہر ایک کو قریب سے دیکھیں:

  • پلگ ان لگائیں۔ اس ماڈیول کی تعمیر کے لئے درکار پلگ انز کی ایک فہرست ہے۔ com.android.application پلگ ان کو Android کے مخصوص بلڈ عمل کو ترتیب دینے کے لئے ضروری ہے ، لہذا یہ خود بخود شامل ہوجاتا ہے۔
  • android ڈاؤن لوڈ۔ یہ وہ جگہ ہے جہاں آپ ماڈیول کے تمام پلیٹ فارم سے متعلق مخصوص اختیارات رکھیں۔
  • compileSdkVersion۔ یہ وہ API کی سطح ہے جس کے ساتھ یہ ماڈیول مرتب کیا گیا ہے۔ آپ کسی API کی خصوصیات کو اس قدر سے زیادہ نہیں استعمال کرسکتے ہیں۔
  • buildToolsVersion. یہ مرتب کرنے والے کے ورژن کی نشاندہی کرتا ہے۔ گریڈل 3.0.0 اور اس سے زیادہ میں ، بلٹ ٹولس ورزن اختیاری ہے۔ اگر آپ نے بلڈ ٹول ورزن کی قیمت نہیں بتائی ہے تو اینڈرائڈ اسٹوڈیو بلڈ ٹولز کے حالیہ ورژن میں ڈیفالٹ ہوجائے گا۔
  • defaultConfig. اس میں آپشنز شامل ہیں جو آپ کے ایپ کے تمام بلڈ ورژن ، جیسے آپ کے ڈیبگ اور ریلیز بنڈس پر لاگو ہوں گے۔
  • ایپلیکیشن یہ آپ کی درخواست کا منفرد شناخت کنندہ ہے۔
  • minSdkVersion. یہ پیرامیٹر کم ترین API کی سطح کی وضاحت کرتا ہے جس کی اس ماڈیول کی حمایت کرتا ہے۔
  • ہدفSdkVersion. یہ زیادہ سے زیادہ API کی سطح ہے جس کے خلاف آپ کی درخواست کا امتحان لیا گیا ہے۔ مثالی طور پر ، آپ کو تازہ ترین API کا استعمال کرتے ہوئے اپنی درخواست کی جانچ کرنی چاہئے ، جس کا مطلب ہے کہ ہدف SDKVersion ویلیو ہمیشہ کمپائل ایسڈک ورسن ویلیو کے برابر ہوگی۔
  • ورژن کوڈ یہ آپ کے ایپلیکیشن ورژن کے لئے ایک عددی قیمت ہے۔
  • ورژن نام یہ صارف دوست تار ہے ، جو آپ کے اطلاق کے ورژن کی نمائندگی کرتا ہے۔
  • بلڈ ٹائپس ڈیفالٹ کے لحاظ سے ، Android دو طرح کی تعمیر کی حمایت کرتا ہے: ڈیبگ اور رہائی۔ آپ اپنی درخواست کی قسم کی مخصوص ترتیبات کی وضاحت کرنے کیلئے "ڈیبگ" اور "ریلیز" بلاکس استعمال کرسکتے ہیں۔
  • انحصار یہ وہ جگہ ہے جہاں آپ کسی بھی لائبریری کی وضاحت کریں گے جس پر اس ماڈیول کا انحصار ہے۔

اپنے منصوبے کی انحصار کا اعلان: مقامی لائبریریاں

آپ ایک یا زیادہ منصوبے پر انحصار شامل کرکے اپنے Android پروجیکٹس کے لئے اضافی فعالیت مہیا کرسکتے ہیں۔ یہ انحصار مقامی ہوسکتا ہے ، یا انہیں دور دراز کے ذخیرہ میں اسٹور کیا جاسکتا ہے۔

مقامی JAR فائل پر انحصار کا اعلان کرنے کے ل you ، آپ کو اس JAR کو اپنے پروجیکٹ کی "libs" ڈائریکٹری میں شامل کرنے کی ضرورت ہوگی۔

اس کے بعد آپ اس فائل پر انحصار کا اعلان کرنے کے لئے ماڈیول لیول بلڈ اراڈل فائل میں ترمیم کرسکتے ہیں۔ مثال کے طور پر ، یہاں ہم ایک "محض" جار پر انحصار کا اعلان کر رہے ہیں۔

عملدرآمد فائلیں (libs / mylibrary.jar)

متبادل کے طور پر ، اگر آپ کے "لبز" فولڈر میں متعدد جار شامل ہیں ، تو پھر آسانی سے یہ بتانا آسان ہوسکتا ہے کہ آپ کے منصوبے کا انحصار "لیبز" فولڈر کے اندر موجود تمام فائلوں پر ہے ، مثال کے طور پر:

عمل درآمد درخت (dir: libs، شامل کریں:)

بلڈ انحصار شامل کرنا: ریموٹ ذخائر

اگر لائبریری دور دراز کے ذخیرے میں واقع ہے ، تو آپ کو مندرجہ ذیل مراحل کو مکمل کرنے کی ضرورت ہوگی۔

  • ذخیرہ کی وضاحت کریں جہاں یہ انحصار واقع ہے۔
  • انفرادی انحصار کا اعلان کریں۔

دور دراز کے ذخیرے سے مربوط ہونا

پہلا قدم ، گرڈل کو بتا رہا ہے کہ آپ کے پروجیکٹ کی تمام تر انحصاریں بازیافت کرنے کے لئے کون سے ذخیرہ اندوزی (یا ذخائر) چیک کرنے کی ضرورت ہے۔ مثال کے طور پر:

ذخائر {گوگل () جینٹر ()}

یہاں ، "جینسٹر ()" لائن اس بات کو یقینی بناتی ہے کہ گریڈل جے سینٹر کے ذخیرے کی جانچ کرے گا ، جو ایک مفت ، عوامی ذخیرہ ہے جس کی میزبانی بائن ٹرے میں کی گئی ہے۔

متبادل کے طور پر ، اگر آپ یا آپ کی تنظیم ذاتی ذخیرہ کو برقرار رکھتی ہے ، تو آپ کو اس انحصار کا URL اپنے انحصار کے اعلان میں شامل کرنا چاہئے۔ اگر ذخیرہ پاس ورڈ سے محفوظ ہے تو ، پھر آپ کو لاگ ان معلومات بھی فراہم کرنے کی ضرورت ہوگی ، مثال کے طور پر:

ذخیر{ات ven mavenCentral () maven target // ہدف URL تشکیل دیں // url "http://repo.mycompany.com/myprivaterepo" ven maven {اسناد {صارف نام myUsername پاس ورڈ my پاس ورڈ} url "http://repo.mycompany.com / myprivaterepo "

اگر انحصار ایک سے زیادہ ذخیروں میں موجود ہے تو ، پھر گراڈل اس انحصار کا "بہترین" ورژن منتخب کرے گا ، جس میں ہر ذخیرے کی عمر اور جامد ورژن جیسے عوامل پر مبنی ہے۔

دور دراز انحصار کا اعلان

اگلا مرحلہ آپ کے ماڈیول کی سطح کی بلڈ.gradle فائل میں انحصار کا اعلان کر رہا ہے۔ آپ مندرجہ ذیل میں سے کسی کو استعمال کرتے ہوئے ، اس معلومات کو "انحصار" کے بلاک میں شامل کرتے ہیں:

  • عمل آوری۔ جب آپ اپنا پروجیکٹ بناتے ہو تو یہ ایک معمولی انحصار کی ضرورت ہوتی ہے۔ ایک "عمل آوری" انحصار اس پار موجود ہوگی سب آپ کی تعمیر
  • تعریف یہ انحصار ہے جو آپ کی درخواست کے ٹیسٹ ماخذ کو مرتب کرنے اور JVM پر مبنی ٹیسٹ چلانے کی ضرورت ہے۔ جب آپ انحصار کو "تعریف" کے طور پر نشان زد کریں گے تو گریڈل کو پتہ چل جائے گا کہ اس معمول کی تعمیر کے دوران اس انحصار کے ل tasks کاموں کو چلانے کی ضرورت نہیں ہے ، جس سے تعمیراتی وقت کو کم کرنے میں مدد مل سکتی ہے۔
  • Androidtestimplementation۔ یہ انحصار ہے جس کی ضرورت کسی آلہ پر ٹیسٹ چلاتے وقت ہوتی ہے ، مثال کے طور پر ایسپریسو فریم ورک ایک عام "اینڈرائڈ اسٹیٹیپلیمیشن" ہے۔

ہم ریموٹ انحصار کی وضاحت کرتے ہیں ، مندرجہ بالا مطلوبہ الفاظ میں سے ایک کا استعمال کرتے ہوئے ، اس کے بعد انحصار کے گروپ ، نام اور ورژن کی خصوصیات ، مثال کے طور پر:

انحصار {عمل درآمد کی فائل (در: libs ، شامل:) نفاذ androidx.appcompat: appcompat: 1.0.2 نفاذ androidx.constraintlayout: رکاوٹ: 1.1.3 ٹیسٹعمل عمل: androidTestImplementation androidx.test.espresso: یسپریسو کور: 3.1.1}

متعدد APK تیار کرنا: بلڈ ایڈیشن کیسے بنائیں

کبھی کبھی ، آپ کو اپنی درخواست کے متعدد ورژن بنانے کی ضرورت پڑسکتی ہے۔ مثال کے طور پر ، آپ مفت ورژن اور ادا شدہ ورژن جاری کرنا چاہتے ہیں ، جس میں کچھ اضافی خصوصیات شامل ہیں۔

یہ ایک تعمیر کا کام ہے جس کی مدد سے گرڈل آپ کی مدد کرسکتا ہے ، تو آئیے آپ دیکھیں کہ آپ کسی ایک پروجیکٹ سے ایک سے زیادہ APK بنانے کے لئے بل processڈ پروسیس میں کس طرح ترمیم کرتے ہیں:

  • اپنی سٹرنگ۔ ایکس ایم ایل فائل کھولیں اور اپنے اصل نام کے اسٹرنگ کو حذف کریں۔
  • اگلا ، ہر ایک ذائقہ کے نام بتائیں جو آپ بنانا چاہتے ہیں۔ اس مثال میں ، میں استعمال کر رہا ہوں:

میری مفت ایپ میری معاوضہ ایپ

  • اپنی AndroidManLive.xML فائل کھولیں اور android کی جگہ لیں: لیبل = "@ سٹرنگ / ایپ_ام" کے ساتھ:

android: label = "$ {appName}"

  • اپنی ماڈیول کی سطح کی بلڈ.gradle فائل کھولیں اور درج ذیل کو "android" بلاک میں شامل کریں۔

ذائقہ طول و عرض "موڈ" پروڈکٹ فلاورز {مفت {طول و عرض "موڈ" ایپلیکیشن ". مفت" مینی فش پلیٹ ہولڈرز =} ادا شدہ {طول و عرض "موڈ" ایپلیکیشن ایڈسفیکس ". ادا" مینی فیسٹ پلیس ہولڈرز =}}}

آئیے یہاں جو کچھ ہورہا ہے اسے ختم کردیں:

  • ذائقہ اینڈروئیڈ پلگ ان مختلف جہتوں سے ذائقوں کو جوڑ کر بلڈ ایڈیشن تیار کرتا ہے۔ یہاں ، ہم اپنے ایپ کے "مفت" اور "معاوضہ" ورژن پر مشتمل ذائقہ طول و عرض بنا رہے ہیں۔ مندرجہ بالا کوڈ کی بنیاد پر ، گریڈل چار بلڈ ایڈیشن تیار کرے گا: پیڈ ڈیبگ ، پیریڈلیز ، فری ڈیبگ اور فری ریلیز۔
  • productFlavors. اس سے ذائقوں اور ان کی ترتیبات کی ایک فہرست متعین ہوتی ہے ، جو مذکورہ کوڈ میں "ادا" اور "مفت" ہیں۔
  • مفت / ادائیگی یہ ہمارے دو مصنوع ذائقوں کے نام ہیں۔
  • طول و عرض. ہمیں ایک "طول و عرض" پیرامیٹر ویلیو کی وضاحت کرنے کی ضرورت ہے۔ اس مثال میں ، میں "موڈ" استعمال کر رہا ہوں۔
  • ایپلیکیشن چونکہ ہم اپنی ایپ کے متعدد ورژن بنانا چاہتے ہیں ، لہذا ہمیں ہر ایک APK کو ایک منفرد ایپ شناخت کنندہ دینے کی ضرورت ہے۔
  • مینی فیسٹ پلیس ہولڈرز۔ ہر پروجیکٹ میں ایک واحد مینی فیسٹ فائل ہوتی ہے جس میں آپ کے پروجیکٹ کی تشکیل کے بارے میں اہم معلومات ہوتی ہیں۔ جب متعدد بلڈ ایڈیشن تیار کرتے ہو تو ، آپ عام طور پر ان مینی فیسٹ پراپرٹیز میں کچھ وقت پر ترمیم کرنا چاہیں گے۔ آپ ہر ایک بلڈ ایڈیشن کے لifest انفرادی منشور اندراجات کی وضاحت کرنے کے لئے گرڈل بلڈ فائلوں کا استعمال کرسکتے ہیں ، جو بعد میں آپ کے منشور میں تعمیر وقت پر داخل ہوں گی۔ مذکورہ کوڈ میں ، ہم اس پر انحصار کرتے ہوئے "ایپ نام" کی قیمت میں ردوبدل کر رہے ہیں کہ آیا گراڈل ہمارے ایپ کا مفت یا معاوضہ ورژن تیار کررہا ہے۔

ایک کسٹم گریڈ ٹاسک تشکیل دینا

کبھی کبھی آپ کو گرڈل کا استعمال کرتے ہوئے ، تعمیر کے عمل کو اپنی مرضی کے مطابق کرنے کی ضرورت ہوسکتی ہے کاموں.

ایک کام ایک نامزد کردہ اعمال کا مجموعہ ہے جس کی مدد سے گریڈل اس پر عمل درآمد کرے گا جیسے یہ ایک تعمیری کارکردگی کا مظاہرہ کرتا ہے ، مثال کے طور پر جاواڈوک پیدا کرنا۔ گریڈل ڈیفالٹ کے ذریعہ بہت سارے کاموں کی تائید کرتا ہے ، لیکن آپ اپنی مرضی کے مطابق ٹاسک بھی تشکیل دے سکتے ہیں ، اگر آپ کے پاس عمارتوں کی ہدایات کو ذہن میں رکھنے کے لئے کوئی خاص سیٹ موجود ہو تو یہ کام آسکتا ہے۔

اس حصے میں ، ہم ایک کسٹم گریڈ ٹاسک تیار کریں گے جو ہمارے پروجیکٹ کی تمام تر تعمیراتی حالتوں (پیڈ ڈیبگ ، پیریڈلیج ، فری فریبگ اور فری ریلیز) کے ذریعہ دہرایا جائے گا ، تاریخ اور وقت کا اسٹیمپ تشکیل دیں گے ، اور پھر ہر پیدا شدہ APK میں اس معلومات کو شامل کریں گے۔

اپنی ماڈیول کی سطح کی بلڈ.gradle فائل کھولیں اور درج ذیل شامل کریں:

ٹاسک addDateAndTime () {// تمام آؤٹ پٹ بلڈ ایڈیشن کے ذریعے Iterate // android.applicationVariants.all {مختلف -> // تمام APK فائلوں کے ذریعے Iterate // variant.outputs.all {آؤٹ پٹ -> // ایک مثال بنائیں۔ موجودہ تاریخ اور وقت ، مخصوص کردہ فارمیٹ میں // ڈیف ڈیٹ اینڈ ٹائم = نئی تاریخ (). فارمیٹ ("yyyy-MM-dd: HH-mm") // اس معلومات کو APK کے فائل نام // Def فائل نام = متغیر میں شامل کریں۔ نام + "_" + ڈیٹ اینڈ ٹائم + ".اپک" آؤٹ پٹ۔ آؤٹ پٹ فائل نام = فائل نام}}}

اگلا ، ہمیں گریڈل کو بتانے کی ضرورت ہے کب اسے اس کام کو انجام دینا چاہئے۔ ایک تعمیر کے دوران ، گریڈل ہر چیز کو جس کی اسے ڈاؤن لوڈ کرنے کی ضرورت ہے اور اس کے لئے انجام دینے والے تمام کاموں کی نشاندہی کرتی ہے ، اور انھیں ایک ہدایت نامی آکلسک گراف (ڈی اے جی) میں ترتیب دیتا ہے۔ اس کے بعد گریڈل ان تمام کاموں کو اپنے ڈی اے جی میں طے شدہ آرڈر کے مطابق انجام دے گا۔

میری ایپ کے لئے ، میں "جب ریڈی" طریقہ استعمال کروں گا ، جس سے یہ یقینی بن جاتا ہے کہ ایک بار جب ڈی اے جی آباد ہو گیا تو ہمارے کام کو بلایا جائے گا ، اور گریڈل اپنے کاموں کو انجام دینے کے لئے تیار ہے۔

مندرجہ ذیل کو اپنے ماڈیول کی سطح بلڈ.gradle فائل میں شامل کریں:

// اس کام کو انجام دیں // گریڈل.taskGraph.whenReady {addDateAndTime}

آئیے اپنا کسٹم ٹاسک لگائیں اور ہمارے پروجیکٹ کو گریڈل کمانڈ کے ذریعہ تعمیر کرکے ، مختلف قسم کے کوڈ کو جانچنے کے ل.۔

گرڈل ریپر سے اپنے منصوبے کی تشکیل

آپ گرڈل ریپر ("گریڈلیو") کا استعمال کرتے ہوئے گریڈل کمانڈ جاری کرتے ہیں۔ یہ اسکرپٹ گریڈل بلڈ شروع کرنے کا ترجیحی طریقہ ہے ، کیوں کہ یہ آپ کے گریڈل کے ورژن سے بلڈ پر عملدرآمد کو آزاد بناتا ہے۔ یہ علیحدگی مفید ثابت ہوسکتی ہے اگر آپ دوسروں کے ساتھ تعاون کر رہے ہیں جن کے پاس لازمی طور پر گریڈل کا ایک ہی ورژن نصب نہیں ہے۔

اپنے گریڈل ریپر کمانڈ جاری کرتے وقت ، آپ یونکس جیسے آپریٹنگ سسٹم کے لئے "گریڈلیو" استعمال کریں گے ، بشمول میکوس ، اور ونڈوز کے لئے "گریڈلیو ڈبلیوٹ"۔ میرے پاس میک ہے ، لہذا میں "گریڈلیو" کمانڈ استعمال کروں گا۔

آپ Android اسٹوڈیو کے اندر سے گریڈل کمانڈ جاری کرسکتے ہیں:

  • اینڈروئیڈ اسٹوڈیو ٹول بار میں ، "دیکھیں> ٹولز ونڈوز> ٹرمینل" کو منتخب کریں۔ یہ IDE ونڈو کے نیچے ٹرمینل پینل کھولتا ہے۔
  • ٹرمینل میں درج ذیل کمانڈ درج کریں:

./ گریڈ لیو تعمیر

Android اسٹوڈیو کو کچھ اس طرح نظر آنا چاہئے:

  • اپنے کی بورڈ پر "انٹر" بٹن دبائیں۔ گریڈل اب آپ کے منصوبے کی تعمیر کرے گا۔

گریڈل آپ کے پروجیکٹ کی ایپ / بلڈ / آؤٹ پٹس / اے پی کے ڈائریکٹری میں تیار کردہ تمام APK کو اسٹور کرتا ہے ، لہذا اس ڈائرکٹری میں جائیں۔ "APK" فولڈر میں متعدد فولڈرز اور سب فولڈرز شامل ہونے چاہ؛۔ اس بات کو یقینی بنائیں کہ گریڈل نے آپ کی ہر تعمیراتی شکلوں کے لئے ایک APK تیار کیا ہے ، اور یہ کہ ہر فائل میں صحیح تاریخ اور وقت کی معلومات شامل کردی گئی ہیں۔

گریڈ کے کون سے دوسرے کام دستیاب ہیں؟

کسی بھی کسٹم ٹاسک کے علاوہ جو آپ تخلیق کرسکتے ہیں ، اس کے علاوہ ، گریڈل خانے سے باہر پیش وضاحتی کاموں کی فہرست کی حمایت کرتا ہے۔ اگر آپ جاننا چاہتے ہیں کہ ٹھیک سے کون سے کام دستیاب ہیں ، تو:

  • اینڈروئیڈ اسٹوڈیو کی ٹرمینل ونڈو کو کھولیں ، اگر یہ پہلے سے کھلا نہیں ہے (Android اسٹوڈیو ٹول بار سے "دیکھیں> ٹولز ونڈوز> ٹرمینل" کو منتخب کرکے)۔
  • ٹرمینل میں درج ذیل کو ٹائپ کریں:

./gradlew -q کام

  • اپنے کی بورڈ پر "انٹر" بٹن دبائیں۔

یہ "ٹاسک" ٹاسک اب چلائے گا ، اور چند لمحوں کے بعد ٹرمینل اس پروجیکٹ کے لئے دستیاب تمام ٹاسک کی ایک فہرست دکھائے گا ، ہر کام کی مختصر تفصیل کے ساتھ مکمل ہوگا۔

گریڈل سے زیادہ فائدہ اٹھانا: پلگ ان شامل کرنا

متعدد پلگ ان والے پہلے سے نصب کردہ گریڈل جہاز ، لیکن آپ نئے پلگ انز کو شامل کرکے گریڈل کو مزید بڑھا سکتے ہیں۔ یہ پلگ ان آپ کے اینڈروئیڈ پروجیکٹس کے لئے نئے کاموں کو دستیاب بناتے ہیں ، مثال کے طور پر جاوا پلگ ان میں ایسے کام شامل ہیں جو آپ کو جاوا سورس کوڈ مرتب کرنے ، یونٹ ٹیسٹ چلانے اور ایک JAR فائل بنانے کی اجازت دیتے ہیں ، جیسے "کمپائلجاوا ،" "کمپیل ٹیکسٹ ،" "جار ،" "جاوڈاک ،" اور "صاف"۔

پلگ ان لگانے کے ل، ، اپنی ماڈیول کی سطح کی بلڈ.gradle فائل میں "پلگ ان لاگو کریں" کا اعلامیہ شامل کریں ، جس کے بعد پلگ ان کا نام آئے۔ مثال کے طور پر ، یہاں ہم جاوا پلگ ان کا اطلاق کر رہے ہیں:

پلگ ان لگائیں: جاوا

اگر آپ جاننے کے خواہاں ہیں کہ کون سے پلگ ان دستیاب ہیں تو پھر گریڈل پلگ ان تلاش کریں جو گرڈل پلگ ان کی ایک جامع رجسٹری فراہم کرتا ہے۔

گریڈل کوٹلن ڈی ایس ایل

پہلے سے طے شدہ طور پر ، آپ گرووی ڈی ایس ایل کا استعمال کرتے ہوئے اپنے گریڈ بلڈ اسکرپٹس لکھیں گے ، لیکن اگر آپ ان بہت سے ڈویلپرز میں سے ایک ہیں جنہوں نے اینڈرائیڈ ڈویلپمنٹ کے لئے کوٹلن اپنایا ہے تو ، اس کے بجائے آپ کوٹلن میں اپنی بلڈ اسکرپٹس لکھنے کو ترجیح دے سکتے ہیں۔

گرووی کے برعکس ، کوٹلن ایک مستحکم ٹائپنگ پروگرامنگ زبان ہے ، لہذا اگر آپ سوئچ بناتے ہیں تو آپ کی بلڈ فائلیں اینڈروئیڈ اسٹوڈیو کی خود کشی اور سورس کوڈ نیویگیشن کی خصوصیات کے مطابق ہوں گی۔ اس کے علاوہ ، گرووی سے کوٹلن منتقل ہونے کا مطلب یہ ہے کہ آپ اپنے منصوبے میں ایک ہی پروگرامنگ زبان استعمال کریں گے ، جس سے ترقی زیادہ سیدھی ہوسکتی ہے - خاص طور پر اگر آپ گرووی سے زیادہ واقف نہیں ہیں!

اگر آپ کوٹلن میں اپنی بلڈ منطق لکھنا شروع کرنا چاہتے ہیں تو آپ کو گریڈل کوٹلن DSL ترتیب دینے اور ہجرت نامہ میں دی گئی ہدایات پر عمل کرنے کی ضرورت ہوگی۔

ختم کرو

اس مضمون میں ، ہم نے Android اسٹوڈیو کے بلڈ آٹومیشن اور انحصار کے انتظام کے آلے کی کھوج کی۔ ہم نے جانچ پڑتال کی کہ گریڈل کس طرح بلڈ پروسیس کو خود کار طریقے سے خود کار طریقے سے خود کار کرتا ہے ، اور کس طرح اپنے منصوبے کے گریڈ بلڈ فائلوں میں ترمیم کرکے آپ کس طرح تعمیراتی عمل میں ترمیم کرسکتے ہیں ، بشمول کسٹم گریڈل ٹاسکس تخلیق کرنے ، اور ایک ہی منصوبے سے متعدد بلڈ ایڈیشن تیار کرکے۔

کیا آپ نے Android بلڈ پروسیس کے دیگر حصوں کو خود کار بنانے کیلئے گریڈل میں توسیع کی ہے؟ ہمیں ذیل میں تبصرے میں بتائیں!

اس سال ، گوگل میپس کو کچھ واقعی کارآمد تازہ ترین معلومات حاصل ہوئی ہیں۔ یہ آپ کے عام طور پر استعمال ہونے والے عوامی نقل و حمل کے راستوں کی نگرانی کرسکتا ہے ، آپ کو بتا سکتا ہے کہ کسی ریستوراں کی سب سے...

اس میں کوئی شک نہیں کہ جب منشیات کے نشے کی عادت آتی ہے تو امریکہ کو بڑے بحران کا سامنا کرنا پڑتا ہے۔ نیشنل انسٹی ٹیوٹ برائے منشیات کے ناجائز استعمال کے مطابق ، امریکہ میں 130 سے ​​زیادہ افراد ایک اوپی...

سوویت