Я використовую Studio 3.3.1 Build з 28 січня.
Для мене я отримував повідомлення про помилку підключення ресурсу Android, що вказує на рядок у файлі макета за допомогою ConstraintLayout, який працював коректно до сьогодні, коли єдиною зміною мого файлу gradle на рівні програми було оновлення версій:
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, і змінив посилання на цей ідентифікатор в інших компонентах, які посилаються на нього в макеті. Компіляція не вдалося .
Я знову вирізав блок і вставив його в WordPad. Потім, читаючи з вставки WordPad, я фактично набрав його назад (тобто цього разу не копіював / вставляв) - рядок за рядком, роблячи проект на проекті після того, як я набрав мінімальне визначення, а потім знову, коли я поставити в кожному новому рядку. Кожного разу проект складався чисто!
Я не знаю, що з цим робити. Можливо, якийсь помилковий невидимий символ був у файлі спочатку?