Не найден ресурс, который соответствует указанному имени: attr 'android: keyboardNavigationCluster'. при обновлении до Support Library 26.0.0

У меня есть эта проблема при обновлении до последней версии Support Library версии 26.0.0 (https://developer.android.com/topic/libraries/support-library/revisions.html#26-0-0):

Ошибка: (18, 21) Ресурс не найден, который соответствует указанному имени: attr. "Андроид: keyboardNavigationCluster

/.../app/build/intermediates/res/merged/beta/debug/values-v26/values-v26.xml
Error:(15, 21) No resource found that matches the given name: attr 'android:keyboardNavigationCluster'.
Error:(18, 21) No resource found that matches the given name: attr 'android:keyboardNavigationCluster'.
Error:(15, 21) No resource found that matches the given name: attr 'android:keyboardNavigationCluster'.
Error:(18, 21) No resource found that matches the given name: attr 'android:keyboardNavigationCluster'.
Error:Execution failed for task ':app:processBetaDebugResources'.

com.android.ide.common.process.ProcessException: Не удалось выполнить команду aapt

Файл из библиотеки поддержки:

<style name="Base.V26.Widget.AppCompat.Toolbar" parent="Base.V7.Widget.AppCompat.Toolbar">
    <item name="android:touchscreenBlocksFocus">true</item>
    <item name="android:keyboardNavigationCluster">true</item>
</style>

Мы используем следующие версии:

ext.COMPILE_SDK_VERSION = 26
ext.BUILD_TOOLS_VERSION = "26.0.1"

ext.MIN_SDK_VERSION = 17
ext.TARGET_SDK_VERSION = 26
ext.ANDROID_SUPPORT_LIBRARY_VERSION = "26.0.0"
ext.GOOGLE_PLAY_SERVICES_LIBRARY_VERSION = "11.0.2"

compile 'com.android.support:appcompat-v7:' + ANDROID_SUPPORT_LIBRARY_VERSION
compile 'com.android.support:design:' + ANDROID_SUPPORT_LIBRARY_VERSION
compile 'com.android.support:recyclerview-v7:' + ANDROID_SUPPORT_LIBRARY_VERSION

Любые идеи?

Ответ 2

Изменить версию SDK для компиляции:

compileSdkVersion 26

Версия инструмента сборки:

buildToolsVersion "26.0.1"

Целевая версия SDK:

targetSdkVersion 26

зависимости:

compile 'com.android.support:appcompat-v7:26+'
compile 'com.android.support:design:26+'
compile 'com.android.support:recyclerview-v7:26+'
compile 'com.android.support:cardview-v7:26+'

Синхронизировать Gradle.

Ответ 3

Мне пришлось изменить compileSdkVersion = 26 и buildToolsVersion = '26.0.1' во всех моих зависимостях build.gradle files

Ответ 4

В моем проекте, основанном на реакции, эта ошибка генерируется в react-native-fbsdk. Обновление react-native-fbsdk/android/build.gradle следующим образом устраняет проблему.

compileSdkVersion 26
buildToolsVersion "26.0.1"

Ответ 5

Я ударил эту ту же ошибку и был Googling на всем протяжении, пытаясь найти то, что я делаю неправильно, поскольку это генерирует значения build-26, а не стили, которые я предоставил. Я пробовал все: от Gradle 4.0 до Android Studio preview 3.0 до канального канала, вы называете его.

Я не нашел ответа в Интернете. В конце концов, я смог вернуться к стандартному Dev Android Studio и 2.3.3 Gradle, поскольку я в итоге случайно его исправил:).

Оказалось, что я был настолько сосредоточен на обновлении моего проекта библиотеки, что не заметил, что ошибка была вызвана из неиспользуемого дополнительного модуля (демонстрационного приложения), который вложен в мой проект библиотеки. Как только я обновил дополнительный модуль, чтобы он соответствовал 26 инструментам сборки и 26+ библиотекам дизайна и поддержки, моя проблема исчезла.

Не уверен, что это то, что вы видите, но лично я только обновлял lib для выпуска, так что не заботился о примерном модуле приложения, и ошибка, несомненно, была связана с 26 sdk, которые я только коснулся модуля lib, поэтому не думал, чтобы проверить другой. Так что это была проблема для меня. Надеюсь, это исправит вас. У меня была эта ошибка в 2 библиотечных проектах, и я исправил ее в обоих.

