एंड्रॉइड एरर बिल्डिंग साइनड एपीके: keystore.jks साइनिंग के लिए नहीं मिला 'एक्सटर्नलऑवरराइड'


85

मुझे यह त्रुटि तब होती है जब मैं बिल्ड एपीके को एपीके करने की कोशिश करता हूं। मैंने हाल ही में एपीआई 23 में अपग्रेड किया था लेकिन जनरेट एपीके: उसके बाद सफलतापूर्वक। मैं उलझन में हूं। मदद के लिए पूछना और सलाह देना कि इस समस्या को कैसे हल किया जाए। यहाँ त्रुटि है

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:validateExternalOverrideSigning'.
> Keystore file /Users/me/Desktop/final apps/keystore.jks not 
found for signing config 'externalOverride'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --  
debug option to get more log output.

और लॉग

Information:Gradle tasks [:app:assembleRelease]
:app:preBuild UP-TO-DATE
:app:preReleaseBuild UP-TO-DATE
:app:checkReleaseManifest
:app:preDebugBuild UP-TO-DATE
:app:prepareComAndroidSupportAppcompatV72311Library UP-TO-DATE
:app:prepareComAndroidSupportSupportV42311Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesAppindexing810Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesBasement810Library UP-TO-DATE
:app:prepareReleaseDependencies
:app:compileReleaseAidl UP-TO-DATE
:app:compileReleaseRenderscript UP-TO-DATE
:app:generateReleaseBuildConfig UP-TO-DATE
:app:generateReleaseAssets UP-TO-DATE
:app:mergeReleaseAssets UP-TO-DATE
:app:generateReleaseResValues UP-TO-DATE
:app:generateReleaseResources UP-TO-DATE
:app:mergeReleaseResources UP-TO-DATE
:app:processReleaseManifest UP-TO-DATE
:app:processReleaseResources UP-TO-DATE
:app:generateReleaseSources UP-TO-DATE
:app:compileReleaseJavaWithJavac
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
:app:compileReleaseNdk UP-TO-DATE
:app:compileReleaseSources
:app:lintVitalRelease
:app:transformClassesWithDexForRelease
:app:mergeReleaseJniLibFolders
:app:transformNative_libsWithMergeJniLibsForRelease
:app:processReleaseJavaRes UP-TO-DATE
:app:transformResourcesWithMergeJavaResForRelease
:app:validateExternalOverrideSigning FAILED
Error:Execution failed for task ':app:validateExternalOverrideSigning'.
> Keystore file /Users/me/Desktop/final apps/keystore.jks not found for
signing config 'externalOverride'. 

यहाँ मेरा ग्रेडल है

apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion "23.0.2"


defaultConfig {
    applicationId "com.waffles.vatsandbats"
    minSdkVersion 14
    targetSdkVersion 23
}

buildTypes {
    release {
        minifyEnabled false
         proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.txt'     
    }
}
}

dependencies {

compile files('libs/acra-4.7.0-javadoc.jar')
compile files('libs/acra-4.7.0-sources.jar')
compile files('libs/acra-4.7.0.jar')
compile 'com.google.android.gms:play-services-appindexing:8.1.0'
compile files('libs/activation.jar')
compile files('libs/mail.jar')
compile files('libs/additionnal.jar')
compile 'com.android.support:support-v4:23.1.1'
compile 'com.android.support:appcompat-v7:23.1.1'


}

जवाबों:


128

मुझे इसका हल मिल गया। मैंने keystore.jksफ़ाइल का पथ गलत समझा । मेरे कंप्यूटर पर फ़ाइल के लिए खोज उस पथ का उपयोग किया और सब कुछ बहुत अच्छा काम किया।


2
मुझे अपनी .jks फ़ाइल को किसी अन्य स्थान पर ले जाने के बाद यह त्रुटि मिली और एंड्रॉइड स्टूडियो x में अपडेट करना भूल गया) धन्यवाद
आर्बिटूर

53

फ़ाइल -> अमान्य कैश और पुनः आरंभ करें ...

बिल्ड -> बिल्ड साइन इन एपीके -> डायलॉग में पाथ चेक करें

मुख्य स्टोर पथ की जाँच करें


13

