मैं अपने एंड्रॉइड स्टूडियो ग्रैडल प्रोजेक्ट (ज्यादातर कोटलिन कोड युक्त) को फिर से बनाने की कोशिश कर रहा हूं, लेकिन यह UnableToDeleteFileException
सफाई / पुनर्निर्माण पुनर्निर्माण के दौरान फेंकना शुरू कर दिया है :
Execution failed for task ':app:clean'.
> Unable to delete file: C:\Users\User\KotlinGameEngine\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\23.0.1\jars\classes.jar
यह तब शुरू हुआ जब मैंने अपनी परियोजना के पैकेज के ढांचे को बदलने की कोशिश की। दुर्भाग्य से, मैंने इसे एंड्रॉइड स्टूडियो के माध्यम से रीफ़्रैक्टर करने के बजाय स्रोत फ़ोल्डरों का नाम बदलने और स्थानांतरित करके किया, जो एक बुरा विचार था।
मैं पूरे दिन इस समस्या का हल खोज रहा हूं, और ये ऐसी चीजें हैं जिनका मैंने कोई फायदा नहीं उठाया है:
- ग्रैडल सिंक करना;
- जावा जेआरई और जावा एसडीके की स्थापना;
- एंड्रॉइड स्टूडियो के नवीनतम संस्करण को पुनर्स्थापित करना (1.4);
- पिछले एएस संस्करण (1.3) पर वापस रोलिंग;
- एएस कैश को अमान्य करना और पुनरारंभ करना;
- परियोजना निर्देशिका में निर्देशिका को हटाना
gradle
और हटाना.gradle
; .gradle
मेरी उपयोगकर्ता निर्देशिका में निर्देशिका हटाना ;gradlew clean
एएस टर्मिनल से चल रहा है;- मैन्युअल रूप से एक नई परियोजना के स्रोतों की नकल करना (अजीब है कि यह किसी भी तरह परियोजनाओं पर बनी रहे ...)
चीजें हैं जो मैंने थोड़ी सी सफलता के साथ कोशिश की हैं, लेकिन केवल मुझे एक और अधिक स्वच्छ प्रदर्शन करने और त्रुटि होने से पहले पुनर्निर्माण करना चाहिए:
- एएस बंद करना, मैन्युअल रूप से बिल्ड फ़ाइलों को हटाना, और इसे फिर से खोलना;
java.exe
जब एएस चल रहा हो तो प्रक्रिया को मारना (यह तकनीकी रूप से हर बार किया जा सकता है, लेकिन यह थकाऊ है और निर्माण प्रक्रिया को धीमा कर देता है)
तो ऐसा लगता है कि जावा प्रक्रिया का संकलन किसी कारण से बिल्ड फ़ाइलों पर ताला लगा सकता है, लेकिन यह कोटलिन के साथ कुछ करना भी हो सकता है। मेरे पास एक (अधिक परिपक्व) जावा एंड्रॉइड प्रोजेक्ट है जिस पर मैं काम कर रहा हूं, हालांकि इसे साफ करते समय मैं इस त्रुटि को पुन: पेश नहीं कर सकता। यह केवल मेरे कोटलिन परियोजना के लिए होता है।
अपडेट करें:
मैंने पाया है कि समस्या कोटलीन एंड्रॉइड प्लगइन के कारण हो रही है। समस्या तब गायब हो जाती है जब मैं apply plugin: 'kotlin-android'
मॉड्यूल की build.gradle
फ़ाइल से निकालता हूं और जब मैं इसे पुनः स्थापित करता हूं तो वापस आ जाता है। इस में किसी भी अंतर्दृष्टि की पेशकश करने के लिए स्वतंत्र महसूस करें।
अपडेट 2:
अंतिम अद्यतन का कारण नहीं है। मैंने पाया कि यदि किसी प्रोजेक्ट में कोटलिन फ़ाइल है तो पुनर्निर्माण और सफाई विफल हो जाती है। यह विफल रहता है, भले ही सभी कोटलिन फाइलें हटा दी जाती हैं, जब तक कि पृष्ठभूमि जावा प्रक्रिया को मार नहीं दिया जाता है, इसका अर्थ है कि बिल्ड फ़ाइलों पर किसी प्रकार का लॉक है। मैंने बग को पुन: पेश करने के लिए अधिक विवरण और चरणों के साथ यहां एक बग प्रस्तुत किया: केटी -9440