Goodluck в любом случае, и если это не решит вашу проблему, поделитесь тем, что сделали. Инструменты сборки BTW 26.0.01 и дизайн и поддержка 26.1.0 - это то место, где я закончил, в конце концов, хотя 26.0.1 также работал отлично.

Ответ 6

У меня была эта точная ошибка, и я понял, что мой compileSdkVersion был установлен в 25, а мой buildToolsVersion был установлен в "26.0.1".

Итак, я просто изменил compileSdkVersion на 26 и синхронизировал Gradle. это устранило проблему для меня.

EDIT: my targetSDKVersion также был установлен как 26

Ответ 7

Я также столкнулся с этой проблемой, вам просто нужно сделать 2 изменения:

Имя файла: android/build.gradle укажите этот ниже код

subprojects {
   afterEvaluate { 
     project -> if (project.hasProperty("android")) { 
       android { 
        compileSdkVersion 26 buildToolsVersion '26.0.2' 
       } 
      }
    } 
}

Имя файла: android/app/build.gradle измените версию compliesdk и buildToolVersion следующим образом:

compileSdkVersion 26 buildToolsVersion "26.0.2"

и в

dependencies {
    compile 'com.android.support:appcompat-v7:26.0.2'
}

Ответ 8

У меня была та же проблема с моим проектом Ionic 2, все, что я сделал, чтобы решить проблемы, это

  • Откройте "ionic_project_folder/platform/android/project.properties"
  • Изменить цель = Android-25 на цель = Android-26
  • Запустите ionic build --release android

Надеюсь, это поможет кому-то!

Ответ 9

//Adding this to the root build.gradle solved my problem, thanks @Yalamber
subprojects {
        afterEvaluate { project ->
            if (project.hasProperty("android")) {
                android {
                    compileSdkVersion 26
                    buildToolsVersion '26.0.2'
                }
            }
        }
    }

Ответ 10

У меня была похожая ошибка для response-native-youtube и реагировать-native-ориентации.

Выяснилось, что build.gradle этих Project использует compileSdkVersion 23 но после api 26 была добавлена функция: android: keyboardNavigationCluster.

Так как исправить?

Один из способов легко это исправить - отредактировать ваш /android/build.gradle(!!! NOT/android/app/build.gradle) и добавить этот код внизу файла.

Это позволит вам принудительно использовать SDK и BuildTool-Version, которые используют ваши подмодули:

subprojects {
    afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
                compileSdkVersion 27
                buildToolsVersion "27.0.2"
            }
        }
    }
}

Ответ 11

После обновления вашей студии android до 3.0, если эта ошибка возникает, просто обновите свойства gradle, это настройки, которые решили мою проблему:

compileSdkVersion 26

targetSdkVersion 26

buildToolsVersion '26.0.2'

Ответ 12

когда вы пытаетесь изменить targetSDKVersion с 26 на 25 того времени, я обнаружил решение "Не найден ресурс", который соответствует имени: attr 'android: keyboardNavigationCluster'. при обновлении до библиотеки поддержки 26.0.0

Просто Chage Этот код из вашего Build.gradle

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '26.0.1'
            }
        }
    }
}

в

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '25.2.0'
            }
        }
    }
}

Ответ 13

Я обновил свой проект app/build.gradle чтобы иметь

compileSDkVersion 26
buildToolsVersion '26.0.1'

Однако проблема была на самом деле с пакетом react-native-fbsdk. Мне пришлось изменить те же настройки в node_modules/react-native-fbsdk/android/build.gradle.

Ответ 14

В андроид студии,
щелкните правой кнопкой мыши проект (так как у меня был проект Cordova, у меня был CordovaLib и Android: я выбрал Android в моем случае),

  1. Выберите "Открыть настройки модуля".
  2. В появившемся модальном окне "Структура проекта" выберите проект в разделе "Модули" на боковой панели (опять же, в моем случае, Android)
  3. Нажмите на вкладку Зависимости
  4. Нажмите на зеленую кнопку плюс в правом верхнем углу
  5. Выберите зависимость от библиотеки
  6. Выберите app-compat-v7 из выпадающего списка
  7. Очистить проект и восстановить

Ответ 15

Я столкнулся с той же проблемой для одного из моих проектов PhoneGap (Android Studio 3.0.1). Чтобы решить эту проблему, я следовал, следующий шаг

1) Щелкните правой кнопкой мыши на имени проекта (в моем случае Android), выберите "Открыть настройки модуля"

