यदि आप केवल निष्कर्ष जानना चाहते हैं, तो कृपया अंतिम अनुभाग पर जाएँ। धन्यवाद।
आमतौर पर जब बिल्डिंग प्रोजेक्ट फेल होता है, तो कुछ सामान्य ट्रिक्स जो आप आजमा सकते हैं:
- बिल्ड -> स्वच्छ परियोजना
- बिल्ड वेरिएंट की जाँच करें
- Android Studio को पुनरारंभ करें (जैसा कि आपने उल्लेख किया है)
लेकिन आपकी समस्या के लिए और अधिक विशिष्ट होना चाहिए - जब एंड्रॉइड स्टूडियो डिस्क पर एपीके फ़ाइल नहीं ढूंढ सका। इसका मतलब है कि एंड्रॉइड स्टूडियो ने वास्तव में परियोजना का सफलतापूर्वक निर्माण किया है, और एपीके भी उत्पन्न किया है, हालांकि, किसी कारण से, एंड्रॉइड स्टूडियो फ़ाइल खोजने में सक्षम नहीं है।
इस मामले में, लॉग के अनुसार मुद्रित निर्देशिका की जांच करें। यह उपयोगी है।
उदाहरण के लिए:
एंड्रॉइड स्टूडियो 2.0 पूर्वावलोकन के साथ (143.2443734 का निर्माण)।
- किसी विशिष्ट कमिट के लिए चेकआउट करें (ताकि यह सिर से अलग हो जाए): git चेकआउट [प्रतिबद्ध_हाश]
- प्रोजेक्ट चलाएं
- Android Studio बताता है: एपीके फ़ाइल / उपयोगकर्ता / MyApplicationName / ऐप / बिल्ड / आउटपुट / APK / ऐप-डिबग-HEAD.apk डिस्क पर मौजूद नहीं है
- निर्देशिका में जाएं, वास्तव में एक फ़ाइल है जिसका नाम है: ऐप-डिबग- (HEAD.apk (अतिरिक्त कोष्ठक के साथ))
भागो शाखा
* (HEAD ने 1a2bfff पर अलग किया)
तो यहाँ आप देख सकते हैं, मेरे ग्रेड बिल्ड स्क्रिप्ट की गलती के कारण , फ़ाइल का नामकरण किसी तरह गलत है।
उपरोक्त उदाहरण सिर्फ एक परिदृश्य है जो एक ही मुद्दे को जन्म दे सकता है, लेकिन आपके समान मूल कारण होने के लिए आवश्यक नहीं है।
परिणामस्वरूप, मैं आपको निर्देशिका (अंतर खोजने के लिए) की जांच करने और अपनी बिल्ड.ग्रेडल स्क्रिप्ट (आप नीचे दिए गए कुछ नाम जैसे APK नाम बदल सकते हैं ) की जांच करने के लिए दृढ़ता से अनुशंसा करते हैं :
applicationVariants.all { variant ->
variant.outputs.each { output ->
def newFileName = "whatever you want to name it";
def apk = output.outputFile;
output.outputFile = new File(apk.parentFile, newFileName);
}
}