मुझे यह देखकर बहुत मज़ा आया। यहाँ मेरा चलना-फिरना है।
IntelliJ (v.13.1.4) में एक ग्रेड बिल्ड फ़ाइल बनाने के तरीके के बारे में A से Z वॉक-थ्रू यह वॉक-थ्रू मान लेता है कि आप जानते हैं कि कीस्टॉर फाइल कैसे बनाते हैं। इस ट्यूटोरियल को काम करने के लिए आपको अपने ऐप फ़ोल्डर में स्थित होने के लिए आपकी कीस्टोर फाइल की आवश्यकता होगी और आपको 'SDK-ROOT \ Tools' में स्थित होने के लिए आपकी zipalign.exe फ़ाइल की आवश्यकता होगी। यह फ़ाइल आमतौर पर 'SDK-ROOT \ build-tools' में पाई जाती है और इस फ़ोल्डर के तहत यह उच्चतम एपीआई फ़ोल्डर (अल्फा या बीटा मैं अल्फा संस्करण की सिफारिश करता है) में होगी।
आप में से जो सीधे यहां कूदना चाहते हैं, उनके लिए ग्रेडेल बिल्ड फाइल है।
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.9.+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
android {
compileSdkVersion 19
buildToolsVersion '20.0.0'
defaultConfig {
minSdkVersion 8
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
signingConfigs {
playstore {
keyAlias 'developers4u'
keyPassword 'thisIsNotMyRealPassword'
storeFile file('developers4u.keystore')
storePassword 'realyItIsNot'
}
}
buildTypes {
assembleRelease {
debuggable false
jniDebugBuild false
runProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
zipAlign true
signingConfig signingConfigs.playstore
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:support-v4:20.0.0'
implementation 'com.android.support:appcompat-v7:20.0.0'
}
आप मेन्यू ऑप्शन से इस बिल्ड फाइल (ऊपर) का हिस्सा बना सकते हैं: फाइल / प्रोजेक्ट स्ट्रक्चर यहाँ से सेलेक्ट करें और 'एंड्रॉइड-ग्रेड' (ऐप) पर क्लिक करें। यहां से आपको टैब दिखाई देंगे: 'गुण', 'साइनिंग', 'फ्लेवर्स', 'बिल्ड टाइप्स' और 'डिपेंडेंसीज' इस वॉक-थ्रू के लिए हम सिर्फ 'साइनिंग' और 'बिल्ड टाइप्स' का उपयोग करेंगे। 'बिल्ड टाइप्स' (नाम सेक्शन में) के तहत कोई भी नाम दर्ज करें जिसे आप अपने बिल्ड टाइप कॉन्फ़िगरेशन की पहचान करना चाहते हैं और अन्य 4 क्षेत्रों में अपनी कीस्टोर जानकारी दर्ज करें (कीस्टोर पथ को अपने ऐप फ़ोल्डर के नीचे सेट करें)।
R बिल्ड टाइप्स ’के तहत नाम फ़ील्ड में emble असेंबलरेज़’ मान दर्ज करें, Build डीबगेबल ’को गलत पर सेट किया जाना चाहिए, false जेनी डिबग बिल्ड’ को गलत होना चाहिए, Pro रन प्रोगार्ड ’को सही और Al जिप एलाइन’ को सही पर सेट करना चाहिए। यह बिल्ड फ़ाइल उत्पन्न करेगा, लेकिन जैसा कि ऊपर दर्शाया गया है, आपको बाद में बिल्ड फ़ाइल में कुछ चीजें जोड़नी होंगी। यहाँ ProGuard फ़ाइल स्थान को ग्रेड बिल्ड फ़ाइल में मैन्युअल रूप से सेट किया जाएगा। (जैसा कि ऊपर दर्शाया गया है)
आपके द्वारा बाद में जोड़े जाने वाले DSL कंटेनर इस प्रकार हैं:
android {
....
compileSdkVersion 19
buildToolsVersion '20.0.0'
defaultConfig {
minSdkVersion 8
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
....
}
आपको भी जोड़ना होगा:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:support-v4:20.0.0'
implementation 'com.android.support:appcompat-v7:20.0.0'
}
ध्यान दें कि यह DSL कंटेनर ऊपर ('निर्भरता') कॉन्फ़िगरेशन फ़ाइल के निचले भाग में होना चाहिए, लेकिन Android DSL कंटेनर के अंदर नहीं। IntelliJ मेनू से निर्भरता कंटेनर बनाने के लिए, फ़ाइल / प्रोजेक्ट संरचना का चयन करें। वहां से फिर से चेहरे और फिर एंड्रॉइड-ग्रैडल (ऐप) चुनें। आपको ऊपर बताए अनुसार 5 टैब दिखाई देंगे। 'निर्भरताएँ' टैब चुनें और आपके द्वारा आवश्यक निर्भरताएँ जोड़ें।
यह सब पूरा हो जाने के बाद, आपको इस वॉक-थ्रू के शीर्ष पर फ़ाइल के समान ग्रैड बिल्ड फ़ाइल दिखनी चाहिए। अपने हस्ताक्षरित जिप एलायंस रिलीज़ को बनाने के लिए आपको ग्रैडल कार्यों को खोलना होगा। आप इस विंडो को View / Tool Windows / Gradle को चुनकर प्राप्त कर सकते हैं। यहां से आप डबल क्लिक करें 'assembleAssembleRelease। यह आपके परिनियोज्य APK को उत्पन्न करना चाहिए।
आपकी रिलीज़ को संकलित करते समय होने वाली संभावित समस्याएं (लेकिन सीमित नहीं हैं): आपका ग्रैडल फ़ाइल गलत जगह पर है। दो ग्रेडल बिल्ड फाइलें हैं; एक आपके एप्लिकेशन रूट फ़ोल्डर में और दूसरा एप्लिकेशन फ़ोल्डर में एप्लिकेशन रूट के तहत। आपको बाद वाला उपयोगकर्ता चाहिए।
आपको लिंट की समस्या भी हो सकती है। (नोट: एंड्रॉइड डेवलपर स्टूडियो IntelliJ की तुलना में लिंट समस्याओं को स्पॉट करने में बहुत बेहतर है जब आप मेनू विकल्पों से एक हस्ताक्षरित एपीके को उत्पन्न करने की कोशिश कर रहे हैं, तो आप इसे नोटिस करेंगे)
लगभग एक प्रकार का वृक्ष समस्याओं के बारे में जानने के लिए आपको निम्नलिखित डीएसएल कंटेनर को एंड्रॉइड कंटेनर (शीर्ष पर) के अंदर रखना होगा:
android {
....
lintOptions {
abortOnError false
}
....
}
इसे अपने एंड्रॉइड डीएसएल कंटेनर के अंदर रखने से बिल्ड फ़ोल्डर में एक त्रुटि फ़ाइल उत्पन्न होगी (सीधे आपके ऐप फ़ोल्डर के तहत) फ़ाइल का नाम कुछ इस तरह होना चाहिए जैसे कि 'lint-results-release-fatal.html' यह फ़ाइल आपको बताएगी वह वर्ग जहाँ त्रुटि हुई। एक अन्य फ़ाइल जो उत्पन्न होगी वह एक XML फ़ाइल है जिसमें लिंट त्रुटि से संबंधित 'इशू आईडी' शामिल है। फ़ाइल का नाम कुछ इस तरह होना चाहिए जैसे कि 'लिंट-रिजल्ट-रिलीज़-फैटल.एक्सएमएल'। फ़ाइल के शीर्ष के पास कहीं आप एक नोड 'मुद्दा' देखेंगे जिसके अंदर आपको 'id = "IDOfYourLintProblem" के समान कुछ दिखाई देगा
इस समस्या को ठीक करने के लिए अपने प्रोजेक्ट में वह फ़ाइल खोलें जिसे 'lint-results-assembleRelease-fatal.html' फ़ाइल में सूचीबद्ध किया गया था और कक्षा के नाम के ठीक ऊपर Java क्लास फ़ाइल में कोड की निम्न पंक्ति दर्ज करें: @SuppressLint ("IDOfYourLintProblem" ")। आपको 'android.annotation.SuppressLint;' आयात करना पड़ सकता है
तो आपकी जावा क्लास फाइल इस तरह दिखनी चाहिए:
package com.WarwickWestonWright.developers4u.app.CandidateArea;
import android.annotation.SuppressLint;
... other imports
@SuppressLint("IDOfYourLintProblem")
public class SearchForJobsFragment extends Fragment {... rest of your class definition}
ध्यान दें कि लिंट त्रुटियों को दबाने वाला हमेशा सबसे अच्छा आईडीईए नहीं होता है आप अपने कोड को बदलने के लिए बेहतर हो सकते हैं जो लिंट त्रुटियों का कारण बनते हैं।
एक अन्य समस्या जो संभावित रूप से हो सकती है, यदि आपने ग्रैडल गृह पर्यावरण चर के लिए पर्यावरण चर को सेट नहीं किया है। इस वेरिएबल को 'GRADLE_HOME' नाम दिया गया है और इसे ग्रेड होम निर्देशिका का मार्ग निर्धारित किया जाना चाहिए, जैसे 'C: \ gradle-1.12' कभी-कभी आप 'ANDROID_HOME' के लिए पर्यावरण चर भी सेट कर सकते हैं, इसे 'अपना-' एसडीके-रूट \ एसडीके '
इसके बाद ग्रैडल कार्य विंडो पर वापस लौटाया जाता है और assembleAssembleRelease पर डबल क्लिक करें।
यदि सभी सफल है, तो आपको फ़ोल्डर ऐप \ बिल्ड \ एपीके में जाने और अपनी तैनाती योग्य एपीके फ़ाइल खोजने में सक्षम होना चाहिए।