यह एक समस्या है जो .jks फ़ाइल को बनाते समय एक पथ के बजाय "फ़ाइल नाम" लिखने से उत्पन्न हो सकती है। एक नया जेनरेट करें, इसे डेस्कटॉप (या किसी अन्य वास्तविक पथ) पर रखें और एपीके फिर से जेनरेट करें।


2
एंड्रॉइड स्टूडियो आपको एक फ़ोल्डर चुनने देता है और यह मेरी समस्या थी ... मैंने फ़ोल्डर चुना, कुंजी फ़ाइल नहीं ... -1 चुनने के लिए एंड्रॉइड स्टूडियो के लिए कुछ काम करने वाला नहीं है।
लुइस्मि

11

मौजूदा चुनें पर क्लिक करें और फिर से उस स्थान को चुनें जहाँ आपकी jks फाइल स्थित है।

यहां छवि विवरण दर्ज करें

मुझे उम्मीद है कि यह ट्रिक आपके लिए काम कर रही है


1
वास्तव में यह सटीक समाधान है
TAHA SULTAN TEMURI

3

मैं एक ही समस्या है, क्योंकि मैं keystore पथ नहीं है, तो मैं Waffles.inc समाधान देखते हैं और एक नई समस्या थी मेरे Android स्टूडियो 3.1 में मैक के लिए एक विंडोज़ संवाद समस्या थी जब नया कीस्ट्रोर पथ बनाने की कोशिश कर रहा था , यह इस तरह है

यहां छवि विवरण दर्ज करें

अगर आपके पास एक ही समस्या है, तो काली खिड़कियों के बारे में चिंता न करें, यह आपके नए कीस्टोर को टाइप कर रहा है और फिर सहेजें।


2

TL; DR: अपनी keystore.jksफ़ाइल का पथ जांचें

मेरे मामले में, यहाँ क्या हुआ:

मैंने अपने संपूर्ण एप्लिकेशन के प्रोजेक्ट फ़ोल्डर को अपने पीसी पर किसी अन्य स्थान पर स्थानांतरित कर दिया। बहुत बाद में, मैं एक हस्ताक्षरित apk फ़ाइल तैयार करना चाहता था। मेरे लिए अज्ञात, मेरे लिए पथ का डिफ़ॉल्ट स्थान keystore.jksगलत स्थान पर रीसेट हो गया था और मैंने ठीक क्लिक किया था। चूँकि यह मेरे द्वारा चुने गए पथ पर एक कीस्टोर नहीं खोज सका, मुझे वह त्रुटि मिली।

समाधान यह जांचने के लिए था कि मेरी keystore.jksफ़ाइल का पथ सही था या नहीं।


0

ओपन की.प्रोस्पेर्टी और चेक करें कि आपका रास्ता सही है। (से बदलें /)

उदाहरण: -

से की जगह "storeFile = D: \ परियोजनाओं \ स्पंदन \ कुंजी \ key.jks" के लिए "storeFile = डी: /Projects/Flutter/Key/key.jks"


0

ऊपर जिन लोगों ने कोशिश की है, उनके लिए कुंजी को उत्पन्न करने की कोशिश करें -कीपास और -स्टोरपास विकल्पों के साथ, क्योंकि मैं केवल एक पासवर्ड इनपुट कर रहा था जब इसे चलाने की तरह रिएक्टिव नेटिव डॉक्स आपके पास होते हैं। यह निर्माण करने की कोशिश में त्रुटि के कारण हुआ।

keytool -keypass PASSWORD1 -storepass PASSWORD2 -genkeypair -v -Stystore release2.keystore -alias release2 -keyalg RSA -keysize 2048 -value 10000


0

लिनक्स या उबंटू पर आपको पूर्ण पथ का उपयोग करने की आवश्यकता है।

उदाहरण के लिए

/home/ubuntu/.android/keystorname.keystore

मेरे मामले में मैं ~इसके बजाय उपयोग कर रहा था /home/user/। नीचे की तरह शॉर्टहैंड का उपयोग करने से काम नहीं चलता है

~/.android/keystorname.keystore
./keystorename.keystore

0

कीस्टोर फ़ाइल के पथ को संपादित करने से मेरी समस्या हल हो गई।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.