मैं 28 जनवरी से स्टूडियो 3.3.1 बिल्ड का उपयोग कर रहा हूं।
मेरे लिए मुझे "एंड्रॉइड रिसोर्स लिंकिंग फेल हो रहा था" कॉन्स्ट्रेनल लयआउट का उपयोग करते हुए एक लेआउट फाइल में एक लाइन की ओर इशारा करते हुए कहा गया था, जो आज तक सही ढंग से काम कर रहा था, जब मेरे ऐप लेवल ग्रेडल फाइल का एकमात्र परिवर्तन संस्करणों के अपडेट के लिए था:
android.arch.navigation:navigation-fragment
android.arch.navigation:navigation-ui
से 1.0.0-rc01
करने के लिए1.0.0-rc02
।
त्रुटि संदेश ने पहचान न करने के बारे में कुछ कहा layout_constraintTop_toTopOf
जो निश्चित रूप से मूर्खतापूर्ण है क्योंकि यह महीनों से काफी खुशी से संकलित कर रहा था।
मैं पहले से ही 28.0.3 बिल्ड टूल्स पर और compileSdkVersion
28 का हूं। मैं androidx.appcompat
अब थोड़ी देर के लिए हर जगह का उपयोग कर रहा हूं (इस प्रोजेक्ट को महीनों बाद androidx में बदल दिया है)।
मैं पहली बार एक प्रोजेक्ट क्लीन (कोई मदद नहीं), और कैश / रिस्टार्ट (कोई मदद नहीं) को अमान्य कर रहा था। प्रश्न में लेआउट को मूल रूप से परिभाषित किया गया था
<TextView>
, <EditText>
और <ImageView>
घटक (जो आज तक ठीक काम कर रहे थे)।
लेकिन उपरोक्त उत्तरों को पढ़ने के बाद मुझे लगा कि शायद किसी तरह यहाँ भ्रम पैदा हो रहा है इसलिए मैंने उपयोग करने के लिए लेआउट बदल दिया:
<androidx.appcompat.widget
सभी विभिन्न घटकों के संस्करण। कोई बदलाव नहीं - फिर भी त्रुटि मिली।
फिर मैंने उस <androidx.appcompat.widget.AppCompatTextView
ब्लॉक को हटा दिया जो संकलन त्रुटि का कारण बन रहा था। मैंने इसके बजाय "पैरेंट" को संदर्भित करने के लिए अन्य विगेट्स में सभी संदर्भों को बदल दिया। एक मेक किया। इस बार संकलन बिना किसी त्रुटि के पूरा हुआ ।
तो उस विजेट परिभाषा में कुछ अजीब मुझे लगा .... यहाँ यह है कि यह क्या था:
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/contact_firstname_label"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/contact_fname_label"
android:gravity="end"
android:textAppearance="@android:style/TextAppearance.Material.Small"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@+id/contact_detail_fname"
app:layout_constraintBaseline_toBaselineOf="@+id/contact_detail_fname"/>
फिर मैंने पहले जिस ब्लॉक में Ctrl-V काटा था, उसे वापस पास्ट कर दिया और उस आईडी के संदर्भ को अन्य घटकों में बदल दिया जो लेआउट में इसे संदर्भित करता है। संकलन विफल रहा ।
मैंने ब्लॉक को फिर से काट दिया और इसे वर्डपैड पर चिपका दिया। फिर वर्डपैड पेस्ट से पढ़ना, मैंने वास्तव में इसे वापस टाइप किया (यानी मैंने इस बार कॉपी / पेस्ट नहीं किया) - लाइन द्वारा लाइन, प्रोजेक्ट पर एक मेक करने के बाद मैंने न्यूनतम परिभाषा में टाइप किया, और फिर उसके बाद जब मैं प्रत्येक नई पंक्ति में रखें। हर बार परियोजना को साफ-सुथरा संकलित किया गया!
मुझे नहीं पता कि यह क्या बनाना है। मूल रूप से फ़ाइल में कुछ सहज अदृश्य चरित्र था?