28 Ocak'tan itibaren Studio 3.3.1 Build kullanıyorum.
Benim için, uygulama düzeyindeki gradle dosyamdaki tek değişikliğin sürümlerini güncellemek olduğu zamana kadar doğru çalışan ConstraintLayout kullanan bir düzen dosyasındaki bir satıra işaret eden "android kaynak bağlama hatası" hatası alıyordum:
android.arch.navigation:navigation-fragment
android.arch.navigation:navigation-ui
dan 1.0.0-rc01
için 1.0.0-rc02
.
Hata mesajı, layout_constraintTop_toTopOf
aylardır mutlu bir şekilde derlendiği için hangisinin aptalca olduğunu anlamamakla ilgili bir şey söyledi .
Zaten 28.0.3 derleme araçlarını ve compileSdkVersion
28'i kullanıyorum androidx.appcompat
. Bir süredir her yerde kullanıyorum (bu projeyi aylar sonra androidx'e dönüştürdüm).
İlk önce temiz bir proje (yardım yok) ve önbelleği geçersiz kılma / yeniden başlatma (yardım yok) yaptım. Söz konusu düzen, başlangıçta kullanılarak tanımlanmıştır
<TextView>
, <EditText>
Ve <ImageView>
(bugüne kadar iyi çalışıyor olmuştu) bileşenler.
Ancak yukarıdaki cevapları okuduktan sonra, burada bir şekilde karışıklığa neden olabileceğini düşündüm, bu yüzden kullanılacak düzeni değiştirdim:
<androidx.appcompat.widget
tüm çeşitli bileşenlerin sürümleri. Değişiklik yok - hala hata var.
Daha sonra <androidx.appcompat.widget.AppCompatTextView
derleme hatasına neden olan bloğu sildim . Diğer widget'lardaki tüm referansları bunun yerine "üst öğe" olarak değiştirdim. Yaptı. Bu sefer derleme hatasız tamamlandı .
Yani düşündüğüm o widget tanımında garip bir şey .... işte şuydu:
<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"/>
Daha sonra daha önce Ctrl-V kestiğim bloğu tekrar yapıştırdım ve referansları mizanpajda referans veren diğer bileşenlerde bu ID'ye geri değiştirdim. Derleme başarısız oldu .
Bloğu tekrar kestim ve WordPad'e yapıştırdım. Sonra WordPad yapıştırmasından okudum, aslında onu tekrar yazdım (yani bu sefer kopyalamadım / yapıştırmadım) - satır satır, minimal tanımı yazdıktan sonra proje üzerinde bir makyaj yaptım ve daha sonra tekrar her yeni satıra koyun. Proje her seferinde temiz bir şekilde derlendi!
Bundan ne çıkaracağımı bilmiyorum. Belki de başlangıçta dosyada bazı sahte görünmez karakterler vardı?