2) Выберите модули (Android и CordovaLib)

3) Нажмите свойства сверху

4) Выберите Compile SDK версию (я выбрал API 26: Android 8.0)

5) Выберите Build Tools Version (я выбрал 26.0.2)

6) Совместимость с источниками (1.6)

7) Целевая совместимость (1.6)

Нажмите Ok и пересоберите проект.

Следующая ссылка показывает мои настройки для шага, за которым я следовал

https://app.box.com/s/o11xc8dy0c2c7elsaoppa0kwe1d94ogh https://app.box.com/s/ofdcg0a8n0zalumvpyju58he402ag1th

Ответ 16

Я недавно попал в это и вспомнил, откуда это взялось. Это несоответствие между версией Xamarin.Android. * И установленной версией Android SDK.

Текущие VS2017 15.5.3 новые значения по умолчанию для проекта NuGet Xamarin.Android.* являются 25.4.0.2 и по умолчанию VS установки для разработки кроссплатформенных являются Android пакетов SDK:

  • Android 7.1 - Нуга
    • Платформа Android SDK 25
    • API Google Образ системы Intel x86 Atom

Если вы обновили свое решение nuGet для Xamarin.Android.* 26.1.0.1 вам нужно будет установить следующее в Android SDK:

  • Android 8.0 - Oreo
    • Платформа Android SDK 26
    • API Google Образ системы Intel x86 Atom

Ответ 17

Я получил эту проблему при компиляции реагировать-native-fbsdk

Я решил эту проблему, изменив build.gradle react-native-fbsdk

от

compile('com.facebook.android:facebook-android-sdk:4.+')

в

compile('com.facebook.android:facebook-android-sdk:4.28.0')

Ответ 18

Эта проблема была вызвана одной из библиотек для меня, которая нуждалась в версии 26 для компиляции.

Приведение targetSdkVersion в 26 приведет к другим проблемам, и вам придется настроить приложение для адаптации к платформе Oreo. Это не правильное решение для всех.

Просто для меня работали compileSdkVersion to 26 и buildToolsVersion to 26.0.2.

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

Ответ 19

обновите их в gradle

compileSdkVersion 27 buildToolsVersion '27.0.1 '

Ответ 20

Я решил эту проблему, внеся некоторые изменения в файл build.gradle

Изменения в root build.gradle следующие:

subprojects {
   afterEvaluate { 
     project -> if (project.hasProperty("android")) { 
       android { 
        compileSdkVersion 26 
        buildToolsVersion '26.0.1' 
       } 
      }
    } 
}

Изменения в build.gradle следующие:

compileSdkVersion 26 
buildToolsVersion "26.0.1"

а также

dependencies {
    compile 'com.android.support:appcompat-v7:26.0.1'
}

Ответ 21

Для тех, кто использует nativescript и сталкивается с этой проблемой: вы можете добавить

compileSdkVersion 26
buildToolsVersion '26.0.1'

в App_Resources/Android/app.gradle (под android {)

Затем запустите tns platform remove android и tns build android в корне вашего проекта.

Ответ 22

Убедитесь, что Android SDK 8.0 установлен в среде разработки. У меня была такая же проблема на моем MAC и установка SDK 8.0, и его инструменты исправили ее. У меня такая же проблема в Windows. Теперь я загружаю SDK.

Ответ 23

У меня была такая же проблема с ионной.

cordova platform remove android
cordova platform add [email protected]

И заменить в платформе /Android/Projet.properties

cordova.system.library.1=com.android.support:support-v4+

к

cordova.system.library.1=com.android.support:support-v4:26+

Ответ 24

Для этого вы должны сделать следующее: 1. щелкните правой кнопкой мыши проект.

2. открыть модуль settings-> в свойствах tab-> изменить версию SDK компиляции и инструмента сборки на 26,26.0.0.

3. Нажмите ОК.

Это работает для меня через час попробовал.

Ответ 25

Просто очистите проект и снова создайте его.

./gradlew  app:clean app:assembleDebug

Но это не работает, когда targetSdkVersion или compileSdkVersion равно 25.

Ответ 26

Я решил эту проблему, сделав следующее:

compileSdkVersion 26
buildToolsVersion "26.0.1"

compile 'com.android.support:appcompat-v7:26.0.1'
compile 'com.android.support:design:26.0.1'
compile 'com.android.support:cardview-v7:26.0.1'
compile 'com.android.support:recyclerview-v7:26.0.1'