क्या Android Studio डिबग बनाता है? यदि हां, तो इसे करने के लिए कीस्टॉर कहां है?
क्या Android Studio डिबग बनाता है? यदि हां, तो इसे करने के लिए कीस्टॉर कहां है?
जवाबों:
यह उसी स्थान पर है: ~/.android/debug.keystore
यदि आप Windows का उपयोग करते हैं, तो शायद स्थान इस प्रकार है:
C: \ उपयोगकर्ता \ YourUser \ .android \ debug.keystore
यदि आप चाहें तो आप अपना स्वयं का डीबग कीस्टोर निर्दिष्ट कर सकते हैं। यह समाधान आपको प्रोजेक्ट डायरेक्टरी के बाहर अपनी कुंजी को स्टोर करने की क्षमता के साथ-साथ हस्ताक्षर प्रक्रिया में स्वचालन का आनंद भी देता है। हां, आप टैब में कीस्टोर्स File -> Project Structure
और पासवर्ड साइन करने के लिए जा सकते हैं , Signing
लेकिन यह प्लेनटेक्स्ट एंट्री को आपकी gradle.build फाइल में डाल देगा, जिसका अर्थ है कि आपके रहस्यों का खुलासा हो सकता है (विशेषकर रिपॉजिटरी कमिट्स में)। इस समाधान के साथ आपको डिबग और रिलीज़ बिल्ड के दौरान अपने स्वयं के कीस्टोर और स्वचालन के जादू का उपयोग करने का नियंत्रण मिलता है।
1) एक gradle.properties बनाएँ (यदि आपके पास पहले से कोई नहीं है)।
इस फ़ाइल का स्थान आपके OS पर निर्भर करता है:
/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)
2) yourprojectname.properties
फ़ाइल को इंगित करने वाली प्रविष्टि जोड़ें ।
(विंडोज के लिए उदाहरण)
yourprojectname.properties=c:\\Users\\<username>\\signing\\yourprojectname.properties
3) yourprojectname.properties
निम्न जानकारी के साथ चरण 2 में आपके द्वारा निर्दिष्ट स्थान पर फ़ाइल बनाएँ :
keystore=C:\\path\\to\\keystore\\yourapps.keystore
keystore.password=your_secret_password
4) चर का उपयोग करने के gradle.build
लिए yourprojectname.properties
फ़ाइल को इंगित करने के लिए अपनी फ़ाइल को संशोधित करें ।
if(project.hasProperty("yourprojectname.properties")
&& new File(project.property("yourprojectname.properties")).exists()) {
Properties props = new Properties()
props.load(new FileInputStream(file(project.property("yourprojectname.properties"))))
android {
signingConfigs {
release {
keyAlias 'release'
keyPassword props['keystore.password']
storeFile file(props['keystore'])
storePassword props['keystore.password']
}
debug {
keyAlias 'debug'
keyPassword props['keystore.password']
storeFile file(props['keystore'])
storePassword props['keystore.password']
}
}
compileSdkVersion 19
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "your.project.app"
minSdkVersion 16
targetSdkVersion 17
}
buildTypes {
release {
}
}
}
}
dependencies {
...
}
5) आनंद लें! अब आपकी सभी चाबियां निर्देशिका की जड़ से बाहर होंगी और फिर भी आपके पास प्रत्येक निर्माण के लिए स्वचालन की खुशियाँ हैं।
यदि आपको "प्रॉपर" वैरिएबल के बारे में अपने gradle.build फ़ाइल में कोई त्रुटि मिलती है, तो यह इसलिए है क्योंकि आप "android {}" ब्लॉक को पहले if
ऐसी स्थिति में निष्पादित नहीं कर रहे हैं, जहाँ props
वेरिएबल को असाइन किया गया है, इसलिए बस पूरे android {... } सेक्शन में वह अवस्था जिसमें प्रॉपर वैरिएबल असाइन किया गया है फिर से कोशिश करें।
मैंने यहाँ और यहाँ मिली जानकारी से इन चरणों को एक साथ जोड़ दिया ।
Android Studio debug.keystore फ़ाइल पथ पर्यावरण चर ANDROID_SDK_HOME पर निर्भर करता है।
यदि ANDROID_SDK_HOME परिभाषित किया गया है, तो SDK के सबफ़ोल्डर में रखा फ़ाइल .android ।
जब परिभाषित नहीं किया जाता है, तो केइस्टोर को उपयोगकर्ता के घर पथ पर उसी सबफ़ोल्डर में रखा जाता है:
- % HOMEPATH% \। Android \ on Windows
- $ HOME / .android / Linux पर।
यहां बताया गया है कि मैंने आखिरकार ~ / .android / debug.keystore फ़ाइल कैसे बनाई।
पहले कुछ पृष्ठभूमि। मुझे एक नया ट्रैवल लैपटॉप मिला। Android स्टूडियो स्थापित किया गया। Git hub से मेरे android प्रोजेक्ट को क्लोन किया। प्रोजेक्ट नहीं चलेगा। अंत में पता चला कि debug.keystore नहीं बनाया गया था ... और मैं यह पता नहीं लगा सका कि इसे बनाने के लिए एंड्रॉइड स्टूडियो कैसे प्राप्त करें।
अंत में, मैंने एक नई रिक्त परियोजना बनाई ... और उस ने debug.keystore बनाया!
आशा है कि यह अन्य जो इस समस्या है मदद करता है।