2015-08-24 10 views
8

निर्माण जबकि हस्ताक्षर किए रिहाई APK मैं का सामना करना पड़ा है निम्नलिखित: अगर मैं निर्माण apk एंड्रॉयड स्टूडियो से (Build के माध्यम से ->Generate Signed APK...) पर हस्ताक्षर किए build.gradle फ़ाइल के साथ इस तरह (केवल प्रासंगिक भागों):एंड्रॉयड एंड्रॉयड स्टूडियो और कंसोल से बनाया APK अलग SHA उंगलियों के निशान

signingConfigs { 
    release { 
     storeFile file('/keystore/location/mykeystore.keystore') 
     storePassword 'storepassword' 
     keyAlias 'key' 
     keyPassword 'keypassword' 
    } 
} 
buildTypes { 
    release { 
     signingConfig signingConfigs.release 
    } 
} 

जिसके परिणामस्वरूप apk फिंगरप्रिंट YY:YY है।
हालांकि, अगर मैं अपने APK का निर्माण कंसोल से इस तरह build.gradle साथ here वर्णित के रूप में:

buildTypes { 
    release { 
    } 
} 

और एक ही कुंजी संग्रह फ़ाइल के साथ इस पर हस्ताक्षर, जिसके परिणामस्वरूप apk फिंगरप्रिंट XX:XX है।

इसके अलावा, दोनों SHA फिंगरप्रिंट मेरे डीबग प्रमाणपत्र SHA फिंगरप्रिंट से अलग हैं। ऐसे व्यवहार का कारण क्या है?

मैं buildToolsVersion उपयोग कर रहा हूँ 23.0.0
एंड्रॉयड स्टूडियो Gradle संस्करण 1.3.0
Android SDK Tools संस्करण 24.3.4
एंड्रॉयड स्टूडियो संस्करण 1.3.1

+0

क्या आप वाकई रिलीज बिल्ड संस्करण में दोनों apks उत्पन्न कर रहे हैं? –

+0

@Fondesa मुझे यकीन है कि मैं रिलीज बिल्ड संस्करण में दोनों apks का निर्माण। कीस्टोर और कुंजी निर्दिष्ट करने के बाद एंड्रॉइड स्टूडियो में निर्माण करते समय, मैं 'बिल्ड टाइप' रिलीज का चयन करता हूं। कंसोल से निर्माण करते समय मैं './gradlew assembleRelease' चलाता हूं। – Mikhail

+0

आपका प्रश्न स्टूडियो बनाम ग्रेडल में हस्ताक्षरित एपीके उत्पन्न करने या स्टूडियो के माध्यम से मैन्युअल रूप से हस्ताक्षर करने के बारे में है? –

उत्तर

1

आप कुंजी संग्रह की सामग्री की जाँच की थी ? फिंगरप्रिंट को प्रमाणपत्रों में से एक से मेल खाना है। आपके कीस्टोर में एकाधिक प्रमाणपत्र होना संभव है, शायद कंसोल से साइन इन करने के दौरान एक अलग इस्तेमाल किया जा रहा है? आप निम्न आदेश चलाकर प्रमाण पत्र की जांच कर सकते हैं:

Keytool -v -List -keystore/path/

कीस्ट्रोक के लिए पासवर्ड दर्ज करें और आप उपनाम की एक सूची मिलना चाहिए/कीस्ट्रोक को। मैं यह सुनिश्चित करने के लिए डीबग कीस्टोर भी जांचूंगा कि वहां अन्य प्रमाणपत्र नहीं हैं।

एकमात्र अन्य संभावना जो मैं सोच सकता हूं वह एक पथ मुद्दा है जो एक अलग कीस्टोर का उपयोग किया जा रहा है।

+0

कुंजी स्टोर पथ समान हैं। कीस्टोर वही है। मैंने स्टूडियो के साथ हस्ताक्षरित एपीके-एस से दोनों प्रमाण पत्र निर्यात किए और मैन्युअल रूप से, वे एक ही कुंजी का उपयोग करते हैं, लेकिन फिंगरप्रिंट अभी भी अलग है। शायद ऐसा इसलिए है क्योंकि एपीके संरेखण प्रक्रिया? – Raiv

संबंधित मुद्दे