Подтвердить что ты не робот

Идентификатор ресурса не найден для атрибута 'srcCompat' в пакете 'learnapp.android.example.com.learnapp'

Я получаю Error:(26) No resource identifier found for attribute 'srcCompat' in package 'learnapp.android.example.com.learnapp' когда я пытаюсь запустить мое приложение. Я только что начал изучать Android сегодня. Я добавил новую активность и изменения в любом файле xml.

Это точная ошибка:

Documents/MyProjects/LearnApp/app/src/main/res/layout/activity_display_message.xml
Error:(26) No resource identifier found for attribute 'srcCompat' in package 'learnapp.android.example.com.learnapp'

Вот мой activity_display_message.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:context="learnapp.android.example.com.learnapp.DisplayMessageActivity">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:popupTheme="@style/AppTheme.PopupOverlay" />

    </android.support.design.widget.AppBarLayout>

    <include layout="@layout/content_display_message" />

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        android:layout_margin="@dimen/fab_margin"
        app:srcCompat="@android:drawable/ic_dialog_email" />

</LinearLayout>

Я уже прочитал похожие вопросы и увидел, что либо строка

xmlns:app="http://schemas.android.com/apk/res-auto"

или

app:srcCompat="@android:drawable/ic_dialog_email" />

был ошибочным в своем случае, который не в моем случае.

Если это важно, эта активность родительского действия - MainActivity.java

4b9b3361

Ответ 1

Я просто изменил

xmlns:app="http://schemas.android.com/apk/res-auto" 

к

xmlns:app="http://schemas.android.com/apk/lib/my_package_name"

Я видел ответ здесь

Ответ 2

изменить app:srcCompat="@android:drawable/ic_dialog_email" для

android:src="@android:drawable/ic_dialog_email"

Ответ 3

Также происходит, когда у вас устаревшие версии библиотек поддержки.

Я обновил:

compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.android.support:support-v4:23.1.1'
compile 'com.android.support:recyclerview-v7:23.1.1'

в

compile 'com.android.support:appcompat-v7:24.2.1'
compile 'com.android.support:design:24.2.1'
compile 'com.android.support:support-v4:24.2.1'
compile 'com.android.support:recyclerview-v7:24.2.1'

(это были самые новые версии в тот момент, когда я это написал)

и ошибка исчезла.

Ответ 4

Вы также можете попробовать

android:src = "@drawable/ic_dialog_email"

вместо

app:srcCompat="@android:drawable/ic_dialog_email"

У меня была такая же ошибка, и это сработало для меня.

Ответ 5

Добавьте этот vectorDrawables.useSupportLibrary = true к вашему уровню приложения build.gradle

defaultConfig {
    ...
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
    vectorDrawables.useSupportLibrary = true
}

Ответ 6

Похоже, вы только что создали новый проект. Так что я исправил это для меня, обновляя мои инструменты поддержки сборки, а затем создавая новый проект с нуля.

Для обновления: Android Studio- > Настройки...- > Внешний вид и поведение- > Настройки системы- > Android SDK- > Android SDK Build-Tools- > Установите флажок для обновления

Ответ 7

У меня была аналогичная проблема.

мой инструктор попробует обновить API 22 до API 25, и он работает. возможно, вы можете попробовать на этом же.

Ответ 8

Случается, если вы начнете обновление Android Studio и отмените обновление на полпути завершите процесс обновления, и все должно вернуться к нормальной работе

Ответ 9

Я использую srcCompat api следующим образом.

<android.support.v7.widget.AppCompatImageView
      android:id="@+id/dashboard"
      android:layout_width="60dp"
      android:layout_height="60dp"
      srcCompat="@drawable/dash">

Дополнительная информация

Ответ 10

Я не знаю причину, по которой это происходит, но вы исправитесь, просто изменив это приложение: srcCompat на android: src, и это будет работать как шарм:)

Это протестировано в Android Studio версии 2.2.3